R29 - modelint/shlaer-mellor-metamodel GitHub Wiki

R29 / 1:1c

Class is abbreviated by zero or one Alias

Alias abbreviates name of one or many Class


Since an Alias is unique to the Class that it abbreviates, it cannot be used elsewhere. That said, the same abbreviated name value could be used in distinct Domains, but these would be different Alias instances.

Given two Domains, for example, Computers and Fruit with the class Apple in each, you might re-use the alias AP for each of the two Apple classes. But you cannot use AP for both classes Apple and Applet in the Computer domain.

Formalization

Alias.(Class, Domain) -> Class.(Name, Domain)