A set of definitions for MDE
The core organization of MDE can be captured by a simple set of definitions:
Definition 1. A directed multigraph G = (NG, EG, GG) consists of a set of distinct nodes NG, a set of edges EG and a mapping function ΓG : EG → NG x NG
Definition 2. A model M = (G, ω, m) is a triple where:
- G = (NG, EG, ΓG) is a directed multigraph
- ω is itself a model, called the reference model of M, associated to a graph Gω = (Nω, Eω, Gω)
- μ : NG ∪ EG → Nω is a function associating elements (nodes and edges) of G to nodes of Gω (metaElements)
In most technologies, a three level engineering organization has been choosen (see technical spaces).
In MDE, the following is usually assumed:
Definition 3. A metametamodel is a model that is its own reference model (i.e. it conforms to itself).
Definition 4. A metamodel is a model such that its reference model is a metametamodel.
Definition 5. A terminal model is a model such that its reference model is a metamodel.
The three last definitions may be drawn as follows:
The objective now is to define the possible usages of a model. Consequently, in all the following, model will mean “terminal model”.
Definition 6. A system S is a delimited part of the world considered as a set of elements in interaction.
Definition 7. A model M is a representation of a given system S, satisfying the substitutability principle (see below).
Definition 8. (Principle of substitutability). A model M is said to be a representation of a system S for a given set of questions Q if, for each question of this set Q, the model M will provide exactly the same answer that the system S would have provided in answering the same question.