Closed bcbrusse closed 4 years ago
Confirmed.
This appears to be due to a change in the semantics of AADL instance model traversal where in the current version we encounter the connections and subcomponents possibly multiple times.
Solution is to guard addition of new connections or subcomponents by checking that a elements with the same model reference have not already been added.
Fixed by #26
This is deeper than first appears. When traversing the OSATE declarative model the methods that get the connections always return the base connection regardless if they're called in context of the refined component. Thus, we miss the refinements and do not generate all of the necessary connective assertions. The only way I've found to get the refinements is by traversing the instance model. Need to redesign the means of generating the connection assertions using the instance model.
Fixed by #29.
I'm having issues running agree when I refine a subcomponent type that extends another component. See the attachment for 4 simple models that clarify my issue.
refinement_test.zip