R991 - modelint/shlaer-mellor-metamodel GitHub Wiki

R991 / M:Mc-1

Multiple Create Action instantiates one or many Facet

Facet is instantiated by zero, one or many Multiple Create Action


A Multiple Create Action creates an instance of each Class in a Lineage, which just happens to be the definition of a Facet. In any Lineage there are always at least two Facets (a Superclass and a Subclass).

Any given Facet may or may not be part of a Lineage instantiated by any Multiple Create Actions.

Formalization

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

Constraint

Both the Facet and Multiple Create Action must be defined in the same Domain, so the Domain referential attribute value references both participating classes.