CHAPTER 4

Problems with Traditional Approaches and Current Products

The basic assumption of object-oriented modelling is that an object is an instance of its type. This is matched by the strict metamodelling paradigm of the Object Management Group (OMG) in UML, MOF and SPEM, in which the four-level architecture of Figure 2.19 endorses the rule that this “instance-of” relationship between instance (object) and type is only permissible between a neighbouring pair of layers (e.g. between M1 and M2 or between M2 and M3). It is not permissible within any of the four layers and, conversely, no relationships other than instance-of are permitted between layers.

While the strict metamodelling approach adopted by the OMG has many benefits, it is most useful when only a single pair of layers is used. In the original versions of UML, for instance, that was the case and all was well. However, when an additional layer (either M3 or M0) is invoked, or when process models (which necessarily spread over three of the four layers) are integrated with a UML-style of modelling language, problems begin to emerge.

In this chapter, we first identify some of the problems flowing immediately from the adoption of a strict metamodelling hierarchy, as in the OMG suite of products, and then we focus specifically on the integration issues surrounding products and processes. Finally, we look at some more generic problems with the use of metamodels as exemplified by papers published in the software engineering ...

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.