The execution model shall provide a flexible mechanism for instantiation of composite structures
Prototype implementation available
Based on an extension of CallOperationActionAction::doAction, and introduction of a new semantic strategy: CS_ConstructStrategy
If the called Operation is a «Create» operation, and it has no method, then the CS_ConstructStrategy is used to construct the composite structure instance
Using this prototype implementation, the Test Suite for instantiation of composite structures passes
Issues:
How to properly determine that an operation is a «create» operation?
Currently, the solution is implementation specific (Eclipse UML2)
How do we manage operation dispatching (i.e., a parent class has a constructor operation with a method. Should we execute it before performing default construction?)
TODOs:
When instantiating values for parts, the default construction strategy is systematically applied.
It should be used only if the type of the part has a «create» operation, and this operation has no method. If it is not the case, construction should follow conventions of the Alf to fUML mapping for an instance creation expression.
Start classifier behavior of classes constructed for parts
Account for default values when instantiating values for parts