AoU: ETAS_RTACAR_SM_OS_103 ************************** The ETAS_RTACAR_SM_OS_103 AoU verifies that the use of extended tasks in the RTA-OS configuration does not lead to a deadlock in the system. Extended tasks in AUTOSAR OS are tasks that can use the ``WaitEvent()`` service to enter a waiting state, releasing the processor while waiting for an event to occur. Because extended tasks can block waiting for events set by other tasks, care must be taken to ensure that no circular wait conditions exist that could cause a permanent system deadlock. 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 and their properties. 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 deadlock prevention constraints specified in the AoU. When extended tasks are detected, the tool reports a **review** result, requiring manual verification that: - No circular wait conditions exist among extended tasks — no task A waits for an event that only task B can set, while task B waits for an event that only task A can set. - All usages of the delayed task APIs (``ActivateTaskAsyn``, ``SetEventAsyn``) reference tasks assigned to the same core as the calling context. This manual verification must confirm compliance with the complete AoU requirement as stated in the RTA-CAR Safety Manual. 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_103.rst See Also ======== - :ref:`os_command_options` for information on providing ARXML files via ``--os-arxml`` or ``--dir`` - :cite:t:`ETAS_SM` section on extended task deadlock prevention - :cite:t:`AUTOSAR` specification for extended task scheduling semantics