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)