2.2.1  Linguistic vs Ontological Instantiation 
Linguistic and ontological instantiation were 
introduced in (Atkinson and Kühne, 2003). Linguistic 
instantiation is the relationship between model 
elements on different levels of a multi-level meta-
modeling hierarchy. Linguistic instantiation usually 
describes meta-modeling relations between types and 
objects. In contrast, ontological instantiation defines 
the semantics of modeling constructs. Therefore, for 
each modeling level, an additional ontological 
instantiation relationship is defined that associates 
model elements of that particular meta-level to each 
other, according to a certain concern of the problem 
domain. In the case of MOF, the model elements on 
M1 are linguistic instances of their meta-elements on 
M2, however, a particular M1 (or M2) model element 
can also be an ontological instance of another element 
of the same M1 (or M2) level Although the MOF 
architecture does not facilitate both of these two 
meta-modeling dimensions equally, it does provide a 
mechanism for expressing ontological relationships 
by its reliance on stereotypes and profiles. Namely, 
stereotypes and profiles defined on M2 level express 
ontological instantiation relationships that can be 
flexibly used as extra annotation(s) on M1 model 
elements.
 Although this approach may be utilized to 
allow an ontological unification of nodes and edges, 
no practical solutions of this kind has been published 
yet. 
2.2.2  Multi-level Instantiation 
Provided that only two modeling levels are available, 
instantiation has to be interpreted between these two 
levels only. However, in a multi-level meta-modeling 
architecture, we may be able to use instantiation 
across multiple levels. These techniques can 
distinguish between two kinds of instantiation: 
shallow instantiation means that the information is 
defined on the n
th
 modeling level and it is used on the 
immediate instantiation (n+1)
th
 level, while deep 
instantiation allows defining the information on the 
n
th
 modeling level and use it on the (n+x)
th
 (x > 0) 
modeling level (Atkinson and Kühne, 2001). 
Although multi-level modeling solutions are getting 
more and more popular, these deep instantiation 
methods are rarely utilized. For example, MOF 
defines a four layer architecture, but it supports only 
shallow instantiation. This results in rigid, 
inconsistent relations between meta-types, types and 
objects, which is one of the reasons why node-like 
and edge-like elements are kept separate due to the 
lack of enough meta-levels. 
Having multi-level meta-modeling in mind, one 
needs to safeguard that each meta-level should be 
instantiable by some means of being able to add new 
attributes and operations to the existing models. 
There are two options available: one can either bring 
the source of the information along all model levels 
(and eventually use it wherever it may be needed) or 
one can add the source of that information directly to 
the model element where it is actually used. The 
concept of potency notion and dual field notion 
(Atkinson and Kühne, 2002) (Atkinson and Kühne, 
2001) were introduced as solutions of the problem. 
Here, elements within a model may not only be 
instances of some element in the meta-model above, 
but, at the same time, they may also serve as types to 
some other elements in the meta-level below. In other 
words, one assumes the existence of an unrestricted 
meta-model building facility through clabjects which 
is controlled only by the explicit definition of a 
potency limit allowing a preset number of meta-levels 
an element can be instantiated at. The only drawback 
of this solution is that the modelled elements will be 
forced to live until the attached non-negative numbers 
have been decremented, by each instantiation, to zero. 
Hence, the potency solution is both too liberal and too 
restrictive at the same time: on one hand, it is too 
liberal because at each meta-level the full potential of 
meta-model building facilities is available, thus an 
arbitrary number of new model elements can be 
injected into the model at will and without any 
potential restriction. It is definitely good so for 
design-time modeling, however it may wreak havoc 
in dynamic run-time instantiation if it is used in an 
uncontrolled fashion. On the other hand, it is too 
restrictive in its treatment of the number of meta-
levels a model element can be located at because the 
modeler must know in advance at which levels the 
information will be needed and set its potency value 
accordingly. In other words, instead of explicitly 
encoding the required nature of semantics vis-a-vis 
the instantiation constraints within the model itself 
and thus making the model agnostic to the artificial 
division line set between design-time and run-time 
modeling, potency notion simplifies it down to an 
integer number and thus positions itself as a pure 
design-time multi-level modeling approach. 
Moreover, potency notion favors nodes against edges 
due to its bias to clabject. Nevertheless, recent 
techniques such as Dual Deep Instantiation (DDI) 
(Neumayr et al., 2014) consistently extended the 
potency notion to edges via its application to the end-
points. Unfortunately, some limitations still remain to 
be overcome: firstly, since DDI defines edges by the 
endpoints it is non-trivial to extend it by edge-owned