AoU: ETAS_RTACAR_SM_OS_189

The ETAS_RTACAR_SM_OS 189 AoU requires that if the Disallow Schedule() optimization is enabled, no task uses the Schedule() API call.

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 ECUC configuration.

  2. Configuration Options Detection: Identifies Disallow Schedule() configuration options.

  3. Configuration Options Validation: Checks that the Disallow Schedule() value is consistent across all configuration files. When multiple entries are present and incompatible values are detected, manual verification is required.

  4. Result Reporting: Generates a result based on the analysis outcome.

Important

Automated Verification Scope

The current implementation detects the presence of Disallow Schedule() in the ECUC configuration but does not yet implement full automated verification of Schedule() API calls from tasks.

When the Disallow Schedule() option is disabled (the default value is assumed when it is not explicitly set in the ECUC ARXML configuration), the tool reports a pass result, indicating that the AoU is trivially satisfied.

When an enabled Disallow Schedule() option is detected, the tool reports a review result, requiring manual verification to confirm compliance with the complete AoU requirement.

ARXML Configuration Requirements

To enable this check, the OS ECUC configuration must be provided in AUTOSAR ARXML format. The tool analyzes:

  • Disallow Schedule() configuration options Disallow Schedule() option Enabled/Disabled

  • Multiple Disallow Schedule() configuration options to ensure configuration consistency

Rule Id

ETAS_RTACAR_SM_OS_189

Title

If Disallow Schedule() optimization is enabled, explicit calls to the Schedule() API function from tasks are not allowed.

Description

The rule verifies that if Disallow Schedule() optimization is enabled within the RTA-OS configuration, explicit calls to the Schedule() API function from tasks are not allowed.

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

The Disallow Schedule() optimization was not found or not enabled 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 enabled Disallow Schedule() option. Since the AoU constraint only applies when Disallow Schedule() option is enabled, the check passes. The AoU constraint is trivially satisfied. 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

Disallow Schedule() optimization is enabled in the ECUC configuration. The automated verification of the associated configuration constraints 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 enabled Disallow Schedule() options in the OS ECUC configuration, but the full automated cross-reference verification about Schedule() calls from tasks is not yet implemented. Manual verification is required. 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: Presence of Schedule() calls from tasks. Document your verification in your project’s safety documentation.

Id

id_003

Message

No ECUC configuration options were 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 ECUC configuration data. 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.

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 Disallow Schedule() option across multiple ARXML configuration files. This inconsistency prevents the tool from reliably determining the Disallow Schedule() 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 Disallow Schedule() option 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-arxml or --dir