Skip to content

Enforce LSER and ASER subprogram-call protocol restrictions 馃#3192

Description

@lwrage

Summary

The predeclared Behavior_Properties::Subprogram_Call_Protocol definition matches AS5506/3 Rev. A D.8, but validation does not enforce its LSER/ASER legality rules. LSER and ASER may not be combined with a synchronous called-subprogram type or with out/in-out parameters.

No BA or core validator check consuming Subprogram_Call_Protocol was found in the audited path.

Reproduction

This issue comes from the source audit in ba/doc/conformance.md; no additional runtime reproduction was performed. ba_example_007.aadl describes legal protocol usage in comments but does not provide negative legality coverage.

Expected behavior

For both LSER and ASER, report a provides-subprogram-access protocol association whose called subprogram is synchronous or has out/in-out parameters. Preserve HSER as the default and accept valid semisynchronous signatures.

Relevant code

  • ba/org.osate.ba.contrib/resources/properties/behavior_properties.aadl.
  • ba/org.osate.ba/src/org/osate/ba/analyzers/AadlBaRulesCheckersDriver.java.
  • ba/org.osate.ba/examples/standard_examples/ba_example_007.aadl.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions