Facet - modelint/shlaer-mellor-metamodel GitHub Wiki

Many real world entities are modeled directly with a single Class. But if a Class participates in one or more Generalizations, the corresponding real world entity is viewed through a number of facets.

For example, a real world entity such as an airplane approaching an Airport is understood to be simultaneously an Aircraft and a Fixed Wing Aircraft. Both the superclass Aircraft and the subclass Fixed Wing Aircraft are Facets of the same real world entity. The same principle, of course, applies to abstract, policy and any other entity of interest in the modeled subject matter.

The key principle is that one thing in the domain of interest is modeled as multiple Classes tied together in one or more Generalizations.

A Facet then is simply the incorporation of a Class into a Generalization as either a Superclass or a Subclass.

Identifiers

  1. Class + Rnum + Domain

Attributes

No non-referential attributes