R993 - modelint/shlaer-mellor-metamodel GitHub Wiki

R993 / 1c:1c-1

Multiple Local Create Action designates output reference to zero or one Facet Instantiation

Facet Instantiation is designated as output reference of zero or one Multiple Local Create Action


As opposed to delegated (asynchronous) creation, local (synchronous) creation completes within the context of the initiating Activity. Consequently, a reference to a newly created instance may flow out of the creation action. In the case of a Single Local Create Action, this is just a reference to the newly created instance. But in the case of a Multiple Local Create Action, one of the instantiated Classes must be designated as the one yielding an output instance.

A Multiple Local Create Action may or may not make use of this output.

Any given Facet Instantiation may or may not be the one selected for output.

Formalization

Facet Instantiation Reference.(Rnum, Class, Create action, Activity, Domain) -> Facet Instantiation.(Rnum, Class, Create action, Activity, Domain)
Facet Instantiation Reference.(Create action, Activity, Domain) -> Multiple Local Create Action.(Action, Activity, Domain)