<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Feature-based Comparison of Melanee and MetaDepth</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ralph Gerbig</string-name>
          <email>gerbigg@informatik.uni-mannheim.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Colin Atkinson</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juan de Lara</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esther Guerra</string-name>
          <email>Esther.Guerrag@uam.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Juan.deLara</institution>
          ,
          <addr-line>Esther.Guerra</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidad Autonoma de Madrid</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Mannheim</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Melanee and MetaDepth are two deep modeling tools based on a common set of core concepts such as the orthogonal classi cation architecture and deep instantiation. However, at the present time, they have di erent foci. MetaDepth is a textual modeling tool focusing on the needs of software developers while Melanee is a graphical modeling tool focusing on modeling language creation. The question arises, therefore, as to how di erent/similar the tools actually are and how their features relate to each other. This paper addresses this question by comparing the two tools and investigating the extent to which the modeling features they o er to users overlap.</p>
      </abstract>
      <kwd-group>
        <kwd>Multi Level Modeling</kwd>
        <kwd>Deep Modeling</kwd>
        <kwd>Melanee</kwd>
        <kwd>MetaDepth</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Melanee [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and MetaDepth [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] are two of the maturest, publicly available
deep modeling tools explicitly built on the notions of orthogonal classi cation
and deep instantiation. Over time they have evolved to specialize on two
different aspects of model language engineering and use. MetaDepth is
primarily aimed at supporting programmers who want to create deep models using a
textual syntax and write executable code against them. Melanee, on the other
hand, is primarily aimed at modelers who want to create and use domain
speci c languages in multiple formats such as table, text and graph-based diagram.
Execution of these models is not the main focus of Melanee at the moment, but
constraint and action languages are under development at the time of writing.
      </p>
      <p>
        As far as the data modeling features of the two tools are concerned, they seem
to be very similar despite their focus on di erent target audiences. They are both
based on the orthogonal classi cation architecture [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and both support the core
notions of clabjects [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and potency [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However, they do so in di erent ways,
with some distinct concepts and semantics. Modelers who wish to develop deep
models using these concepts are therefore faced with the problem of working
out precisely how the tools di er and which tool best suits their needs. The
goal of this paper is therefore to clarify the similarities and di erences between
Melanee's and MetaDepth's underlying modeling approaches as well as the set
of features they o er for users. The result of the paper is a list of deep modeling
features, presented using the tools in di erent modeling scenarios found in the
literature, and a discussion of the relevance of these features for speci c modeling
goals.
      </p>
      <p>The paper is structured as follows. The next section clari es the terminology
used in this paper since the two tools sometimes use di erent terms for the same
concept. This is followed by a comparison of the tools' modeling architectures
(Section 3), support for deep instantiation (Section 4), handling of attributes
and edges (Section 5) and inheritance rules (Section 6). The paper then presents
a small summary of the results of the comparison in a table (Section 7) and a
discussion of their signi cance. Finally, Section 8 concludes with some closing
remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Terminology</title>
      <p>When comparing two modeling tools that sometimes use a di erent vocabulary
for similar concepts, it is important to de ne the terminology used. Hence, this
chapter highlights the terminological di erences in the two tools' avors of deep
modeling and explains which terminology is adopted for the remainder of the
paper.</p>
      <p>The three core terms used to refer to modeling content in MetaDepth are
Model, Node and Edge, while Melanee uses the terms Level, Entity and
Connection to refer to the same basic concepts. Of these, the term Model probably has
the potential to cause the most confusion. In MetaDepth a Model is the
container for all model elements in a single classi cation level, whereas in Melanee
the term Model, or more speci cally Deep Model, encompasses all classi cation
levels (i.e. models). In Melanee, the term used to refer to a container for content
at a given ontological Level is Level. To avoid confusion, in the remainder of the
paper we use the term Level to refer to container for model content at a given
ontological level, and Model for the union of all ontological levels.</p>
      <p>There are also di erences between Melanee and MetaDepth in the terms
used to refer to level content. In particular, model elements representing
classes/objects in the problem domain are named Nodes in MetaDepth and
Entities in Melanee, while model elements representing links/associations are called
Edges in MetaDepth and Connections in Melanee. To avoid confusion, in the
rest of the paper we use the MetaDepth terms { namely, Node and Edge.
Both tools regard Nodes and Edges as Clabject, and employ the term potency to
describe over how many subsequent classi cation levels a clabject can be
instantiated. Hence, these two terms (Clabject and potency ) are used in the following
without ambiguity.</p>
      <p>Another di erence of terminology between MetaDepth and Melanee is the
use of attribute and eld to refer to the same thing. Melanee uses the term
Attribute, while MetaDepth uses Field. In the following, the term Attribute is
used as it is widely used in the UML technology space. Finally, the MetaDepth
literature uses a technical term, linguistic extension, for introducing new types
into a model at levels which are not the most abstract. We also use this term
with the same meaning in the rest of this paper.</p>
    </sec>
    <sec id="sec-3">
      <title>Modeling Architecture</title>
      <p>
        Figure 1 shows canonical representations from the literature of the MetaDepth
architecture (Figure 1(a)) and Melanee architecture (Figure 1(b)) side-by-side.
The two gures show that both approaches are based on the orthogonal
classi cation architecture (OCA) in which one level-spanning meta-model classi es
the content of the ontological levels from a linguistic (i.e. tool) point of view. In
the MetaDepth version of the OCA (Figure 1(a)), the linguistic meta-model
is displayed on the left of the gure labeled Linguistic meta-model , and the
ontological levels are arranged vertically to the right and use the @-notation to
indicate their potency. The Melanee version of the OCA (Figure 1(b)) displays
the linguistic meta-model at the top of the gure labeled L2, while the ontological
levels are arranged horizontally and are labeled using the O pre x, e.g. O0. The
Melanee example additionally shows the real world which is modeled at level L0.
This real world exists in the MetaDepth architecture too but is not displayed
in Figure 1(a). In both architectures, model elements are not only classi ed by
their linguistic types but can also be classi ed by an ontological type residing
at a higher ontological level. Multiple ontological classi cation is not allowed in
MetaDepth but is allowed Melanee. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], however, a mechanism is presented
for retyping a clabject with respect to several other clabjects after creation from
one ontological type.
      </p>
      <p>Linguistic meta-model
Type
potency:int
supers *
*
lcag fceO
iltoo tan
on isn* Instance
Clabject</p>
      <p>*
Field
(a)</p>
      <p>Task
name@1: String
start: Date
iiifttssccaegnnu»O snuEabmvjaeelcu=ta“:etSivoiotannrnils:nuttoaTgalnoaticgsoeikcnOa”fl @1 LL12
n
li
«</p>
      <p>ionnsttoalnocgeicOafl @0
exam: Evaluation
subject=“Maths”
start=“22/10/12”</p>
      <p>L0</p>
      <p>Level
* Clabject
content potency
O0</p>
      <p>O1</p>
      <p>Task2
name1:String
start2:Date
???</p>
      <p>Element
name</p>
      <p>Feature
* feature durability</p>
      <sec id="sec-3-1">
        <title>Evaluation1</title>
        <p>name0:String=evaluation
start1:Date
subject1:String</p>
        <p>Evaluation
(b)
Method
Attribute
mutability
O2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Exam0</title>
        <p>subject0:String=Maths
start0:Date=22/10/13</p>
        <p>It can be observed that both linguistic meta-models share the concept of
Clabject which is a concatenation of the words Class and Object. This term re ects
the type instance duality of model elements residing in the middle classi cation
levels. They are at the same time instances of their types at the ontological
level above and types for their instances one ontological level below. In the
MetaDepth version of the OCA, this dual nature of clabjects is explicitly
modeled by de ning Clabject as a subclass of both Type and Instance.</p>
        <p>For one ontological type to conform to another in these architectures, certain
conditions have to be ful lled by the instances. The set of attributes of the
instance has to conform to the set of attributes de ned by the ontological type,
the connection cardinalities de ned by the ontological type have to be satis ed
by ontological instances, and the rules for potency have to be satis ed. These
three criteria are the same in MetaDepth and Melanee.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Deep instantiation</title>
      <p>Melanee and MetaDepth are both based on deep instantiation. MetaDepth
allows a potency for levels, clabjects, and elds to be con gured while Melanee
allows potencies to be de ned for clabjects, operations, attributes and their
values. The fact that levels do not have potencies in Melanee has the advantage
that an unlimited number of classi cation levels can be de ned without thinking
of the deepness of a deep model when assigning a potency to the initial classi
cation level. However, it has the disadvantage that potencies have to be de ned for
each clabject in the level. Futhermore, MetaDepth allows models (i.e. levels)
to be imported into other models for reuse. In Melanee only level content such
as clabjects and packages can be linked.</p>
      <p>The linguistic meta-model element, Operation, shown in the linguistic
metamodel of Melanee in Figure 1(b) is not available in MetaDepth. Hence, in
MetaDepth only attributes can be added to clabjects.</p>
      <p>
        Potencies facilitate deep instantiation [
        <xref ref-type="bibr" rid="ref10 ref8">8, 10</xref>
        ] by expressing the deepness of a
model element's instantiation tree, i.e. how many subsequent ontological levels
it can in uence through its classi cation tree depth and through the existence
and values of attributes over that tree. However, there are di erences in the way
Melanee and MetaDepth de ne potency for model elements. In MetaDepth
the potency is initially associated with levels as indicated in Figure 1(a) and
then applied to the level content, i.e. clabjects and attributes. In other words,
the default value for clabject potencies in MetaDepth is the potency of the
level. Attributes inherit their default potency from their containing clabjects.
Clabjects can have a potency di ering from their level's potency, but this has
to be explicitly stated. On the contrary, in Melanee, the potency is explicitly
de ned for each clabject and attribute as shown in Figure 1(b).
      </p>
      <p>The rules for potency reduction during instantiation are identical for Melanee
and MetaDepth. Instances always have a potency that is one lower than the
potency of their type. Model elements with a negative potency cannot exist,
and so, model elements with a potency value 0 cannot be instantiated. They
therefore correspond to concepts such as objects and slots, when compared to
the UML technical space.</p>
      <p>Both tools allow instantiation over an arbitrary number of levels using
socalled star potency. When instantiating a model element with star potency, the
instances can have a star potency themselves or a potency with a non-negative
Integer value. This is an advantage when de ning frameworks in the form of a
modeling language for instantiation. In such a scenario, a modeler often does not
know in what environment the framework will be used and thus cannot de ne
appropriate constraints on the instantiation of the provided types.</p>
      <p>
        Strict meta-modeling [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] requires each instance to have a type exactly one
level above. This may lead to identity instantiations where clabjects are
instantiated at each ontological level without adding additional information, just for
the pure reason of supporting the instantiation of further elements at the level
below. To overcome this problem, MetaDepth o ers a special feature
exclusive to the tool called leap potency [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. If a type is assigned leap potency n,
then instances of the type can be created n levels below, eliminating the need
to instantiate the type at intermediate levels.
      </p>
      <p>Linguistic extension, the ability to add new types at any intermediate level
without being classi ed by an ontological type, is supported by both tools.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Attributes and Edges</title>
      <p>There are some signi cant di erences between MetaDepth and Melanee when
it comes to the de nition of attributes and edges. In MetaDepth an attribute
does not have to be present (repeated) at all intermediate levels. The only level
at which an attribute is mandatory is the lowest level, where it plays the role
of a slot. However, attributes can also be added to intermediate levels to hold
default values. In Melanee, an attribute has to be present throughout the whole
instantiation tree of a type. Melanee, in contrast to MetaDepth, allows
nergrained control of attributes by assigning a value potency (mutability ) to them
in addition to the attribute potency (durability ). The durability de nes over how
many subsequent levels an attribute can exist (i.e. endure) and the mutability
de nes over how many levels the value of an attribute can change. Together
they allow modelers to capture precise details about the ownership, visibility
and changeability of attributes across classi cation levels, akin to features such
as tags, tag values, statics variables and constraints in the UML space. For
example it is possible to de ne that an attribute belongs only to the type facet
of a clabject and thus is not derived by its instances (by assigned it durability 0),
or that an attribute's default value de ned at the class level cannot be changed
by its instances (by assigning it mutability 0).</p>
      <p>MetaDepth o ers richer functionality than Melanee when it comes to
connecting clabjects with each other. Melanee only allows edges to be represented
by connection classes, where each Edge is a fully edged clabject containing
attributes, operations and connection ends identifying the connected clabjects.
MetaDepth goes beyond this by also allowing edges to be represented by simple
references which are essentially attributes whose value is a reference to another
clabject.</p>
      <p>
        Both approaches support connection diversi cation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] as they allow
connection ends / reference-names to be renamed at the instance level. Melanee allows
edges to represent containment and aggregation as well as basic associations,
whereas MetaDepth is only aware of basic associations. Also, MetaDepth
does not allow clabjects to contain other clabjects like Melanee.
      </p>
      <p>MetaDepth supports deep references (Figure 2) which are not available in
Melanee. Deep references help when nodes need to be connected but the direct
types are not known at the time of modeling. In Figure 2, for example, a Page</p>
      <sec id="sec-5-1">
        <title>Presentation view</title>
        <p>Page</p>
      </sec>
      <sec id="sec-5-2">
        <title>Component view</title>
        <p>* C omponent
p1: Page</p>
        <p>mapTable:
TableVisualizer</p>
        <p>@1
TableVisualizer: …</p>
        <p>JavaScript</p>
        <p>DEEP
LANGUAGE
DEFINITION</p>
        <p>DEEP
LANGUAGE</p>
        <p>USAGE</p>
        <p>DEEP
LANGUAGE</p>
        <p>USAGE
instance shall be connected with a Component instance. Component however is
instantiated at one more level in contrast to Page resulting in potency 0 Page
instances being connected to indirect potency 0 instances of Component. In the
example Component is instantiated as TableVisualizer . The Page instances shall be
connected with instances of this direct instance of Component. Deep references
in MetaDepth support the creation of such references whose direct type is not
currently known. By assigning @0 to the reference between Page and Component
it is declared that Page instances shall be connected with indirect Component
instances of potency 0.</p>
        <p>
          The multiplicity (cardinality) semantics of MetaDepth restricts the number
of instances of a connection at the level below. Each instance then de nes its own
multiplicity for the following level. In Melanee, the multiplicity constraint of the
type level is satis ed if the sum of the multiplicities of all connection instances
is in the range of the multiplicity de ned at the type level. Hence, a
multiplicity constraint not only constrains the immediate level below but all following
ontological classi cation levels. Approaches providing ner grained control of
multiplicity to Melanee are also feasible as described in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>Enumerations can be de ned in both Melanee and MetaDepth. Melanee
allows an enumeration to be de ned in a deep model and then used by clabjects
across all classi cation levels. MetaDepth de nes enumerations within levels
which can then be used at all subsequent levels.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Inheritance at intermediate levels</title>
      <p>Melanee and MetaDepth follow similar rules concerning inheritance. Subtypes
must have a potency equal to or higher than their supertype. Attributes can be
repeated in subtypes in order to override values de ned in supertypes.
Inheritance relationships can exist at all levels including intermediate levels and the
most concrete level. Hence, inheritance works for both type and instance facets
of clabjects, enabling a sort of prototype-based modelling. Moreover, multiple
inheritance is supported by both approaches.</p>
      <p>When it comes to typing of participants in an inheritance relationship
Melanee and MetaDepth di er. Unlike MetaDepth, Melanee allows supertypes
g
EmployeeType OnlineMarketing : C i v i l S e r v a n t f
name="Online Marketing " ;
(a)
(b)
which do not have an ontological type. MetaDepth always forces a supertype
to have an ontological type which is compatible with the ontological type of its
subtypes. Compatible means that the ontological type of the supertype has to be
equal to, or a supertype of, the ontological type of the subtype. Hence, the
Melanee inheritance example shown in Figure 3(a) is not allowed in MetaDepth. To
make the example valid in MetaDepth CivilServant would have to be assigned
EmployeeType as its ontological type as shown in the MetaDepth version of the
example in Figure 3(b).</p>
      <p>This restriction prevents the de nition of abstract supertypes with a potency
of 0 if the subtypes have ontological types in MetaDepth. In Melanee this
technique is commonly used to represent abstract classes, especially in the context
of the power type pattern. In MetaDepth, an abstract class always has to be
ontologically typed and have a potency one less than the potency of the
ontological type. In most cases this new potency is di erent to 0 for instances residing
in middle classi cation levels. To overcome this problem the abstract keyword is
introduced in MetaDepth's textual syntax as shown in Figure 3(b).</p>
      <p>The di erence between MetaDepth's programming language orientation
and Melanee's structural modeling orientation can be seen in the example in
Figure 4. MetaDepth does not allow inheritance in the middle level of the
example where the supertype (A1 ) is an ontological instance of a di erent
ontological type, A, to the subtype (B1 ), which is of type B. The problem is that A
and B are not related by inheritance at the top ontological level. MetaDepth
prevents this because it is possible that a constraint written on A is applied
to instances of B in such a model as shown in Figure 4. Such behavior is not
easily foreseen by programmers and is thus prohibited in MetaDepth in favor
of simpler and more reliable constraint de nition. Melanee, however would
alA1: A</p>
      <p>B1: B
a: A1</p>
      <p>
        b: B1
low such a situation since B could be assumed to be a subtype of A in a case
where the sets of instances are overlapping and hence it is correct to have the
same constraint also applied to instances of B. Melanee's reasoning services [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
could even discover an inheritance relationship between A and B based on their
property sets.
      </p>
      <p>In addition to pure generalizations as supported in MetaDepth, Melanee
adds the ability to de ne generalization sets which can mark the instance set as
complete/incomplete and overlapping/disjoint. Furthermore, names (a.k.a
discriminants) can be given to these generalization sets.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Comparison Summary</title>
      <p>In the previous sections the languages of Melanee and MetaDepth were
compared in terms of their implementation of potency, their handling of attributes
and edges, classi cation semantics, and their semantics for inheritance. The
results are summarized in Table 1 and Table 2. This shows that the number of
common features (highlighted cells) roughly matches the number of di erences
in all four of these areas.</p>
      <p>Leap Potency
y
cnStar Potency
teStrict Meta Modeling
o
P
Potency Declaration</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>This paper has presented a comparison between the Melanee and MetaDepth
approaches to deep modeling and revealed that even though the two languages
might look quite similar at rst sight and share a lot of common ideas, they have
signi cant di erences in their detailed terminology and semantics. The next step
is to extend the comparison to include a broader range of deep modeling tools
in order to create a concrete set of criteria for comparing them. Once such an
exhaustive set of features has been de ned it can be used as the basis for
empirical studies into which language features should be targeted to which user groups
and for de ning guidelines for choosing deep modeling tools. We are working on
building transformations between the two tools to bridge their semantic di
erences. We hope this paper may serve as a starting point for providing criteria to
compare deep modeling tools, and encourage other researchers to compare their
tools to MetaDepth and Melanee, providing further comparison points.
Acknowledgements. Work partially sponsored by the Spanish MINECO
(TIN2014-52129-R), and the Madrid Region (S2013/ICE-3006).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Meta-modelling for distributed object environments</article-title>
          . In: Enterprise Distributed Object Computing Workshop [1997]. pp.
          <volume>90</volume>
          {
          <issue>101</issue>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , Kuhne, T.:
          <article-title>A unifying approach to connections for multilevel modeling</article-title>
          .
          <source>In: MODELS</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutheil</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A exible infrastructure for multilevel language engineering</article-title>
          .
          <source>Software Engineering, IEEE Transactions on 35(6)</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Supporting and Applying the UML Conceptual Framework</article-title>
          , pp.
          <volume>21</volume>
          {
          <fpage>36</fpage>
          . Springer Berlin Heidelberg (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Flexible deep modeling with melanee</article-title>
          .
          <source>In: Modellierung</source>
          <year>2016</year>
          ,
          <volume>2</volume>
          .-
          <fpage>4</fpage>
          . Marz
          <year>2016</year>
          , Karlsruhe - Workshopband. pp.
          <volume>117</volume>
          {
          <issue>122</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerbig</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fritzsche</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A multi-level approach to modeling language extension in the enterprise systems domain</article-title>
          .
          <source>Information Systems</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Kuhne, T.:
          <article-title>The essence of multilevel metamodeling</article-title>
          . In: Gogolla,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Kobryn</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. (eds.) UML</surname>
          </string-name>
          <year>2001</year>
          . pp.
          <volume>19</volume>
          {
          <fpage>33</fpage>
          . Springer Berlin Heidelberg (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The rationale of powertype-based metamodelling to underpin software development methodologies</article-title>
          .
          <source>In: Proceedings of the 2Nd Asia-Paci c Conference on Conceptual Modelling. APCCM '05</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Uni ed Framework for Multi-level Modeling</article-title>
          .
          <source>Ph.D. thesis</source>
          , University of Mannheim (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Kuhne, T.,
          <string-name>
            <surname>Steimann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Tiefe charakterisierung</article-title>
          .
          <source>In: Modellierung</source>
          <year>2004</year>
          ,
          <source>Proceedings zur Tagung</source>
          ,
          <volume>23</volume>
          .-
          <fpage>26</fpage>
          . Marz
          <year>2004</year>
          ,
          <article-title>Marburg</article-title>
          , Proceedings. pp.
          <volume>109</volume>
          {
          <issue>119</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J.S.:</given-names>
          </string-name>
          <article-title>A-posteriori typing for model-driven engineering</article-title>
          . In: MODELS. pp.
          <volume>156</volume>
          {
          <issue>165</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.:
          <article-title>Deep meta-modelling with metadepth</article-title>
          .
          <source>TOOLS'10</source>
          , Springer-Verlag, Berlin, Heidelberg (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cobos</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreno-Llorena</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Extending deep metamodelling for practical model-driven engineering</article-title>
          .
          <source>The Computer Journal</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. de Lara, J.,
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuadrado</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          :
          <article-title>Model-driven engineering with domainspeci c meta-modelling languages</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          <volume>14</volume>
          (
          <issue>1</issue>
          ) (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>