R978 - modelint/shlaer-mellor-metamodel GitHub Wiki
R978 / M:Mc-1
Instance Initialization initializes the value of one or many Attribute
Attribute is initialized for zero, one or many Instance Initialization
A value must be supplied or otherwise determined for each Attribute of a newly created instance's Class. Since a Class must have at least one Attribute, at least one initialization value will always be required.
An Attribute may or may not belong to a Class whose instances are created during runtime. Only instances created at runtime are created using the Create Action.
Multiple create actions in the same or different Activities could create instances of the same Class. So the same Attribute could be initialized by multiple Create Actions. For example, conditional logic in an Activity may trigger different Create Actions on the same Class in a single Activity. More typically, instances of the same Class might be created in different states within the same or different Lifecycle State Models, Methods, or operations.
Formalization
Attribute Initialization.(Create action, Activity, Class, Domain) -> Instance Initialization.(Create action, Activity, Class, Domain)
Attribute Initialization.(Attribute, Class, Domain) -> Attribute.(Name, Class, Domain)
Merged attributes
Class, Domain