AoU: ETAS_RTACAR_SM_OS_019 ************************** The ETAS_RTACAR_SM_OS_019 AoU requires that there is a complete mapping between events and the tasks that wait for them. Every ``OsEvent`` defined in the OS ECUC configuration must be referenced by at least one ``OsTask`` via an ``OsTaskEventRef`` entry. An event that is defined but never waited upon is either dead configuration or a latent logic error — a ``SetEvent`` call on such an event would silently have no effect, potentially hiding a synchronization defect. Events and the ``WaitEvent`` API are exclusively used by extended tasks. If the project does not use extended tasks at all, no events are declared and no ``WaitEvent`` calls are made, so the AoU is trivially satisfied. Verification Approach ===================== The verification is performed by analyzing the OS ECUC configuration files (ARXML) provided via the ``--os-arxml`` parameter or discovered in the project directory specified by ``--dir``. The tool performs the following steps: 1. **Configuration Loading**: Parses the ARXML files to extract the OS configuration, including task definitions, event definitions, and event references. 2. **Extended Task Detection**: Identifies tasks configured as extended tasks (tasks that reference events via ``OsTaskEventRef``). 3. **Scalability Class Validation**: Checks that the ``OsScalabilityClass`` parameter is consistent across all configuration files. If incompatible values are detected, manual verification is required. 4. **Result Reporting**: Generates one of the following results based on the analysis outcome. .. important:: Automated Verification Scope The current implementation **detects** the presence of extended tasks in the ECUC configuration but does **not yet implement full automated verification** of the event-to-task mapping specified in the AoU. When extended tasks are detected, the tool reports a **review** result, requiring manual verification to confirm compliance with the complete AoU requirement as stated in the :cite:t:`ETAS_SM`. ARXML Configuration Requirements ================================ To enable this check, the OS ECUC configuration must be provided in AUTOSAR ARXML format. The tool analyzes: - **Task definitions** (``OsTask`` containers) to identify extended tasks - **Event references** (``OsTaskEventRef``) to determine which tasks are extended - **Scalability class settings** (``OsScalabilityClass``) to ensure configuration consistency .. include:: ../rules/ETAS_RTACAR_SM_OS_019.rst See Also ======== - :ref:`os_command_options` for information on providing ARXML files via ``--os-arxml`` or ``--dir`` - :cite:t:`ETAS_SM` section on event management and the WaitEvent/SetEvent API pair - :cite:t:`AUTOSAR` specification for extended task scheduling and event ownership semantics