Summary
BA validation does not completely enforce the AS5506/3 Rev. A D.3 restrictions on external/internal conditions by component category and in modes context, nor the behavior-inheritance and replacement rules.
Mode bindings are absent from translated state models, and the active type/rules path primarily checks execute and dispatch conditions. Open issue #2279 overlaps the behavior of non-thread component categories but does not cover this complete rule set.
Reproduction
This issue comes from the source audit in ba/doc/conformance.md; no additional runtime reproduction was performed.
Expected behavior
Enforce the documented thread, subprogram, device, and mode-specific condition restrictions; preserve annex in modes applicability; and apply ancestor/descendant and subcomponent override rules consistently through the public BA access path.
Relevant code
Summary
BA validation does not completely enforce the AS5506/3 Rev. A D.3 restrictions on external/internal conditions by component category and
in modescontext, nor the behavior-inheritance and replacement rules.Mode bindings are absent from translated state models, and the active type/rules path primarily checks execute and dispatch conditions. Open issue #2279 overlaps the behavior of non-thread component categories but does not cover this complete rule set.
Reproduction
This issue comes from the source audit in
ba/doc/conformance.md; no additional runtime reproduction was performed.Expected behavior
Enforce the documented thread, subprogram, device, and mode-specific condition restrictions; preserve annex
in modesapplicability; and apply ancestor/descendant and subcomponent override rules consistently through the public BA access path.Relevant code
ba/org.osate.xtext.aadl2.ba/src/org/osate/xtext/aadl2/ba/validation/BehaviorAnnexValidator.java.ba/org.osate.xtext.aadl2.ba/src/org/osate/xtext/aadl2/ba/translation/DeclarativeToStrictTranslator.java.ba/org.osate.ba/src/org/osate/ba/analyzers/AadlBaRulesCheckersDriver.java.