<!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>Assigning Semantics to Graphical Concrete Syntaxes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Athanasios Zolotas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimitrios S. Kolovos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicholas Matragkas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard F. Paige</string-name>
          <email>richard.paigeg@york.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science University of York</institution>
          ,
          <addr-line>York</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Graphical editors that are used in the domain of ModelDriven Engineering (MDE) follow speci c conventions to denote relations between elements such as edges and containments. However, existing research suggests that there are other visual aspects that can better encode these relations such as the shape, the position and colour of the elements. In this paper, we propose the use of these physical variables to denote information regarding attributes and relations between elements. Running examples of DSLs in which such paradigms can be of bene t are presented.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In the majority of graphical model editors, nodes are used to represent di erent
types and edges to denote relations between them. Some editors also allow the
use of containments to group elements that conceptually belong to the same
container while others allow the replacement of geometrical shapes with icons.</p>
      <p>
        The importance of visual notation in diagrams and the impact on
understanding them has been con rmed by di erent empirical studies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Visual characteristics of the notation can help to better understand the
modelled concepts while changes to them a ect the nal understanding, even if the
semantics of the concepts have not changed. However, research on the design of
graphical concrete syntaxes for modelling languages and Domain-Speci c
Languages (DSLs) in general suggests that diagram-based information related to the
colour, size, location of model elements is ignored by the metamodel tools as the
majority of e ort is put on the semantics of the notation rather that the visual
representation. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
      </p>
      <p>In the emerging community of bottom-up and exible modelling, where
domain experts are invited to create example models of the envisioned DSL, the
traditional graphical MDE conventions are not always easy to follow. For
instance, in a DSL that will be used to graphically design the seating plan for
an event, a domain expert will likely place each guest close to the table he/she
belongs to. A person not familiar with the traditional MDE conventions is not
likely to use edges to connect guests to the tables or place the guests on the
tables to express the notion of containment nor would they create an attribute
for each guest to hold the ID of the table she belongs to. The former notation
arguably looks more natural than the latter.</p>
      <p>Even in cases where bottom-up modelling is not used or where users are
familiar with the traditional MDE conventions, the use of such physical
characteristics could be bene cial. In the same example above, it would be more
natural to change the table of a guest by just moving her around di erent
tables, rather than changing the value of the appropriate attribute, or by deleting
an existing node and drawing another node to the new table.</p>
      <p>
        In this paper we argue that some of the physical characteristics of diagram
elements can be used to extract useful information about their underlying model
elements. We present examples where such information is useful. In the examples
we use a exible modelling technique, called Muddles [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], to represent our models
bene ting from its model querying capabilities to evaluate our claims.
      </p>
      <p>The rest of this paper is structured as follows. In Section 2 related work
in the eld of notation design is discussed and bottom-up exible modelling
techniques are presented. Section 3 includes a brief presentation of the Muddles
approach. In Section 4 we present an number of physical attributes and illustrate
via running-examples how can assist in extracting useful information like the
types of elements and relations between them. In Section 5 we conclude the
paper and outline plans for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], Moody proposes a set of rules that should be followed when creating
graphical notation for a modelling language. He highlights the importance of
the physics of notations in the development of DSLs and the fact that this is a
neglected issue so far. The theory of communication by Shannon and Weaver [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
is adapted by Moody for the domain of graphical notations: the e ectiveness of
the communication of a diagram can be increased by choosing the most
appropriate notation conventions of these that the human mind can process. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
Bertin identi ed a set of 8 visual variables that can encode and reveal
information about the elements they represent or their relations in a graphical way.
These variables are: the horizontal position, the vertical position, the shape, the
size, the colour, the value (referred as \brightness" [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), the orientation and the
texture.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the authors propose a set of metamodels that can be used in the
classi cation of visual languages taking into account spatial information. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
the authors present a parsing technique that can incorporated into freehand
editors and turn them into syntax-aware, using di erent criteria such as spatial
relationships. Finally, Baar [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], proposes the formal de nition of the concrete
syntax of modelling languages.
      </p>
      <p>
        In the eld of bottom-up metamodelling, [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] proposes the use of example
models to semi-automatically infer the metamodel. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], the example models
created by domain experts using drawing tools can be used to construct the
metamodel. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], models that do not conform to their metamodel because the
latter evolved, can be used to recover the metamodel they are instances of.
Finally, in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], users, using a simple drawing tool, de ne example models which are
then amenable to programmatic model management (validation, transformation,
etc.).
      </p>
      <p>
        In this work we implement the examples using an extended version of the
exible modelling technique in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The same process could be followed using any
other editor for exible or traditional metamodel-based modelling.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Muddles</title>
      <p>
        In this section, we present the basic details that will help the reader understand
how the Muddles approach [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] works. In addition, we present the work carried
out to extend the Muddles to keep information about the visual properties of
the models.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Overview</title>
        <p>
          The Muddles approach [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] proposes the use of general drawing tools, for the
construction of diagrams that are amenable to programmatic model
management. More speci cally, domain experts use a GraphML-compliant drawing tool
(the yEd Editor1 in their work) to express the example models, which conform
to their envisioned metamodel. Engineers annotate these drawings to specify
types and attributes for each element. The annotated diagram is then
automatically transformed to an intermediate Muddle model (the Muddle metamodel
is shown in Figure 1a). The Epsilon platform [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] provides an abstraction layer
(the Epsilon Model Connectivity - EMC2) that allows access to models that
conform to a range of technologies. A driver that implements EMC's interfaces
and allows Epsilon to consume muddles was developed. Using the driver, model
management programs (M2T transformations, Validation, etc.) can be written
and executed on the muddles.
        </p>
        <p>
          For a better understanding of the above process the authors in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] provided
an example which is presented here. In their example, the goal is to create a new
owchart-like language.
        </p>
        <p>
          The process starts with the creation of a drawing of an example owchart
(see Figure 2). The next step is the annotation of the diagram elements with
information to allow programmatic management. For instance, in this case one
needs to declare that the type of the rectangles as an Action and the type of
the directed edges as a Transition. The types are not bound with the shape
but with each element (in another example one rectangle can be of type Action
while another one can be of type Process ). Types and type-related information
like properties (attributes of the type), roles and multiplicity of edges can be
provided using the elds in the yEd's custom properties dialog (see Figure 3).
More details about these properties are presented in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
1 http://www.yworks.com/en/products_yed_about.html
2 http://eclipse.org/epsilon/doc/emc/
(a) The Muddle metamodel
(b) Changes
        </p>
        <p>
          This type-related information are keywords that will be used by the model
management programs to elements of the diagram. For example, writing the
following Epsilon Object Language (EOL) [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] script will return the names of
all the elements of Type Action. (In this case, name was declared as a property
of the Action node by writing String name = \..." in the Properties eld of the
node.)
var a c t i o n s = Action . a l l ( ) ;
for(" A(actiinon a: c"t i +on as ).nafme) . p r i n t l n ( ) ;
g
        </p>
        <sec id="sec-3-1-1">
          <title>Listing 1.1. EOL commands executed on the drawing Fig. 3. Custom properties dialog</title>
          <p>The current Muddles metamodel and the implementation of the EMC driver for
muddles discard information regarding graphical and spatial properties of each
element. These properties are the: x and y coordinates, the width and height, the
shape and the colour of each Muddle Element.</p>
          <p>Firstly, we extended the muddles metamodel to allow Muddle Elements hold
the above information. The changes are shown in Figure 1b. The graphical and
spatial properties of each element are now stored as attributes in the
MuddleElement class.</p>
          <p>Secondly, we implemented the required functionality in the EMC Muddles
driver to be able to parse the GraphML le (the drawing), retrieve the
information from it and store them in the muddle model instance. Further technical
details about the new features of the EMC driver will not be discussed as they
are beyond the scope of this paper.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Physical Attributes and Application Scenarios</title>
      <p>In our running examples we demonstrate how 5 physical characteristics of the
elements of graphical models can be used to extract relations and attributes.
These are:
{ Proximity: the distance between two or more elements.
{ Colour: the colour of the element.
{ Shape: the shape of the node.
{ Size: the area of the node.
{ Overlap: the intersection between two or more elements.</p>
      <p>For each example, we implemented a set of functions to calculate the desired
characteristic and executed it on the diagram using the querying capabilities of
the Epsilon platform.
4.1</p>
      <sec id="sec-4-1">
        <title>Proximity</title>
        <p>The fact that an element is closer to another than a third one may infer that
it is related to the former rather than the latter. In our scenario, we designed
an example model of an envisioned DSL where the organiser of an event needs
to assign guests to the tables and later perform model management actions on
them (e.g. M2T transformations to generate invitation letters).</p>
        <p>A possible example model could be the one shown in Figure 4 where 24 nodes
of type Guest are assigned to 3 di erent nodes of type Table. Naturally, each
guest belongs to the table that he is closest to. In a traditional graphical
modelling editor, this relationship could be speci ed by creating an edge from each
guest to the table it belongs, or by placing guests inside \table containments",
or by assigning an attribute for each guest that declares his/her table. In our
approach, this assignment is done by placing them closest to the table they belong
to.</p>
        <p>Indeed, if we query the model using the EOL statement of Listing 1.3 the
correct table is returned.
var james = Guest . a l l . selectOne ( p j p . name = "James ") ;
O("uJtapmutes: belongs to t a b l e " + james . getTable ( ) . number + " . " ) . p r i n t l n ( ) ;
James belongs to t a b l e 1 .</p>
        <sec id="sec-4-1-1">
          <title>Listing 1.3. Query Guest's Table and output</title>
          <p>We should note that the proximity characteristic may be error prone, as there
might be cases that the user believes that a node is closer to the desired node
while in reality it is closer to another.
4.2</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Colour</title>
        <p>In some cases, the colour of nodes or edges can declare that they belong to the
same group or that they are of the same type.</p>
        <p>In this scenario, we create an example model of an DSL that can be used
to described football line-ups (see Figure 5). Each player belongs to a team
illustrated by the colour of the node that represents each player. In a traditional
MDE manner, this property could be de ned in many di erent ways. Among
others, one could use a string attribute for the name of the player's team or
connect players of the same team with edges declaring a \team-mates" relation.</p>
        <p>For this category, the function that returns the colour of the node is already
implemented as part of our extended Muddles metamodel and driver (the
extended Muddle metamodel stores the colour of the Element as an attribute - see
Player using EOL to get his team. This is shown in Listing 1.4.
var teamsMap = new Map;
teamsMap . put("#FF6600 " , " Netherlands ") ;
teamsMap . put ("#333333" , "Germany ") ;
var vanPersie = Player . a l l . selectOne ( f j f . name = "Van P e r s i e ") ;
("Van P e r s i e plays for " + vanPersie . getTeam ( ) ) . p r i n t l n ( ) ;
f u n c t i o n Player getTeam ( ) f
var c o l o r = s e l f . getColor ( ) ;
return tMap . get ( c o l o r ) ;
g
Output :
Van P e r s i e plays for Netherlands</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 Shape and Size</title>
        <sec id="sec-4-3-1">
          <title>Listing 1.4. Get Player's team implementation and output Fig. 6. Nuclear energy production</title>
          <p>In some DSLs, the shape or the size of a node may encode information about
its type or its attributes. We demonstrate that with an example DSL that can
be used to design liquid tank con gurations. In this scenario, the shape that is
used to describe a tank, declares the subtype of the tank (Water, Uranium, etc.)
By creating a mapping as in the previous example, we can query the model and
identify the subtype of each tank.</p>
          <p>In addition, the size (and the area) that each tank has can give us information
about two other attributes of each tank like the \Size Category" and \Capacity".
We can calculate the area of the tank to nd its capacity and assign it to a
prede ned size category (small, medium, large). The querying code to get the
type, the size category and the capacity is given in Listing 6.
. . .
for ( t in tanksi s) fa " + t . getSizeCategory ( ) + " (" + t . getArea ( ) + " l i t r e s ) " + t .
( t . name + "</p>
          <p>getTankType ( ) ) . p r i n t l n ( ) ;
g
f u n c t i o n Tank</p>
          <p>return shapesgMetaTpapniknTg y.pgeet( )( sfe l f . getShape ( ) ) ;
g
f u n c t i o n Tank getSizeCategory ( ) f
i f ( s e l f . getArea ( ) &lt;5000.0)f</p>
          <p>returni f " S(mseallfl ". g;etArea ( ) &lt;20000.0) f
g reeltsuern "Medium " ;
g reeltsuernf " Large " ;
g
gOutput :
Tank 4 i s a Large (22500.0 l i t r e s ) Water Tank
TTaannkk 51 ii ss aa MSmedaiullm (2(151020 5.00.0l i tlri et rs e)s W)aStteeramTaTnkank
. . .</p>
        </sec>
        <sec id="sec-4-3-2">
          <title>Listing 1.5. Get tank's type, size category and capacity implementation and output</title>
          <p>The size characteristic can be error-prone. Mistakes can be made if the
shape's area is close to the thresholds that de nes di erent size categories. For
instance, one tank may look like a small tank, but in reality it is medium.
4.4</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>Overlap</title>
        <p>An overlap between two or more elements can provide us with information
regarding their types and attributes. In a DSL that allows the creation of Venn
diagrams this can be very useful. For instance, the Venn diagram of Figure 7 is
an example of a model that would be an instance of a Venn DSL. In this case,
the overlap between a node of type \Person" (yellow rectangles) with a circle
denotes that the Person belongs to that set.</p>
        <p>For this category, we can de ne a function to calculate whether two elements
overlap or not. We can then re-use this function to query the model and receive,
for instance the signatures of all the members of the department as seen in
Listing 1.6.
var persons = Person . a l l ;
var raBox = RA. a l l . f i r s t ( ) ;
var rsBox = RS . a l l . f i r s t ( ) ;
var esBox = ES . a l l . f i r s t ( ) ;
for (p in persons ) f</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions and Future Work</title>
      <p>Physical characteristics included in graphical models can be used to extract
meaningful information about the models and their elements. In this work, we
presented examples demonstrating how they can be utilised to extend the current
conventions for representing relations and attributes of model elements.</p>
      <p>We believe that such an approach can be useful especially in the exible
modelling area were the involvement of stakeholders who are unfamiliar with
the traditional conventions is common.</p>
      <p>In the future, we plan to investigate how other physical attributes (like
texture or orientation) that can, according to the literature, encode information
about the diagram be used in MDE to help us represent better relations and
attributes of elements.
This work was carried out in cooperation with Digital Lightspeed Solutions
Ltd, and was part supported by the Engineering and Physical Sciences Research
Council (EPSRC) through the Large Scale Complex IT Systems (LSCITS)
initiative, and by the EU, through the MONDO FP7 STREP project (#611125).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Nordbotten</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Crosby</surname>
            ,
            <given-names>M.E.</given-names>
          </string-name>
          :
          <article-title>The e ect of graphic style on data model interpretation</article-title>
          .
          <source>Information Systems Journal</source>
          <volume>9</volume>
          (
          <issue>2</issue>
          ) (
          <year>1999</year>
          )
          <volume>139</volume>
          {
          <fpage>155</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hitchman</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The details of conceptual modelling notations are important-a comparison of relationship normative language</article-title>
          .
          <source>Communications of the Association for Information Systems</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ) (
          <year>2002</year>
          )
          <fpage>10</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Moody, D.L.:
          <article-title>The physics of notations: toward a scienti c basis for constructing visual notations in software engineering</article-title>
          .
          <source>Software Engineering, IEEE Transactions on 35(6)</source>
          (
          <year>2009</year>
          )
          <volume>756</volume>
          {
          <fpage>779</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matragkas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodr</surname>
            <given-names>guez</given-names>
          </string-name>
          , H.H.,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          :
          <article-title>Programmatic muddle management</article-title>
          .
          <source>XM</source>
          <year>2013</year>
          {Extreme Modeling Workshop (
          <year>2013</year>
          )
          <fpage>2</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Shannon</surname>
            ,
            <given-names>C.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weaver</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>The mathematical theory of communication</article-title>
          . (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bertin</surname>
          </string-name>
          , J.:
          <article-title>Semiology of graphics: diagrams, networks, maps</article-title>
          . (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bottoni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A suite of metamodels as a basis for a classi cation of visual languages</article-title>
          .
          <source>In: Visual Languages and Human Centric Computing</source>
          ,
          <source>2004 IEEE Symposium on, IEEE</source>
          (
          <year>2004</year>
          )
          <volume>83</volume>
          {
          <fpage>90</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Bottoni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Costagliola</surname>
          </string-name>
          , G.:
          <article-title>On the de nition of visual languages and their editors</article-title>
          .
          <source>In: Diagrammatic Representation and Inference</source>
          . Springer (
          <year>2002</year>
          )
          <volume>305</volume>
          {
          <fpage>319</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Costagliola</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deufemia</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Risi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Building syntax-aware editors for visual languages</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          <volume>16</volume>
          (
          <issue>6</issue>
          ) (
          <year>2005</year>
          )
          <volume>508</volume>
          {
          <fpage>540</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Baar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Correctly de ned concrete syntax for visual modeling languages</article-title>
          .
          <source>In: Model Driven Engineering Languages and Systems</source>
          . Springer (
          <year>2006</year>
          )
          <volume>111</volume>
          {
          <fpage>125</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Cho</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Syriani</surname>
          </string-name>
          , E.:
          <article-title>Creating visual domain-speci c modeling languages from end-user demonstration</article-title>
          .
          <source>In: Modeling in Software Engineering (MISE)</source>
          ,
          <source>2012 ICSE Workshop on</source>
          , IEEE (
          <year>2012</year>
          )
          <volume>22</volume>
          {
          <fpage>28</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sanchez-Cuadrado</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Lara</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guerra</surname>
          </string-name>
          , E.:
          <article-title>Bottom-up meta-modelling: An interactive approach</article-title>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Javed</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mernik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bryant</surname>
            ,
            <given-names>B.R.</given-names>
          </string-name>
          :
          <article-title>Mars: A metamodel recovery system using grammar inference</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>50</volume>
          (
          <issue>9</issue>
          ) (
          <year>2008</year>
          )
          <volume>948</volume>
          {
          <fpage>968</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>L.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drivalos</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.A.</given-names>
          </string-name>
          :
          <article-title>The design of a conceptual framework and technical infrastructure for model management language engineering</article-title>
          . In: Engineering of Complex Computer Systems,
          <year>2009</year>
          14th IEEE International Conference on,
          <source>IEEE</source>
          (
          <year>2009</year>
          )
          <volume>162</volume>
          {
          <fpage>171</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kolovos</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>R.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polack</surname>
            ,
            <given-names>F.A.</given-names>
          </string-name>
          :
          <article-title>The epsilon object language (eol)</article-title>
          .
          <source>In: Model Driven Architecture{Foundations and Applications</source>
          , Springer (
          <year>2006</year>
          )
          <volume>128</volume>
          {
          <fpage>142</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>