R977 - modelint/shlaer-mellor-metamodel GitHub Wiki

R977 / 1c:Mc-1

Single Local Create Action creates in zero or one Non Deletion State

Non Deletion State is initial by zero, one or many Single Local Create Action


If an instance of a Class defining a Lifecycle is created, the action must specify an initial state.

Any given State may or may not be initial in any number of Single Local Create Actions.

See R988 for an explanation of why the initial state must be a Non Deletion State.

Formalization

Create In State.(Create action, Activity, Domain) -> Single Local Create Action.(Action, Activity, Domain)
Create In State.(State, Class, Domain) -> Non Deletion State.(Name, State model, Domain)

Class {R977c}

Class == /R997/Single Local Create Action/R994/R995/Class.Name

The Non Deletion State must be defined in the Lifecycle of the same Class as the one that is being instantiated by the Single Local Create Action.

The Non Deletion State must be part of a Lifecycle and not an Assigner. This is enforced by the Class attribute reference to State model in Create In State