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