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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions