2.1 MODELS AND MODELLING1

From a simplistic point of view (see [17]), a model is “a statement about a given subject under study (SUS), expressed in a given language”. This definition is similar to that given by [41] (“a set of statements about some system under study”) but it incorporates an explicit reference to the language in which the model is expressed. According to this definition, the sentence “today it is raining” is a model of our perceived real world, since it is a statement about a given subject (the perceived real world), expressed in a given language (English). Since today, as I look out of the window, it is raining, the statement expressed by the sentence can be evaluated as being true. Thus, the prospective model is valid. Of course, this is a trivial model of minimal utility. More complex models allow the representation of more complex real-world phenomena, thus permitting deeper insights. Indeed, we can say that the major reason for models is to be able to reason about the complexity of the SUS without having to deal with it directly (see also [26]). As a result, a suitable model would have to exhibit the appropriate structure for it to be useful. For this reason, we prefer to say that, for a statement about an SUS (expressed in a given language) to be a model, it needs to be homomorphic with the SUS that it represents. This means that the structure of the model and the structure of the SUS must coincide to some degree, and the operations that are possible on the ...

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.