<!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>Towards a unified view of model mapping and transformation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Paolo Bottoni</string-name>
          <email>bottoni@di.uniroma1.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fulvio D'Antonio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Missikoff</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LEKS - Lab for Enterprise Knowledge and Systems IASI - CNR</institution>
          ,
          <addr-line>Viale Manzoni 30, 00185 Rome</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universit`a ”La Sapienza” di Roma - Dip. di Informatica Via Salaria</institution>
          ,
          <addr-line>113 - 00198 Roma -</addr-line>
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the last period, there's an increasing demand for ”model transformation” techniques (e.g. to support the Model Driven Development proposed by OMG). Tools and techniques for model mapping, model transformation and model merging are developed in several domains (from software engineering to ontology building); however the various initiatives often diverge in terminology or in the overall view of the mapping/transformation process, hindering the clear understanding or the reuse of the techniques themselves. With this paper we aim to propose a number of formal definitions of relevant concepts in the model mapping/transformation domain; we argue that this effort will be useful both for the user of transformation/mapping tools (for a better understanding of the task to be achieved) and for the tool's developer (allowing better and unambiguous description of the tool's functionalities).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In the last period, there’s an increasing demand for ”model transformation”
techniques. The main applications of model and meta-model transformations
deal with language or formalism translation (e.g. translating an UML model to
an OWL ontology), or information restructuring (e.g. renaming all occurences of
the UML class ”Person” with ”Human being”). Another foreseen application is
the support to automatic software generation, that in the last period has come
to new life. The most relevant initiative in such direction is the Model Driven
Development (MDD) proposed by OMG: MDD introduces an approach to
system specification that separates the views on three different layers of abstraction:
high level specifications of what the system is expected to do (Computation
Independent Models or CIMs), the specification of system functionality (Platform
Independent Models or PIMs) from the specification of the implementation of
that functionality on a specific technology platform (Platform Specific Models
or PSMs). The advantages advocated by MMD approach are the following :
– PIMs provide formal specifications of the structure and functions of the
system that abstract from technical details,
– Implementation on several platforms can be done from the same PIM,
– System integration and interoperability can be anticipated and planned in
the PIM but postponed to the PSMs regarding details
– It is easier to validate (the correctness of) models.</p>
      <p>The core of the process is surely the transformation phase. Starting from a
CIM a number of transformations must be performed to get a PIM and then
down to a PSM .</p>
      <p>OMG launched a request for proposal to work on the standard for the
mappingtransformation issues; the language, to come, will be called QVT (Query-View
and Transformation) .</p>
      <p>On the other hand, a lot of work has been done in the field of
”transformationsrelated” techniques. Lambda calculi, Post system, Term and Graph rewriting
systems are examples of well-known and formal grounded computational
systems that are referred to be: ”transformation systems”. Applications of the cited
systems are for example
– theorem proving
– algebraic specification (of data types, programs etc.)
– λ-calculi
– implementation of declarative languages
– operational semantics of programming languages</p>
      <p>In our perception, this rich heritage should be exploited to benefit both of
a meaningful terminology and of a formal grounding for future transformation
methods and tools proposals.</p>
      <p>In this paper we concentrate, however, on the former objective, i.e. to
establish a meaningful terminology, defining concepts belonging to the model
transformation/mapping domain. We give, therefore, a definition of some relevant terms
(such as model transformation, model correspondence/mapping, model merging,
correspondence/mapping discovery) by giving also a mathematical
characterization of them (essentially drawn from graphs and algebraic world).</p>
      <p>The rest of the paper is organized as follow:</p>
      <p>Section 2 presents the related work; in Section 3 preliminary mathematical
notions are presented, while in Section 4 we discuss the graph formalism that
could be used to represent different kind of models. Sections 5 and 6 give formal
definitions about correspondences, mapping and transformation. Section 7 gives
a characterization of model correspondance/mapping discovery and in Section 8
conclusions and future work are discussed.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The idea of proposing an abstract view of model transformation has its roots in
the algebraic approach to Graph transformation proposed by Ehrig et al. in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
exploiting a definition of graphs as Σ-algebras, and the pushout construction in
the category of graphs and total graph morphisms. Several developments have
been originated from this pioneering work, both in the direction of including
several classes of graphs into the algebraic approach ( e.g. attributed [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ],
distributed [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], hierarchical [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]), and in the direction of extending it to a more
general categorical setting, where the relevant structure of a model is given by
its categorical properties, rather than its specific organisation as a graph or
otherwise [
        <xref ref-type="bibr" rid="ref5 ref6">6, 5</xref>
        ].
      </p>
      <p>
        Moreover, algebraic approaches have been put to work on model
transformation for several specific cases. Heckel et al. considered modeling of system
oriented architectures and architecture transformations or matching, for
example in the MDA perspective or for service discovery [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Transformations were
also applied in a software engineering perspective for defining semantics of parts
of the UML suite [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], for automatic code generation and verification [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and
for refactoring of models [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and code [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Approaches based on direct coding of these transformations have also been
exploited, (e.g. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]), but the advantage of an algebraic approach is that it easily
lends itself to demonstrations as far as properties of the transformations are
concerned, related both to the transformation system per se, e.g. independence
of transformations [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], termination [
        <xref ref-type="bibr" rid="ref2 ref4">2, 4</xref>
        ], and to the semantics of the specific
application, once it is properly formalised [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminary Notions</title>
      <p>
        We recall here some basic algebra notions from [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>Given two sets A and B, a partial mapping f is a subset of A × B (the usual
notation is f (x) = y instead of (x, y) ∈ f ) such that ∀x ∈ A, f (x) = y and
f (x) = z ⇒ y = z. If ∀x ∈ A ∃y ∈ B with (x, y) ∈ f , then f is called a (total)
mapping and we write f : A → B.</p>
      <p>Given a set A and a natural number n, an operation is a mapping from An to
A. An algebra (A, Φ) is a set A together with a family Φ of finitary operations.
In general, one distinguishes the signature Σ, defining the name and arity (i.e.
a value n) for each operation in Φ, from the realisation of the operations. Given
a signature Σ, a Σ-algebra A is a pair (A, ΣA), where A is the carrier set of A
and ΣA is the family of realisations for the operations in Σ.</p>
      <p>Given two Σ-algebras A and B, a mapping f : A → B is called a
homomorphism if ∀σ ∈ Σ f (σA(x1, . . . , xn)) = σB(f (x1), . . . , f (xn)). If carriers A and B
are partially ordered and f preserves the ordering, then f is a morphism.</p>
      <p>Given a signature Σ, and X a set of variables, a term is a construct of the
form x ∈ X, or σ(t1, . . . , tn) for σ an operation of arity n and ti a term for
i = 1, . . . , n. The set of terms constructed in this way is denoted TΣ (X). Given
a signature Σ, an equation is a construct ∀X(t = t0), with X ⊂ V (V a countably
infinite set of variables), t, t0 ∈ TΣ (X). An equation is valid in a Σ-algebra A if
for all assignments α of symbols in X to values of A, α#(t) = α#(t0), where α#
indicates the canonical extension of α from variables to terms. An algebra A is
a model for a set of equations E if A validates each equation of E.</p>
      <p>In many cases, we are interested in carrier sets including values of different
type. In this case, we speak of many-sorted algebras, by introducing the notion
of sort. Then, each value of A belongs to a specific sort s from a set S. The arity
of an operation in Σ is defined by a function ar : Σ → W (S) × S, where W (S)
is the set of all words of finite length built with symbols from S. The realisation
of an operation must then be consistent with its declared arity. All the above
notions for Σ-algebras are immediately transferable to many-sorted Σ-algebra.</p>
      <p>Graphs are finite collection of nodes and edges and are often used as models
of some domain by considering nodes as representations of some domain entity
and edges as relations between them. In order to have a formal account of this
usage, we define a graph as a multisorted Σ-algebra with S = {node, edge},
where Σ includes a finite set of nullary operations (constants), each creating a
node and operations source and target, both of arity (edge, node).</p>
      <p>In general, we are interested in graphs with more complicated structure, as
can be provided by the use of labels or of attributes, and consequently of types.
In particular, a labelled graph is defined by including two sorts labelE and labelN
in S, two sets LN and LE in the carrier A, and operations labN : node → labelN
and labE : node → labelE in Σ. For attributes, one employs a graph signature,
as above, and a data signature.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Model Representation</title>
      <p>
        In this section and in the rest of the paper the term ”model” is used according
to the following definition: ”A model is a set of statements about some system
under study”[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>However, this is not in contrast with the definition in Section 3, as these
statements can be seen as ground equations in the definition of the algebra, and
the algebra operations can be seen as ways to infer new statements.</p>
      <p>Several kind of models (e.g. Enterprise models, Software models, Process
models) and modelling languages exist and a common way to present them to a
human user is by means of a diagrammatic representation. This is possible due
to the intrinsic “graphic” (see Figure 1) nature of most of modelling languages;
in fact, most of them can be represented using nodes and edges connecting
them; moreover nodes and edges can have a label associated with them. We have
choosen therefore to adopt a powerful graph formalism as a base for representing
different kind of models and modelling languages.</p>
      <p>Definition 1. A Labelled Directed Multigraph (LDMGraph) is a 6-tuple
G = (V, E, s, t, lv, le), where V, E are two finite sets, s, t : E→V are two functions
indicating source and target of an edge, and lV : V →ΣV , lE : E→ΣE are two
functions from V and E in the two finite sets of labels ΣV e ΣE .
Definition 2. Given a model M , ELM = V ∪ E is the set of the basic elements
of the model (that is, nodes and edges). Given a graph G, we define the set of all
subgraphs of G as Sub(G).</p>
      <p>In the rest of the paper a subscript will be used to denote the elements of a
tuple defining an LDMgraph G (e.g. VG is the set of vertexes of the LDMgraph
G etc.)
Definition 3. An LDMgraph G is said to be typed if exists an LDMgraph T
such that lT V and lT E are bijections, and a function type: ELG → ELT
(mapping nodes in nodes and edges in edges) and ∀e ∈ EG type(sG(e)) = sT (type(e))
and type(tG(e)) = tT (type(e)).</p>
      <p>We call MOD the set of LDMgraphs and M2M is the set of functions
f such that f : MOD→MOD; given a family of models M and a function mc:
M → M OD then Mmc = {mc(x) : x ∈ M } ⊆ M OD is the subset of LDMgraphs
that are representation of the models in M; e.g. given the set of UMLModels
and a procedure umlmc to convert the concrete syntax of UML serialization (for
instance XMI) to an LDMgraph representation, then U M LM ODELSumlmc is
the set of graphs in M OD that are representation of some UML model.</p>
      <p>We assume that the translation from concrete syntaxes of existing modelling
languages into the proposed graph formalism is a not difficult task; we give an
example by representing the metamodel of UML state diagram in Figure 2. In
such picture every state(transition) is represented by a node of an attributed
graph, labelled with the name of the state(transition) and every transition is
linked to states by edges labelled with ”source” and ”target”.
5</p>
      <p>
        (Inter-)Model correspondence
An inter-model correspondence, usually referred to (with a little abuse of
terminology) also as model correspondence, is the expression of the relations holding
between the ”subparts” of two models. Such ”subparts”, according to the syntax
we adopted for representing generic models, are identified by subgraphs of the
considered models. A similar approach is used in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. A model correspondence is
Element-to-Element if it puts in correspondence one element of a model with
exactly one of the other model; there are, by the way, more complex cases in which
we map single elements in the source model with subgraphs in the target one
(Element-to-Subgraph correspondence) or, even, a subgraph in the source model
with a subgraph in the target one (Subgraph-to-Subgraph correspondence). See
figure 3.
      </p>
      <p>Definition 4. Given two models A and B (A, B ∈ MOD) an inter-model
correspondence is a relation m ⊆ Sub(A) × Sub(B). An (inter-)model mapping is
a function f m: Sub(A) → Sub(B)</p>
      <p>The above definitions are very general and capture a great variety of classes
of correspondences: functional and non-functional correspondences,
Element-toElement correspondences, etc.</p>
      <p>Fig. 2. UML State Diagram representation with LDMgraph formalism
Fig. 3. Examples of Element to Element and Subgraph to Subgraph correspondance</p>
      <p>Given two models A e B and a model correspondence m, three cases are
possible:
– ∀el ∈ ELA exists (x, y) ∈ m such that el is subgraph of x. In this case
the model B is said to ”totally cover” the model A via the correspondence
relation m.
– ∃el ∈ ELA such that ∀(x, y) ∈ m, el is not a subgraph of x. In this case
the model B is said to ”partially cover” the model A via the correspondence
relation m.
– ∀el ∈ ELA 6 ∃(x, y) ∈ m such that el is subgraph of x; this happens only
when m = ∅.</p>
      <p>The final considerations we want introduce concern the cardinality of the
space of correspondences. It can be very large; in fact, given two models A and
B, the space of correspondences M SP ACEAB is constituted by the set of all
relations m ⊆ Sub(A) × Sub(B), and thus |M SP ACEAB| = 2|Sub(A)×Sub(B)|.</p>
      <p>Another common procedure is to enrich the correspondence with expressions
taken from a given marking language, that will act as additional information in
a subsequent step, the correspondence exploitation.</p>
      <p>Definition 5. Given two models A and B (A, B ∈ MOD) and a marking
language LM , a marked correspondence is a relation m ⊆ Sub(A) × Sub(B) × LM .</p>
      <p>
        A typical example could be the association to an edge of a number in the
interval [
        <xref ref-type="bibr" rid="ref1">0,1</xref>
        ] to state the degree of similarity between the elements. By using as
marking language LM = [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], we can generate, for example, (Employee,
Person, 0.7) or (Employee, Student, 0.3).
5.1
      </p>
      <sec id="sec-4-1">
        <title>Model correspondences and Semantics</title>
        <p>In this section we want to introduce some simple cosiderations about the
semantics of the models involved in a model correspondence.</p>
        <p>Given an LDMGraph G, a model interpretation of G is a pair (I, Δ) where Δ is
called the domain of interpretation or universe of discourse and I is a function
such that I(v) ⊆ Δ for v ∈ VG and I(e) ⊆ Δ × Δ for e ∈ EG. With a little
extension we indicate with I(G) = Sel∈ELG I(el) to denote the interpretation of
the model G.</p>
        <p>Definition 6. Given two models A, B and two model interpretations (I0, Δ)
and (I00, Δ) (note that that the domain of interpretation is the same) if it holds
I0(A) ⊆ I00(B) then the model A is semantically contained in the model
B with respect to I0, I00. The two models are semantically equivalent (w.r.t
I0, I00) if it holds the mutual containment.</p>
        <p>Given 2 models A and B, two model interpretations (I0, Δ), (I00, Δ) and a
model correspondence m ⊆ A × B, m is said to induce a semantics-model
containment if for each (A0, B0) in m we have I0(A0) ⊆ I00(B0).
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Model Transformation</title>
      <p>The scenario of a model transformation is the following: we have a source model
A and a function t: M OD → M OD and we use it to obtain the target model B.
So the definition of model transformation is fairly simple.</p>
      <p>Definition 7. Let A be a model and t: M OD → M OD be a function then t is
a model transformation; A is called the source (input, starting) model and B =
t(A) is called the target (output, transformed) model (of the application of the
transformation t).</p>
      <p>The differences with a model correspondence (mapping) are the following:
– A model transformation is a function, a model correspondence can be a
generic (non-functional) relation
– Domain and range of model correspondences and transformations are
different (see definitions). Model correspondences define the relationships between
subparts of two given models, while a model transformation takes as input
a model and returns as output a model.
6.1</p>
      <sec id="sec-5-1">
        <title>Model merging</title>
        <p>The operation of merging raise when dealing with multiple input models.
Fundamentally we consider model merging as a model transformation applied to
multiple inputs.</p>
        <p>Another intended meaning conveyed to the concept of model merging is related
to the semantics preservation; we expect that the model result of merging
semantically ”contains” all the models given as inputs.</p>
        <p>However we now intend to give only an intuition of merging functions.
Definition 8. A multiple model transformation is a function t: M OD+ →
M OD.</p>
        <p>We now propose a (not fully complete) definition of merging, letting
undefined the concept of semantic preservation.</p>
        <p>Definition 9. A model merging is a multiple model transformation such that
the semantics of the source models is preserved in the merged model.
7</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Model Correspondence Discovery</title>
      <p>The process of (inter-model) correspondence discovery is the process that takes
as inputs two models and returns as output a model correspondence.
Definition 10. A (inter-model)c orrespondence (mapping) discovery is a
function mdisc: M OD × M OD → ICOR where ICOR is the set of inter-model
correspondences</p>
      <p>This definition, similarly to what has been done for the definition of model
mappings and transformations, tries to be as general as possible. Once we have
traced the ”bounds” of the objects we are interested in, we are able to investigate
and delineate several more specific subclasses.</p>
      <p>
        For a detailed overview of types of correspondence discovery methods see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
8
      </p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and future work</title>
      <p>In this paper we tried to give a characterization of relevant terms in the domain
of model mapping/transformation tasks, exploiting concepts and results from
graph theory and from algebraic approaches to graph transformation. An
abstract view of models in terms of graphs allows formal reasoning on their
properties and on the properties of the transformation processes needed for their
effective management. While several competing approaches to the definition of
graph transformations exist, reasoning on abstract properties at an algebraic
level provides several advantages. For example, it allows the study of the
different forms of equivalence through general rather than ad hoc mechanisms, relying
on a wealth of theoretical results. Moreover, it allows the exploitation of existing
tools, without the need to implement ex novo complex pattern matching
algorithms. Third, problems of model maintainance have been specifically addressed
in these approaches, so that new problems can be attacked by adapting
solutions for other related problems. Drawing on studies in these fields, we plan to
arrive at a more refined characterization of model transformation and model
correspondence discovery techniques, which will serve as a basis for the realisation of
two reference architectures for model transformation (based on attributed graph
transformations) and model correspondence discovery development.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bottoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Parisi-Presicce</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer. Specifying Coherent</surname>
          </string-name>
          <article-title>Refactoring of Software Artefacts with Distributed Graph Transformations</article-title>
          . In P. v. Bommel, editor,
          <source>Transformation of Knowledge, Information, and Data: Theory and Applications</source>
          , pages
          <fpage>95</fpage>
          -
          <lpage>125</lpage>
          . Idea Group Publishing,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bottoni</surname>
          </string-name>
          , Kathrin Hoffmann, Francesco Parisi Presicce, and
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>High-level replacement units and their termination properties</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          ,
          <volume>16</volume>
          :
          <fpage>485</fpage>
          -
          <lpage>507</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Giorgos</given-names>
            <surname>Stamou</surname>
          </string-name>
          et al.
          <source>Diana Maynard. D2</source>
          .
          <article-title>2.3: State of the art on current alignment techniques, 2004. Knowledge Web NoE Deliverable</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          , J. de Lara, G. Taentzer,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Varr´o, and</article-title>
          <string-name>
            <given-names>S.</given-names>
            <surname>Varr´</surname>
          </string-name>
          o-Gyapay.
          <article-title>Termination criteria for model transformation</article-title>
          .
          <source>In Proc. Fundamental</source>
          Approaches to Software Engineering (FASE
          <year>2005</year>
          ), volume
          <volume>3442</volume>
          <source>of LNCS</source>
          , pages
          <fpage>49</fpage>
          -
          <lpage>63</lpage>
          . Springer Verlag,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gajewsky</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Parisi</surname>
          </string-name>
          <article-title>Presicce. High-Level Replacement Systems with Applications to Algebraic Specifications and Petri Nets</article-title>
          , volume
          <volume>3</volume>
          : Concurrency, Parallelism, and Distribution, chapter
          <volume>4</volume>
          . to appear, handbook
          <article-title>of graph grammars and computing by graph transformations edition</article-title>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Habel</surname>
          </string-name>
          , H.
          <article-title>-</article-title>
          <string-name>
            <surname>J. Kreowski</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Parisi-Presicce</surname>
          </string-name>
          .
          <article-title>Parallelism and concurrency in High Level Replacement Systems</article-title>
          . Math. Struc. in Comp. Science,
          <volume>1</volume>
          :
          <fpage>361</fpage>
          -
          <lpage>404</lpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>L¨owe. Parallel and distributed derivations in the single pushout approach</article-title>
          .
          <source>TCS</source>
          ,
          <volume>109</volume>
          :
          <fpage>123</fpage>
          -
          <lpage>143</lpage>
          ,
          <year>1993</year>
          .
          <source>Tech. Rep</source>
          .
          <volume>91</volume>
          /01 Technical University Berlin.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pfender</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.J.</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Graph grammars: an algebraic approach</article-title>
          .
          <source>In 14th Annual IEEE Symposium on Switching and Automata Theory</source>
          , pages
          <fpage>167</fpage>
          -
          <lpage>180</lpage>
          . IEEE,
          <year>1973</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Giorgos</given-names>
            <surname>Stamou</surname>
          </string-name>
          et al.
          <source>Franconi. D2</source>
          .
          <article-title>2.1: Specification of a common framework for characterizing alignment</article-title>
          ,
          <year>2004</year>
          .
          <article-title>Knowledge Web NoE Deliverable</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Jan Hendrik Hausmann, Reiko Heckel, and
          <string-name>
            <given-names>Marc</given-names>
            <surname>Lohmann</surname>
          </string-name>
          .
          <article-title>Model-based discovery of web services</article-title>
          .
          <source>In ICWS</source>
          , pages
          <fpage>324</fpage>
          -
          <lpage>331</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Jochen Malte Ku¨ster, Reiko Heckel, and
          <string-name>
            <given-names>Gregor</given-names>
            <surname>Engels</surname>
          </string-name>
          .
          <article-title>Defining and validating transformations of uml models</article-title>
          .
          <source>In HCC</source>
          , pages
          <fpage>145</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. L</surname>
          </string-name>
          <article-title>¨owe, M. Korff, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Single-pushout transformation of attributed graphs: a link between graph grammars and abstract data types</article-title>
          .
          <source>In Proc. of the SEMAGRAPH Symposium</source>
          <year>1991</year>
          , pages
          <fpage>359</fpage>
          -
          <lpage>379</lpage>
          .
          <source>Technical Report 91-25</source>
          , University of Nijmegen,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. L</surname>
          </string-name>
          <article-title>¨owe, M. Korff, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>An algebraic framework for the transformation of attributed graphs</article-title>
          . In
          <string-name>
            <surname>M.R. Sleep</surname>
            ,
            <given-names>M.J.</given-names>
          </string-name>
          <string-name>
            <surname>Plasmeijer</surname>
          </string-name>
          , and M.C. van Eekelen, editors,
          <source>Term Graph Rewriting: Theory and Practice</source>
          , chapter
          <volume>14</volume>
          , pages
          <fpage>185</fpage>
          -
          <lpage>199</lpage>
          . John Wiley &amp; Sons Ltd,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Demeyer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Janssens</surname>
          </string-name>
          .
          <article-title>Formalising Behaviour Preserving Program Transformations</article-title>
          . In A. Corradini,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ehrig</surname>
          </string-name>
          , H.
          <article-title>-</article-title>
          <string-name>
            <surname>J. Kreowski</surname>
          </string-name>
          , and G. Rozenberg, editors,
          <source>Proc. of ICGT'02</source>
          , volume
          <volume>2505</volume>
          <source>of LNCS</source>
          , pages
          <fpage>286</fpage>
          -
          <lpage>301</lpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Ed Seidewitz.
          <article-title>What models mean</article-title>
          . IEEE Softw.,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>26</fpage>
          -
          <lpage>32</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. G. Suny´e,
          <string-name>
            <given-names>D.</given-names>
            <surname>Pollet</surname>
          </string-name>
          , Y. LeTraon, and J.
          <string-name>
            <surname>-M J</surname>
          </string-name>
          <article-title>´ez´equel. Refactoring uml models</article-title>
          .
          <source>In Proc. UML</source>
          <year>2001</year>
          , volume LNCS
          <volume>2185</volume>
          , pages
          <fpage>134</fpage>
          -
          <lpage>138</lpage>
          . Springer-Verlag,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Gabriele</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Hierarchically Distributed Graph Transformation</article-title>
          . In Janice E. Cuny, Hartmut Ehrig, Gregor Engels, and Grzegorz Rozenberg, editors,
          <source>Proc. 5th Int. Workshop on Graph Grammars and their Application to Computer Science, volume LNCS 1073</source>
          , pages
          <fpage>304</fpage>
          -
          <lpage>320</lpage>
          . Springer-Verlag,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Ragnhild Van Der Straeten</surname>
            , Viviane Jonckers, and
            <given-names>Tom</given-names>
          </string-name>
          <string-name>
            <surname>Mens</surname>
          </string-name>
          .
          <article-title>A formal approach to model refactoring and model refinement</article-title>
          .
          <source>Software Systems Modeling</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <article-title>D´aniel Varr´o. Automated formal verification of visual modeling languages by model checking</article-title>
          .
          <source>Software and System Modeling</source>
          ,
          <volume>3</volume>
          (
          <issue>2</issue>
          ):
          <fpage>85</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Wechler</surname>
          </string-name>
          .
          <source>Universal Algebra for Computer Scientists</source>
          . Springer-Verlag,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. Paul Ziemann, Karsten H¨olscher, and
          <article-title>Martin Gogolla. From UML models to graph transformation systems</article-title>
          . In Mark Minas, editor,
          <source>Proceedings of the Workshop on Visual Languages and Formal Methods (VLFM</source>
          <year>2004</year>
          ), volume
          <volume>127</volume>
          (
          <article-title>4) of ENTCS</article-title>
          . Elsevier,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>