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:
Configuration Loading: Parses the ARXML files to extract the OS configuration, including task definitions and their properties.
Extended Task Detection: Identifies tasks configured as extended tasks (tasks that reference events via
OsTaskEventRef).Scalability Class Validation: Checks that the
OsScalabilityClassparameter is consistent across all configuration files. If incompatible values are detected, manual verification is required.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 (
OsTaskcontainers) to identify extended tasksEvent references (
OsTaskEventRef) to determine which tasks are extendedScalability class settings (
OsScalabilityClass) to ensure configuration consistency
Rule Id |
ETAS_RTACAR_SM_OS_103 |
|---|---|
Title |
The use of extended tasks does not lead to a deadlock in the system. |
Description |
This rule verifies that the use of extended tasks does not lead to a deadlock in the system. |
Message Description¶
Id |
id_000 |
Message |
Issue detected while executing the verification. |
Kind |
Open |
Level |
None |
Description |
An internal exception occurred during the execution. This can happen if there are insufficient resources available on the host machine, or if the ARXML configuration files cannot be properly parsed. For more details, please consult the RTA-SQF log file. |
How To Fix |
Restart the command to exclude any internal exceptions. Verify that the ARXML files are well-formed and accessible. Alternatively, please contact ETAS GmbH support for assistance. When reporting the error, include a sample configuration and command line that reproduces the issue. |
Id |
id_001 |
Message |
No extended tasks were detected in the ECUC configuration; the AoU constraint is satisfied by default. |
Kind |
Pass |
Level |
None |
Description |
The analysis of the OS ECUC configuration did not detect any extended tasks. Since the AoU constraint only applies when extended tasks are present, the check passes trivially. The check is limited to the scenario(s) documented in the RTA-SQF User Manual. Please refer to the manual for more information. |
How To Fix |
Everything is in order. No action is required. |
Id |
id_002 |
Message |
Extended tasks were detected in the ECUC configuration. The automated verification that the use of extended tasks does not lead to a deadlock in the system is not yet implemented. Manual verification is required to confirm that no circular wait conditions exist among extended tasks, and that all usages of delayed task APIs (ActivateTaskAsyn, SetEventAsyn) reference tasks assigned to the same core as the calling context. |
Kind |
Review |
Level |
None |
Description |
The tool detected one or more extended tasks in the OS configuration (tasks that reference events via OsTaskEventRef), but the full automated deadlock analysis is not yet implemented. Manual verification is required to ensure that no circular wait conditions exist among extended tasks waiting on events, and that all usages of the delayed task APIs (ActivateTaskAsyn, SetEventAsyn) only reference tasks assigned to the same core as the calling context. The check is limited to the scenario(s) documented in the RTA-SQF User Manual. Please refer to the manual for more information. |
How To Fix |
Manually verify the following: (1) Identify all extended tasks in your OS configuration. (2) Review the event-dependency graph of the extended tasks to exclude circular wait conditions — ensure that 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. (3) Identify all usages of the delayed task APIs (ActivateTaskAsyn, SetEventAsyn) and verify that the referenced tasks are assigned to the same core as the calling context. Document your verification in your project’s safety documentation. |
Id |
id_003 |
Message |
No ECUC configuration was found. Manual verification is required to confirm that all constraints specified in the AoU have been met. |
Kind |
Review |
Level |
None |
Description |
No OS ECUC configuration was found in the provided ARXML files or project directory. This may occur if the –os-arxml parameter was not specified and no ARXML files were found in the project directory (–dir), or if the ARXML files do not contain OS configuration data (OsTask containers). Manual verification is required to ensure compliance with the AoU constraint. The check is limited to the scenario(s) documented in the RTA-SQF User Manual. Please refer to the manual for more information. |
How To Fix |
Verify that ARXML files containing the OS ECUC configuration are provided via the –os-arxml parameter or are present in the project directory specified by –dir. If OS configuration is not available in ARXML format, manually verify that no circular wait conditions exist among extended tasks and that all usages of delayed task APIs (ActivateTaskAsyn, SetEventAsyn) reference tasks assigned to the same core as the calling context. |
Id |
id_004 |
Message |
Incompatible values were detected for {0} param. Manual verification is required. |
Kind |
Review |
Level |
None |
Description |
The tool detected incompatible values for the OsScalabilityClass parameter across multiple ARXML configuration files. This inconsistency prevents the tool from reliably determining the OS configuration state. Manual verification is required to resolve the configuration issue and confirm compliance with the AoU constraint. The check is limited to the scenario(s) documented in the RTA-SQF User Manual. Please refer to the manual for more information. |
How To Fix |
Review the OS configuration files and ensure that the OsScalabilityClass parameter has a consistent value across all ARXML files. Resolve any inconsistencies in the configuration. After correcting the configuration, re-run the RTA-SQF tool to verify the constraint. |
See Also¶
os options for information on providing ARXML files via
--os-arxmlor--dirRTA-CAR V12.12.0 Safety Manual5 section on extended task deadlock prevention
AUTOSAR - Automotive Open System Architecture1 specification for extended task scheduling semantics