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)