R980 - modelint/shlaer-mellor-metamodel GitHub Wiki
Attribute Initialization is an Explicit Initialization, Default Initialization or Reference Initialization
A newly created instance requires an initial value for each Attribute of its Class. Depending on the attribute and the modeler's intentions, these values can be obtained in various ways.
Explicit Initialization is available for any non-referential attribute. Here the modeler specifies the scalar value to apply as part of the Creation Action.
Alternatively, the modeler may rely on a default value which can be obtained in on of three ways. If the attribute specifies an initial default value (typically shown on the class diagram), this value is applied. Otherwise, the default value specified by the attribute's Type is used. This can be a static value, such as 0
for a Counter type, or a default selector that selects a new value, such as Nominal.Next(), which generates the next available unique number.
For referential attributes, the value is determined systematically by the MX domain given Attribute References and related instances provided on R988.
<subclass>.(Create action, Activity, Attribute, Class, Domain) -> Attribute Initialization.(Create action, Activity, Attribute, Class, Domain)