All we have learned about models and modelling applies equally to metamodels and metamodelling. However, before investigating in the next few chapters how metamodels are used, it is useful to outline here some of the common interpretations regarding the relationships between models and metamodels, as well as between methods and endeavours.

We have already shown that classification abstraction is a useful mechanism for these pairing linkages. Using object-oriented terminology, classification abstraction uses the generalization relationship, which is a modelling embodiment of set theory (or more deeply, category theory e.g. [43]) which leads to the notion of type-instance. In traditional object orientation, this is often regarded as an allocation of the “set” and the members of that set to two different metalevels, as is done for instance in the OMG four-level architecture (Figure 2.19), which uses strict metamodelling, defined by Atkinson [1;2] as a kind of modelling across multiple layers that uses only “instance-of” relationships between layers. Thus classification abstraction has gained a superiority over other kinds of abstraction in the OMG/UML/MOF/MDA world. Consequently, there are many e.g. [27; 32; 37] that use the nomenclature of “abstraction levels” for the four layers of Figure 2.19, stating that each layer is “at a higher level of abstraction” than its predecessor.

Figure 2.19: The OMG four-layer hierarchy (after [ ...

Get Metamodelling for Software Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.