<!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>Comparing Multi-Level Modeling Approaches</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Colin Atkinson</string-name>
          <email>atkinson@informatik.uni-mannheim.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralph Gerbig</string-name>
          <email>gerbig@informatik.uni-mannheim.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas K u¨hne</string-name>
          <email>Thomas.Kuehne@ecs.victoria.ac.nz</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Mannheim</institution>
          ,
          <addr-line>B6, C2.11, Mannheim, Germany (atkinson</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Victoria University of Wellington</institution>
          ,
          <addr-line>P. O. Box 600, Wellington 6140</addr-line>
          ,
          <country country="NZ">New Zealand</country>
        </aff>
      </contrib-group>
      <fpage>53</fpage>
      <lpage>61</lpage>
      <abstract>
        <p>As the range of modelling approaches that claim to be “multi-level” diversifies, there is growing debate in the literature about what multi-level modelling actually is and what form supporting languages and infrastructures should take. However, there is no consensus yet on how this debate should be framed and what objective criteria should be used to evaluate different approaches. It is clear from the literature that proponents of different approaches base their arguments on fundamentally different assumptions about what multi-level modelling is and what benefits it should aim to provide. In this position paper we identify some of the core issues that currently hinder progress towards the required consensus and identify some of the terminological differences that have amplified confusion. Referencing various work that represents diverging viewpoints, our goal is to initiate a meta-discussion on what the open questions in multi-level modelling are, how respective proposals to answer them could be evaluated, and which kinds of discussions are expedient in this context.</p>
      </abstract>
      <kwd-group>
        <kwd>multi-level modelling</kwd>
        <kwd>deep modelling</kwd>
        <kwd>metamodelling</kwd>
        <kwd>level-agnostic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Multi-level modelling is gaining resonance. Many groups have applied the approach or
created variants, and a community focusing on multi-level modelling is emerging.
However, at the present time, there is little consensus in the literature on fundamental
multilevel modelling concepts, and if anything proponents of multi-level modelling appear to
be diverging rather converging in their understanding of the approach. In particular, in a
series of recent papers [
        <xref ref-type="bibr" rid="ref12 ref13 ref9">9,12,13</xref>
        ] some authors have presented a long list of fundamental
criticisms of one of the first proposed multi-level modelling approaches [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], based on
the notions of the orthogonal classification architecture and deep instantiation. Many
other authors have also identified issues in this and other approaches to multi-level
modelling and have suggested their own solutions (e.g., [
        <xref ref-type="bibr" rid="ref10">10,18</xref>
        ]).
      </p>
      <p>An analysis of these papers reveals that the criticism ranges from challenges to the
fundamental validity of the approach from a set-theoretic point of view to objections to
the use of particular terminology and disagreements about the basic goals and
motivations underlying multi-level modelling.</p>
      <p>We believe that some of the disagreements can be resolved by adopting a different
style of debate. Hence, we argue that the main challenge facing the fledgling
multilevel modelling community at the present time is to clarify the boundary conditions and
assumptions within which the debate about multi-level modelling should take place.
Without consensus on these meta-issues, the chances of forging a common
understanding about fundamental concepts in multi-level modelling will be small.</p>
      <p>In order to foster greater clarity in the debate between multi-level modelling
approaches, in this paper we attempt to identify some of the main open questions in
multilevel modelling and suggest potential ways of converging towards broadly accepted
answers. In particular, we aim to characterize what kinds of discussions are most likely
to increase convergence and suggest certain principles to be used in evaluating different
proposals.</p>
      <p>The rest of the paper is organised as follows. To help set the context for the
discussions, the next section briefly outlines some core features we believe could be used
to characterized multi-level and deep modeling approaches. Section 3 continues by
describing vfie key issues with the potential to cause controversy in the context of
multilevel modeling. Section 4 then provides a deeper consideration of one of the most subtle
and sensitive of these issues – “terminology” – with a specific focus on the term
“levelagnostic” which is the subject of some debate at the present time. Finally, section 5
concludes with some final observations and closing remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Multi-Level Modelling</title>
      <p>Perhaps the most fundamental and important question is what qualities an approach
needs to posses in order to be characterized as multi-level. Without a consensus on
how to recognize multi-level modeling approaches, it will be impossible to conduct
a meaningful debate about their relative strengths and weaknesses. We suggest that
minimal requirements for a multi-level modelling approach include:
– some fundamental notion of abstracting a multitude of model elements to a
common classifier.
– the ability for model elements to form anti-transitive instantiation chains.
– a concept of level, formed by elements belonging to the same classification level,
the latter being defined by both classification depth and level membership of the
root of the instantiation chain.</p>
      <p>
        The above minimal requirements are very inclusive and admit, for instance,
traditional linguistic language definition stacks. We prefer to take a narrower view that
furthermore:
– mirrors classification relationships in the domain with explicit relationships that are
subject to well-formedness constraints [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
– recognises type and instance facets of model elements and views them as
inseparable [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
– provides a mechanism for deep characterisation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
The approach containing the combination of all the above characteristics is often
referred to as “deep (meta-)modelling”. This is the particular flavour of multi-level
modelling that has been the subject of the most debate in the recent literature [
        <xref ref-type="bibr" rid="ref12 ref13 ref9">9,12,13</xref>
        ] and
we used some of this criticism to identify a number of potentially controversial issues
that we discuss in the following section.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Potentially Controversial Issues</title>
      <p>In order to move the field of multi-level modelling forward, it is of course desirable
to have many alternative proposals and a healthy debate about their respective merits.
There are a few pitfalls, however, that should be avoided in order to achieve progress as
constructively as possible.</p>
      <p>For example, we believe that subscribing to a particular “ school of thought” and
exclusively evaluating differing proposals from one subjective perspective can be
problematic. Some examples of controversies that can emerge when issues have been
evaluated with this mindset are discussed below.
3.1</p>
      <sec id="sec-3-1">
        <title>Language Size</title>
        <p>
          Always expecting a user to first define or choose their language [19] versus presenting
a user with a rich library of modelling concepts to be adapted and used [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] represent
the two different ends of a language engineering spectrum. No single point within this
spectrum will be optimal for all types of users but we believe there is an interesting
discussion to be conducted about the level of support tools aimed at the majority of
modellers should provide with respect to language engineering.
        </p>
        <p>Which modellers can be expected to be good language engineers and which library
paradigms may turn out to be too narrow in the assumptions they make? A complete tool
should recognise both language engineering and domain modelling as relevant tasks but
there is certainly room for specialised tools that focus on one of these areas only. The
potential pitfall to avoid is to assume that all user modelling is language engineering or
that all language engineering can be subsumed under domain modelling.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Semantics</title>
        <p>
          The clabject-based deep instantiation approach of Atkinson and Ku¨hne has been
criticised for lacking alignment with set theory and requiring the instantiation of elements
that are not available for further instantiation [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. While we do not dispute that there
are formalisations and school of thoughts in which deep instantiation can be seen as
“wrong”, there is indeed a sound set-theoretic formalisation of deep instantiation [17]
and in this framework – based on sets of sets – it is perfectly possible and natural to
view elements as instances and types at the same time, with corresponding linear
instantiation chains arising from this property.
        </p>
        <p>We believe that instead of evaluating approaches according to whether or not they
have compatible foundations, it is more helpful to examine whether approaches are
internally consistent. If an approach is inconsistent to the effect of exhibiting
contradictions or allowing unwanted paradoxes to occur then it could be viewed as “wrong”.
Non-conformance to a particular semantic foundation, however, should not be held
against an approach per se. Thus, while conformance to established disciplines can be
a potential advantage, it cannot be the ultimate criterion for determining the adequacy
of a proposal.</p>
        <p>
          It would of course be desirable to obtain a common sound formal foundation for
all multi-level modelling approaches in order to move the technology forward, but until
consensus on such a formalism has been reached it is unhelpful to assume one particular
approach as being a benchmark to evaluate other approaches against. In fact, judging
an approach using an inappropriate perspective and formalism can lead to claims of
unsoundness and inconsistencies which are not in fact valid [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Intended Target Audience</title>
        <p>
          Whether consciously or unconsciously particular approaches target different user groups.
For instance, while Henderson-Sellers et al. appear to focus on making it easy to build
tools [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], the original multi-level approach by Atkinson and Ku¨hne [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] focused on
reducing accidental complexity for the domain modeller. On the other hand, Vangheluwe
et al.’s AtomPM tool appears to be geared towards language engineering [19], etc.
        </p>
        <p>
          A considerable amount of debate can be avoided if one takes the intended target
audience of a particular approach into consideration. For example, the apparent difference
in attributing significance to domain-motivated (ontological) instantiation relationships
between Henderson-Sellers et al. and Atkinson et al. can be understood as reflecting
the different target audiences. When focusing on the internals of a tool, i.e., addressing
a tool builder audience, it is natural to regard user-defined relationships and associated
modelling patterns as secondary [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. In contrast, work on the orthogonal classification
architecture [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] or in particular the “Unified Modelling Library” [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], targets the
modeller and aims to provide a richer environment in order to reduce accidental complexity.
        </p>
        <p>
          As an analogy, it is simpler to write a compiler for an assembly language compared
to a software engineering language like Eiffel [20], however it can be argued that the
investment necessary to develop the far more complex Eiffel compiler will pay dividends
in subsequent safe language usage. We believe that “ everything is an object” [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] is
mainly a tool builder’s argument and is less helpful when aiming to support modellers.
3.4
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Level of Modelling Discipline</title>
        <p>
          Related to the above discussion regarding intended target audiences, there appear to be
diverging views on what the intended target audience is. Some work appears to take a
liberal approach, allowing concise and powerful solutions but also giving users rope to
hang themselves [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], while other work attempts to enforce a discipline that is aimed at
helping the user avoid inconsistent models [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>
          We claim that is not ideal to point out perceived problems of disciplined approaches
while not acknowledging the dangers that are implied by looser approaches. Strict
metamodelling [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], for instance, has been criticised as being too restrictive and causing
problems [
          <xref ref-type="bibr" rid="ref10 ref12">10,12</xref>
          ].
        </p>
        <p>First, we believe that a lot of the criticism towards strict metamodelling is based
on misunderstandings, e.g., the lack of awareness that new elements can always be
introduced linguistically (i.e., without requiring an ontological type), that potency
declarations are to be regarded as constraints that make certain guarantees but are not an
enabler for deep instantiation, and that potency constraints do not cross instantiation
dimensions, e.g., from the linguistic dimension to the ontological dimension, etc.</p>
        <p>
          Second, we suggest that the debate is comparable to the debate about the value
of static typing in programming languages. In the same way that some research in
programming languages strives to make types and type checking available when needed [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
based on ideas of optional type inference, it seems promising to adopt a similar
approach to modelling. In particular, since there is no extra effort involved in adhering to
strict metamodelling (since levels can be inferred [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]) we suggest to support optional
sanity checking on the basis of strict metamodelling principles.
3.5
        </p>
      </sec>
      <sec id="sec-3-5">
        <title>Terminology</title>
        <p>
          Terminology, i.e., the choice of words and their meaning, is always a potential source
of confusion and unnecessary (or undiscovered) disagreement. As an example, the fact
that the name of a particular, domain-oriented, instantiation type includes “ontological”
should not be construed to mean that respective models in so-called ontological levels
need to exhibit “ all the trappings of an ontological (meta)model such as the UFO” [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
        <p>The particular naming choice involving “ontological” was made because the
original meaning of “ontology” relates to the things that exist (in the sense of a universe
of discourse), in contrast to (linguistically classified) notation elements. There was no
intention to invoke any of the features associated with contemporary ontology research.</p>
        <p>We believe terminology can have various degrees of intuitiveness but effectively
only the explicitly given definition of concepts and mechanisms should be decisive
when it comes to criticising an approach.</p>
        <p>A good example of an increasingly used term that can be interpreted in
diametrically opposed ways is “level-agnostic”. In the following, we clarify these different
interpretations.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Level-Agnostic Languages</title>
      <p>The adjective “level-agnostic” implies that an approach does not make the treatment
of an element dependent on its level in the ontological classification hierarchy. In this
sense, the UML is definitely not a level-agnostic language since it uses a different
notation for objects compared to classes, even though arguably all objects and classes are
just modelling elements with the only difference being that classes have a type facet
whereas object do not.</p>
      <p>
        The idea of level-agnosticism for a modelling language as discussed in this context
can be traced back to the proposal of using a uniform notation for UML elements,
independently of which level they belong to, e.g., whether they are objects or classes [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
This idea has later been expanded to include further notational elements [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        A language can achieve level-agnosticism in one of two ways. One way is to
essentially only recognise a single level [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] which internally can support arbitrary
constellations of ontological classification relationships. We refer to such languages as
“level-blind”. The other way to support level-agnosticism is to use levels as a
structuring and soundness-enforcing mechanism, without letting level membership impact
on such things as element representation and rendering. We refer to such languages as
“level-adjuvant”.
4.1
      </p>
      <sec id="sec-4-1">
        <title>Level-Blind Languages</title>
        <p>
          Since the term “level-agnostic” implies the existence of levels, a “level-agnostic
language” has to acknowledge them in some sense, even the approach put forward in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
Otherwise the described “search for a level-agnostic language” should have been
characterised as a search for a “ level-less” language. The characteristic feature of a
levelblind language is that it essentially ignores the fact that there are levels.
        </p>
        <p>
          An example for level boundaries that are considered insignificant in the level-blind
approach of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] are the ontological classification level boundaries implied by elements
in a universe of discourse, such as “Lassie”, “Collie”, and “Breed” (c.f. section 3.3).
In contrast, Atkinson and Ku¨hne give the respective ontological classification hierarchy
the same significance as the time-honoured linguistic classification hierarchy formed
by language metamodelling [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>The advantage of an approach that is blind to the ontological level boundaries is that
it allows all elements to be treated the same, since membership to ontological levels
is abstracted away from. The disadvantage, however, is that element membership to
ontological levels can no longer be exploited to uncover unsound scenarios. Paradoxical
situations like being one’s own baby [14, p. 247] are hallmarks of single level, flat
domain approaches where unification has been taken to the extreme. If, for instance,
everything is a set, as in na¨ıve set theory, then even the set of all sets that do not contain
themselves is a set. Yet this construction establishes Russel’s famous paradox, as it is
not possible to find a single consistent answer to the question whether the said set is a
member of itself.</p>
        <p>
          An analogous construction is obviously possible with the “ everything is an
object”approach put forward in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Consider an object O whose instances are all those objects
that are not instances of themselves. This leads to the paradoxical situation that O must
be an instance of itself when it is not an instance of itself and must not be an instance of
itself when it is an instance of itself. Such paradoxes are impossible in a language that
uses levels to avoid self-reference. Stratification was one of the proposals to fix na ¨ıve
set theory and works just as well when used in the form of ontological levels forming a
domain-classification hierarchy.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Level-Adjuvant Languages</title>
        <p>
          A level-adjuvant language is a level-agnostic language that recognises the utility of
levels, without implying accidental differences in treatment. For instance, the orthogonal
classification architecture [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] uses ontological level boundaries to avoid paradoxical
modelling scenarios but does not require different treatments with respect to
representation or rendering (c.f. [5, Fig. 16, p. 307]). The orthogonal classification architecture
hence establishes level-agnosticism with respect to representation and notation but is
not level-blind with respect to enforcing soundness for models of the universe of
discourse.
        </p>
        <p>The difference between using level-blind versus level-adjuvant languages is like the
difference between untyped programming languages versus strongly typed
programming languages. While the “anything goes” approach of untyped languages supports
small but powerful solutions, the discipline attained by typing rules pays big dividends
when unsound scenarios are rejected straight away as opposed to being discovered
through testing, or worse, not uncovered at all (c.f., section 3.4).</p>
        <p>
          For instance, the “everything (even a class) is an object” approach [12, Fig. 10]
that was first used as the backbone of the Smalltalk metaclass hierarchy [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], allows an
object o to be its own class or to be an instance of another object c and a subclass of c at
the same time. Unless such scenarios are excluded by suitable well-formedness rules,
it is possible to construct paradoxical situations and “sillygisms” [16]. The discipline
afforded by requiring an ontological classification relationship to be acyclic and
levelrespecting [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] is exactly designed to exclude such problems.
        </p>
        <p>
          It is ironic that the proponents of a single-level, flat domain approach [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] that takes
unification to the extreme, criticise level-aware approaches for enabling paradoxes even
though level-awareness is the key to avoiding a whole class of paradoxes that naturally
occur in single-level, flat domain approaches.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>As multi-level modelling grows as a research discipline, there is hope that all groups
involved will be able to converge on some universally acceptable concepts and ideas.
We are by no means suggesting that all current and future approaches should be brought
into line with a single view, though. On the contrary, variety and lively discussions are
obviously important to further any new discipline. Nevertheless, unless agreement can
be found on a number of fundamental questions, the discipline and its community will
struggle to grow cohesively.</p>
      <p>In this paper we therefore suggested that future debates should be not be held from
subjective standpoints using a particular school of thought as a frame of reference.
Observing incompatibilities between different approaches can be a starting point for
fruitful discussions, but cannot be used as a basis for claims of other approaches being
“wrong”.</p>
      <p>Moreover, we propose that in the vast majority if cases different approaches should
not be judged as “right” or “wrong” but as “better” or “worse”. The intention behind
this proposal is not just to use relative terminology versus absolute terminology, it more
crucially also involves different evaluation criteria. In our view, the merits of an
approach should be judged on what benefits and/or disadvantages it brings to the intended
target audience. In other words, instead of using subjective “schools of thought” as a
reference, we propose to use pragmatics as a deciding criterion. Who exactly is the
target audience? How does the target audience benefit from a certain philosophical
underpinning in a concrete manner? What are the extra tools and/or opportunities given
to a user? How do different approaches compare in terms of model maintenance? We
believe that these are some of the crucial questions that should be asked when debating
divergent viewpoints.</p>
      <p>Empirical evaluations are notoriously hard to conduct, but debates on the merits of
a certain approach can also be resolved theoretically. As long as arguments and
comparisons are made with an explicitly stated target audience in mind, we believe that the
discipline of multi-level modelling can converge and future users can benefit from this
new, emerging sub-discipline of model-driven development.
16. Ku¨hne, T.: Contrasting classification with generalisation. In: Sixth Asia-Pacific Conference
on Conceptual Modelling, APCCM. pp. 71–78 (2009)
17. Ku¨hne, T., Steimann, F.: Tiefe charakterisierung. In: Rumpe, B., Hesse, W. (eds.)
Proceedings of Modellierung 2004. pp. 121–133. LNI (45), GI (Mar 2004)
18. de Lara, J., Guerra, E.: Deep meta-modelling with metadepth. In: TOOLS (48). pp. 1–20
(2010)
19. Mannadiar, R.: A Multi-Paradigm Modelling Approach to the Foundations of
Domain</p>
      <p>Specific Modelling. Ph.D. thesis, McGill University (2012)
20. Meyer, B.: EIFFEL the language. Prentice Hall, Object-Oriented Series (1992)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kennel</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Go</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>The level-agnostic modeling language</article-title>
          . In: Malloy,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Staab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Brand</surname>
          </string-name>
          , M. (eds.)
          <source>Software Language Engineering, Lecture Notes in Computer Science</source>
          , vol.
          <volume>6563</volume>
          , pp.
          <fpage>266</fpage>
          -
          <lpage>275</lpage>
          . Springer Berlin Heidelberg (
          <year>2011</year>
          ), http://dx.doi. org/10.1007/978-3-
          <fpage>642</fpage>
          -19440-5_
          <fpage>16</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , K u¨hne, T.:
          <article-title>Meta-level independent modeling</article-title>
          . In: International Workshop Model Engineering (in Conjunction with ECOOP'
          <year>2000</year>
          ). Springer Verlag, Cannes, France (
          <year>Jun 2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <article-title>Profiles in a strict metamodeling framework</article-title>
          .
          <source>Journal of the Science of Computer Programming</source>
          <volume>44</volume>
          (
          <issue>1</issue>
          ),
          <fpage>5</fpage>
          -
          <lpage>22</lpage>
          (
          <year>Jul 2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <article-title>Model-driven development: A metamodeling foundation</article-title>
          .
          <source>IEEE Software 20(5)</source>
          ,
          <fpage>36</fpage>
          -
          <lpage>41</lpage>
          (
          <year>Sep 2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <article-title>Rearchitecting the UML infrastructure</article-title>
          .
          <source>ACM Transactions on Modeling and Computer Simulation</source>
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <fpage>290</fpage>
          -
          <lpage>321</lpage>
          (
          <year>Oct 2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Ku¨hne, T.:
          <article-title>A tour of language customization concepts</article-title>
          .
          <source>In: Zelkowitz</source>
          , M. (ed.)
          <source>Advances in Computers</source>
          , vol.
          <volume>70</volume>
          ,
          <issue>chap</issue>
          . 3, pp.
          <fpage>105</fpage>
          -
          <lpage>161</lpage>
          . Academic Press, Elsevier (
          <year>June 2007</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>In defence of deep modelling. submitted for publication (</article-title>
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bracha</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Griswold</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Strongtalk:
          <article-title>Typechecking smalltalk in a production environment</article-title>
          .
          <source>In: Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications</source>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Eriksson</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , A˚gerfalk, P.J.:
          <article-title>Ontological and linguistic metamodelling revisited: A language use approach</article-title>
          .
          <source>Information &amp; Software Technology</source>
          <volume>55</volume>
          (
          <issue>12</issue>
          ),
          <fpage>2099</fpage>
          -
          <lpage>2124</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gitzel</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>How a relaxation of the strictness definition can benefit MDD approaches with meta model hierarchies</article-title>
          .
          <source>In: Proceedings of the 8th World Multi-Conference on Systemics, Cybernetics and Informatics</source>
          . vol. IV, pp.
          <fpage>62</fpage>
          -
          <lpage>67</lpage>
          (
          <year>July 2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Goldberg</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          : Smalltalk-80:
          <article-title>The Language and its Implementation</article-title>
          . AddisonWesley, Reading, MA (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clark</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>On the search for a level-agnostic modelling language</article-title>
          .
          <source>In: Proceedings of the 25th International Conference on Advanced Information Systems Engineering</source>
          . pp.
          <fpage>240</fpage>
          -
          <lpage>255</lpage>
          . CAiSE'13, Springer-Verlag, Berlin, Heidelberg (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Henderson-Sellers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eriksson</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Perez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ˚gerfalk, P.J.:
          <article-title>Ptolemaic Metamodelling?: The Need for a Paradigm Shift</article-title>
          ,
          <source>chap. 4</source>
          , pp.
          <fpage>90</fpage>
          -
          <lpage>146</lpage>
          . IGI Global (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Software Abstractions: Logic, Language, and Analysis</article-title>
          . The MIT Press, Cambridge, Mass. (Apr
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Ku¨hne, T.:
          <article-title>Matters of (meta-) modeling</article-title>
          .
          <source>Software and Systems Modeling</source>
          <volume>5</volume>
          (
          <issue>4</issue>
          ),
          <fpage>369</fpage>
          -
          <lpage>385</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>