R151 - modelint/shlaer-mellor-metamodel GitHub Wiki
R151 / Generalization
Formalizing Class Role is a Subclass, Referring Class or Association Class
The formalization method varies for each type of Relationship.
A Generalization is formalized using the Subclass role where the Subclass refers to the Superclass.
A non-associative Association (one formalized without an Association Class) is formalized by designating one of the participating classes as the Referring Class. This class refers to the Class at the opposing Perspective.
And, in an associative Association, the Association Class is designated as the formalizing role referring to the Class on each Perspective.
Formalization
Subclass.(Name, Rnum, Domain) -> Formalizing Class Role.(Class, Rnum, Domain)
Referring Class.(Class, Rnum, Domain) -> Formalizing Class Role.(Class, Rnum, Domain)
Association Class.(Class, Rnum, Domain) -> Formalizing Class Role.(Class, Rnum, Domain)