What is a Model from Formal Perspective? *

28 Aug 2012

What is Model in domain of multi-level Modeling paradigm?
As we know a model is a abstract representation of a concept, which is usually illustrated by some objects and some arrows between these objects in Software Engineering. To say it precisely it is a kind of Nodes and some arrows between these nodes, in another word a Graph.
But what kind of graph a Model Is?
Model is a kind of Typed Graph. But what is a Typed Graph?
Typed Graph is a Kind of Graph which its nodes and arrows are instance of a Type. look at the picture bellow.

 

typed graph

 

This Picture shows a meta model of a General Model. In other word it is Typed Graph Meta-Model. From anothe perspective a model is simply a collection of Nodes and Edges for which assigned a type.

and are Type mappings(functions which map nodes and eadge to their coresponding types.)

 

So if we want to summaries it again Model=TypedGraph=Graph+Type maping+ Graph of Type.
But in the Multi-Level Modeling Terminology the Model term is used somehow vaguely to just referring to one level of the multi-level modeling concept.
Look at the picture bellow. It shows the concept of Meta-Modeling in four layers.

 

modeling levels

 

In this picture SSS, CCC are Structure and the Constraint defined in level 0 consequently. SS, CC are the same things for level 1 and S,C for level2. For level 3 there is no constraints defined and an instance is just including structure. Each structure together with Constraints defined in upper levels should satisfy the Constraints defined in level below it. For example SS+CC not only should be typed by the SSS but also should conform to the CCC too.


What is a commonplace in the terminology of the meta-modeling domain in that, level 2 by itself is considered as a model, while it is more precise to say that level two together with the SS (structure of level 1) while satisfies the constraint CC is actually a precise definition for an entity to be a model.

 

These four layers in multi-modeling environment also considered analogous to Instance, model, meta-model and meta-meta-model, which is, actually is not a precise definition as we discussed in previous paragraph(Picture bello):

 

models and levels

 

So model is not just level 2 :

Model = (S+C + Type Mapping + SS) while satisfies CC

This definition is shown again on the modeling hierarchy as bellow:

 

Modeling hierarchy and model

 

* this article is the result of a group discussion in McMaster weekly meetings, Thanks to zinovy diskin.