Meta Meta Languages and Models

Meta Languages to define Languages and Meta Models to create Models

Meta, Metameta, and Metametameta Languages and Models

The Subject is part of the real world to be described by a Language or modelled by a model.

Meta, Metameta, and Metametameta Languages and Models

The Language or Model is an abstract representation of the real world.

Meta, Metameta, and Metametameta Languages and Models

The Meta Language or Meta Model is used to create languages or models.

Meta, Metameta, and Metametameta Languages and Models

The Metameta Language or Metameta Model is used to create meta languages or meta models.

Meta, Metameta, and Metametameta Languages and Models

The Metameta Language or Metameta Model is used to create meta languages or meta models.

Featured

Concepts

About Meta Meta Modelling

Login Form

Meta Modelling Levels

Meta Modelling Levels

The complete set of 'layers' involved with meta modelling and meta languages is shown in Figure 1.

Figure 1: Meta Modelling Levels

This is obviously a layered hierarchical model.

The lowest level is the 'Subject' (some people also call this an object). It is the real thing that is the subject of all the modelling effort, which can also be applied to other subjects (Figure 2).

Figure 2: Subject Layer

Above the Subject layer is a Model layer (Figure 3). The Model layer is a model, or summary, of the subject involving some form of abstraction. For example, if the subject is a person, a model could be a photograph, or it could be a computerized record of the person, held in a database. A model is of a specific subject.

Figure 3: Model Layer

Above the Model layer is a metamodel layer (Figure 4). Some people call this a metalanguage. This defines how a Subject is modelled; what characteristics are recorded and how they are recorded. To continue with the example of modelling a person, a metameta model specifies what should be in the model of a person. For a photograph, the metamodel may specifiy something like full face with no smile or things like spectacles, and a side face view, along with photograph metadata. For a record in a database, it may specifiy things like name, address, sex, date of birth, weight, height, highest level of education achieved, etc.

Figure 4: Meta Model or Language Layer

A metamodel contains examples of higher level things specified in a metametamodel, or metametalanguage (Figure 5). It is a high level of abstraction. A very common form of metamodel or metalanguage stipulates that a metamodel will be some combination of objects, properties and relationships. This is referred to as object-property-relationship (OPR) modelling, or an OPR language. Each metamodel is an instantiation of a metametamodel (or a metametalanguage). Most systems of modelling or system description languages can be shown to be an example of OPR modelling.

Figure 5: Meta Meta Model or Language Layer

Right at the top of the meta modelling pyramid is the concept of a metametametamodel (Figure 6). This is a single 'thing' or 'object'. Of course, if the word 'object' is used at both metametametalanguage and metametalanguage levels, the word means different things at thse different levels. In this sense it may be preferable to use Carnap's word 'thing'; he goes on to talk about lower levels as instantiations of his proposed 'thing-language'. In this sense, object property, and relationship are all examples of a 'thing'.

Figure 6: Meta Meta Meta Language Layer

Other articles discuss this hierarchy of layers in more detail and from a variety of perspectives.

Geoffrey Darnton, 2011.