As we saw in Chapter 2, XMIS has been proposed [8] as an infrastructural language for the models that we may need to manipulate in the context of methodology definition and usage, as shown in Figure 2.21. This means that these models are constructed of elements that are of the basic building blocks described by XMIS, i.e. by classes, attributes, objects, tuples, etc. This corresponds to the notion of ontological representation, as described in Section 2.2 (but not to the common usage of the word “ontology” in software engineering; see also Section 2.2), since XMIS establishes the ontology (in its philosophical sense) for the representation processes inherent to the modelling phenomena that we are describing.

XMIS clearly differentiates between the set of types that constitute the SUS (subject under study) and the modelling infrastructure. For example, Figure 3.15 shows how an invoice (the object :Invoice) is an instance of a class in the model (called Invoice) but at the same time is represented in the infrastructure domain by the class Object (of which :Invoice is an instance). It is pointed out [8] that this structure can be applied at any metalevel.


Figure 3.15: Dual instance-of relationships of an entity in the user data domain and its representation in XMIS (after [8])

Source: Gonzalez-Perez, 2005, copyright IEEE Computer Society. Reproduced ...

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.