R23 - modelint/shlaer-mellor-metamodel GitHub Wiki
R23 / 1:M
Attribute Reference formalizes exactly one Class Reference
Class Reference is formalized by one or many Attribute Reference
The reference from an Attribute to an Identifier Attribute is associated with a single Relationship. Now that same Attribute may refer to more than one Identifier Attribute, and in so doing, result in multiple Attribute References, but each Attribute Reference is formalizing only one Relationship.
Consider the case where an Attribute in an Association Class refers simultaneously to each participating Class in the Association.
images/class-attribute-subsystem/R23-10.png
In the example above we see that even though the same Attribute is the source of two Attribute References, each Attribute Reference formalizes only one Relationship, which in this case, happens to be the same Relationship.
A given Class Reference will be formalized by a single Attribute Reference when the target Identifier is a single attribute Identifier. If the Identifier has multiple component Identifier Attributes, an Attribute Reference for each component will be required.
images/class-attribute-subsystem/R23-20.png
Formalization
Attribute Reference.(Ref, From class, To class, Rnum, Domain) -> Reference.(Ref, From class, To class, Rnum, Domain)