AoU: ETAS_RTACAR_SM_OS_102¶
The ETAS_RTACAR_SM_OS_102 AoU requires that all extended tasks are implemented as endless loops
around any calls to WaitEvent().
An extended task that is not structured as an endless loop may terminate unexpectedly. Calling
WaitEvent() outside an infinite loop means the task body executes only once: after the first
WaitEvent() returns, execution falls through the end of the task entry-point function and
the task terminates. This is a violation of the AUTOSAR OS model for extended tasks and may
cause undefined behaviour in safety-relevant systems.
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:
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 that all extended tasks are implemented as
endless loops around any calls to WaitEvent().
When extended tasks are detected, the tool reports a review result, requiring manual verification that:
Every extended task entry-point function contains an outer infinite loop (
while(1),for(;;), or equivalent).All calls to
WaitEvent()are reachable only from within that infinite loop.
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_102 |
|---|---|
Title |
All extended tasks are implemented as endless loops. |
Description |
This rule verifies that when extended tasks are used, all extended tasks are implemented as endless loops around any calls to WaitEvent(). |
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 all extended tasks are implemented as endless loops around any calls to WaitEvent() is not yet implemented. Manual verification is required to confirm that all constraints specified in the AoU have been met. |
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 automated verification that all extended tasks are implemented as endless loops around any calls to WaitEvent() is not yet implemented. Manual verification is required to ensure that every extended task entry-point function contains an outer infinite loop and that all reachable WaitEvent() calls lie strictly inside that loop. 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) For each extended task, locate the corresponding C entry-point function (the function name matches the ECUC task short-name). (3) Verify that the entry-point function body contains an outer infinite loop (while(1), for(;;), or equivalent). (4) Verify that all calls to WaitEvent() are reachable only from within that infinite loop. 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 all extended tasks are implemented as endless loops around any calls to WaitEvent(). |
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 implementation requirements and the WaitEvent API
AUTOSAR - Automotive Open System Architecture1 specification for extended task scheduling semantics