While there are many papers making good use of metamodels and metamodelling, e.g. [9; 10; 12; 13; 17; 30; 44], Henderson-Sellers [21] has identified a number of problems resulting from inappropriate use of metamodelling. Here we summarize these concerns from the quality perspective.

Consequent upon the way that the term “metamodelling” is typically used in OMG products (meaning linguistic metamodelling), models that use domain-specific concepts within a single “metalevel’ are often regarded with suspicion if they are given the label of “metamodel”. Whilst such models may be described as ontological models (or even using ontological metamodelling approaches), it could be argued that this is really a label that permits the concurrent use of generalization and instantiation semantics within one model layer. Thus, for example, when Dube and Vangheluwe [14] discuss the abstract syntax of a modelling language for use in interface design, it would seem appropriate to evaluate it as if it were a (linguistic) metamodel. However, the classes they depict in their “metamodel” describe concepts in the SUS, e.g. Watch, Button, Time, Alarm. Such concepts would not appear to belong to the linguistic domain of the abstract syntax of a modelling language. It would seem more appropriate, therefore, to interpret their proposed “metamodel” as an M1 model and not as a model at the (OMG) M2 level. An alternative description of this model would, of course, be as an ontological model, ...

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.