<!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 Structured Work ow Language for Model Management?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sahar Kokaly</string-name>
          <email>kokalys@mcmaster.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computing and Software McMaster University</institution>
          ,
          <addr-line>Hamilton, ON</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In Model Driven Engineering (MDE), models and mappings play a key role in system design. However, in practice, models and mappings do not exist in isolation, but are combined to form systems of interrelated models. We call the trace of operations, such as model transformations or model merges, between an initial con guration of a system of interrelated models to a nal one, a work ow. Current approaches for using work ows in MDE exist, but are generally informal and do not properly address traceability and veri cation. In this work, we propose a structured method for de ning work ows for model management, which automatically ensures traceability and inherently enables veri cation. This approach also sets the stage for de ning a declarative work ow language, which we believe can aid in validation. Through this framework, comparison and optimization of work ows is possible, as they are represented as algebraic terms in a mathematically de ned language. Finally, the framework gives rise to multiple levels of abstraction, making it exible enough to be used at di erent stages of the system design, while enabling better work ow readability and maintainability.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>The need for work ows in MDE.</title>
      <p>
        Model Driven Engineering (MDE) focuses on the use of models and
mappings between them to drive the software development cycle. However, models
and mappings do not exist in isolation, but are combined to form systems of
interrelated models, that are chained through the use of operations, to form
workows that ful ll a given intention in the software design. Forming such chains
is therefore a natural step in MDE to enable the description of the composition
of activities in software construction and provide explicit means for MDE
automation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Consider the Epsilon family of languages [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which is comprised of
various domain-speci c languages that are used for tasks such as model
transformation (Epsilon Transformation Language (ETL)), model validation (EVL),
model merge (EML), model comparison (ECL) and code generation (EGL). In
order to combine the outputs of these languages and form a chain of model
management operations, a work ow language must be used.
? This work is being done as part of the NECSIS project, funded by Automotive
Partnership Canada and NSERC. I would like to thank Dr. Tom Maibaum, Dr.
      </p>
      <p>Zinovy Diskin, and Dr. Richard Paige for their supervision in this work.</p>
    </sec>
    <sec id="sec-2">
      <title>Work ows should be modelled.</title>
      <p>
        However, in order to stay faithful to the MDE philosophy, work ows should
also be modelled before implementation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], making them amenable to analysis
and independent of platform speci c details. But, as supported in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], to the
best of our knowledge, little work is devoted to understanding the underlying
structure of such work ows when they are used in MDE.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Models of work ows should be structured.</title>
      <p>
        As was recently stated in an article by Whittle et al.: \It turns out that the
main advantages are in the support that MDE provides in documenting a good
software architecture. Most would agree that a clearly described software
architecture is one of the key ingredients for successful software development" [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In
order for MDE to provide this advantage, work ows in MDE should not only
be modelled, but be de ned in a structured way that makes their speci cation
serve as a good documentation method, and as a basis for sound implementation.
Structured approaches have historically demonstrated their value in managing
the complexity of systems. For example, the shift from assembly programming to
the structured programming paradigm has proved to be a good design decision,
and we believe the same is true for the way work ows should be de ned in MDE.
      </p>
    </sec>
    <sec id="sec-4">
      <title>The right level of abstraction.</title>
      <p>The current way work ows are modelled is via diagrams that contain only
unstructured nodAes(sanimdupnslteru(cstcureednaarrroiwos(. However, this makes the work ow A(simple(scen
de nitions too abstract, which does not lend itself to their disciplined
implementation, or checking their correctness. To further motivate the importance of this
!  Usperro:!“bIl!ehmav,e!ctownos!imdoedretlhs:e!Mfo1l!laonwd!iMng2.!I!wouldm!likaen!agement scenario:</p>
      <p>model
to!merUgese!trh:em\I!ahnadv!tehetwn!ogemneordaetels!:coMde1!fraonmd!tMhe2!. I would like to me!rg  eUthseemr:!“aI!nhdavthee!tnwo!models:!M1!and!M2.!I!woul
resguelnt.e!Ir!watoeulcdo!dtheefnr!olikme!ttoh!etrarecesu!blat.ckI!two!oseueld!wthhaetn! like to trace back to steoe!mwehargtep!athrte mof!and!then!generate!code!from!
patrht!eofc!tohdee!ccoadme!ceafmroem!froMm1!M."1.”! result.!I!would!then!like!to!trace!back!to!see!
part!of!the!code!came!from!M1.”!
!
import!models!M1,!M2!
import!overlap!O=O(M1,!M2)!
merge!(M1,M2)!into!M3!using!O! 1:overlap!
import!transformaPon!t!
apply!t!to!M3!to!produce!Code!
Intersect!(M1,Code)!into!M14!</p>
      <p>M1!
M2!</p>
      <p>M14!
4:intersect!</p>
      <p>3:transform!
2:merge!</p>
      <p>M3!</p>
      <p>M4!
(Code)!
5"
given!
heurisPcs!</p>
      <p>This can be depicted graphically in Fig. 1, and a script implementing this
work ow scenario is shown in Fig. 2. We start with two input models M 1 and
M 2, de ne their overlap in the rst step of the work ow, then merge these
two models into a third model M 3 via a merge operation. Afterwards, some
transform operation is used to generate code (M 4). In order to nd which part
of the code came from M 1, an intersect operation is used, which yields M14.</p>
      <p>The main issue with the current way the work ow is represented is that there
exists a very large gap between the diagram and the code that would implement
it. We would therefore like to propose a way to model the work ow that is still
abstract, but not too abstract to be too far from the semantics of the operations
and how they are composed.</p>
    </sec>
    <sec id="sec-5">
      <title>Traceability mappings as rst class citizens.</title>
      <p>
        Traceability is increasingly required in software development at the
stakeholder level (e.g., to ensure a given requirement has been implemented in the
system), but also at the software development level (e.g., to ensure traceability as
high level models are re ned along the development process) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Because model
management work ows explicitly model the relations between the several steps
of an MDE process, traceability is a natural consequence of using such
workows. But, as in any system, in order to be able to reason about it, it should be
modelled by a correct mathematical model. If the model is incomplete, reasoning
is not possible [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Based on that, traceability mappings should be considered
rst class citizens in the work ow model; if they are left implicit, they cannot
be directly used for reasoning and analysis. To do this, traceability mappings
should be included in the arity of the model management operations (i.e., the
typing of their parameters), and then, the composition of these operations to
construct work ows will also have explicit traceability.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Veri cation and Validation of Work ows.</title>
      <p>Finally, it is known that the presence of errors in models and model
management operations risks both the reliability of MDE-based processes and the
soundness of the resulting products. For this reason, there is a great need for
mechanisms to ensure quality and the absence of errors in models and model
management operations. This propagates to the work ow level as well, creating
a need for mechanisms to ensure quality and absence of errors in the model
management work ows. To do this, veri cation and validation techniques are
typically used, but as far as we know, none exist in the area of modelling
workows in MDE. For veri cation, what is needed is a mechanism to ensure that
the work ows satisfy one or more correctness properties. For validation,
mechanisms to check whether the work ows meet the user requirements are needed.
The latter is typically done through testing, but some formal methods, like model
checking, can also aid in validation.</p>
      <p>In this work, we propose a method that we argue will improve how work ows
are modelled in MDE. We see this work being useful in both theory and practice
and of interest to audiences from both academia and industry that are generally
interested in specifying their model management tools and reasoning about their
model management chains.
2</p>
      <sec id="sec-6-1">
        <title>Related Work</title>
        <p>In this section we provide an overview of current approaches in the area of
work ows for MDE, and summarize with a list of problems.</p>
        <p>
          Epsilon is a suite of languages that are used for modeling and applying
operations on models, such as comparison, validation, transformation, merge, etc.
[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. In order to make use of the power of these languages and build a complex
system, a work ow needs to be de ned that executes tasks, prescribed in the
di erent languages, in a prede ned order. The current tool of choice to do this
in Epsilon is the ANT tool [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. What ANT does is similar to what a \make le"
does. In ANT, each work ow is captured as a project, and each project consists
of a number of targets. There is a default target that represents the starting
state, and each target contains a number of tasks that depend on other targets
that must be executed before it. In this manner, what ANT does is simply de ne
a control ow with provision for branching and looping.
        </p>
        <p>
          The Formalism Transformation Graph (FTG) and its complement, the
Process Model (PM) as presented in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], together form a framework for explicitly
describing model transformation chains in MDE. The FTG describes the di
erent languages that can be used at each stage of model development. The PM
models the control ow and data ow between each transformation action in the
chain. Though traceability is claimed in this work, it is not clearly shown.
        </p>
        <p>
          Model Transformation Chain (MTC) Flow is a tool that allows MDE
developers to design, develop, test and deploy MTCs [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. It o ers a graphical editor
for de ning any MTC and suggests alternative execution paths for MTCs. One
obvious disadvantage to this tool is that it currently only supports sequential
transformation chains, and does not enable activities like merging or comparing
between models within a chain.
        </p>
        <p>
          UML Activity Diagrams are used for specifying work ows and takes into
account both data and control ow [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. There has been work based on using
UML activity diagrams as a work ow modeling language [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], but it has been
shown in the same work that although UML's activity diagrams are well-suited
for this problem, they are not ideal. Traceability in UML activity diagrams can
be ensured at a high level (i.e., between interfaces of activities and operations),
and not at the lower level desired in MDE (i.e., the model and mapping level).
        </p>
        <p>In summary, below are the issues we have identi ed and plan to address:
{ Modeling: Work ows are not always modelled before implementation, and
if they are, it is not in a structured way that enables reasoning.
{ Expressiveness: Many languages/tools support sequential composition only
and do not support more interesting work ow combinators such as parallel
composition and branching.
{ Traceability: As far as we understand, traceability is either implicit or
nonexistent. A way to automatically ensure traceability, or use it for reasoning
and analysis, is not possible with current approaches.
{ Veri cation: This cannot be done without the notion of data ow, and
requires a grammar from which to build terms and the ability to check
whether a term is correct or not.
{ Validation: In general, this is not straightforward, but we think it can be
achieved with the help of a proper declarative work ow language.</p>
        <p>3.(Diagrammatic(Workflow(</p>
        <p>Proposed Solution 3.(Diagrammatic(Workflow(
!  TUsheirs:!“sIe!hcatvioe!ntwpor!movoiddeelss:!aMh1!iagnhd!lMev2e.!lI!wovoeurldv!liiekwe! of our proposed solution to modelling
wtoo!mrkergoew!thseimn!aMndD!thEe.nW!geeneprartoep!coosdee!afro!s mt r!tUuhcseet!ru:!r“eI!dhaavpe!pt wrooa!mcho,dealns:d!Mf1o!rantdh!Me2p.u!I!rwpoousleds!likoef!
result.!I!would!then!like!to!trace!back!to!see!wthoa!mt! erge!them!and!then!generate!code!from!the!
this paper, we use diagrams to exhibit this structure.
part!of!the!code!came!from!M1.”! result.!I!would!then!like!to!trace!back!to!see!what!
part!of!the!code!came!from!M1.”!
! M14! !</p>
        <p>! ! M14!
4:INTERSECT! ! Source&amp;MM&amp; Q(Source&amp;MM)&amp; target&amp;MM&amp;
1:!MATCOH! M12!:!MERGeE1!! M3! 3:TRANSFORM!CMod4e:!! !!!!1:!MATCH! M1! :qExe&amp; e1! :relab&amp; 4:INTERSECT!</p>
        <p>M2! e2! traceability! !! O 2:!MERGE! M3! 3:TRANSFORM!CMod4e:!!
given! heurisPcs! automaPc! !! Sourc(Ce&amp;DM)&amp;odel&amp;M2! e2![[Q]](CD)&amp; traceab(TiDalBritg&amp;Seyct!h&amp;Memodae)&amp;l&amp;
7"
Fig. 3. Structured work ow through
diagrams.</p>
        <p>given! heurisPcs!
Fig. 4. Transformation
diagrammatically.</p>
        <p>Typing(for(operations(
automaPc!</p>
        <p>Back to our example from Section Name! Input!Arity! Output!Arity!
1, we model our work ow once again p R q
using a diagram as depicted in Fig. Match! A B A B
t3dh.iaeNgcroahwme,vmtrhoaentsiocpaalerlerya.ttFhiooenmrsesaxeplavpmeespalrdeie,ngcnooendn- Merge! A p R q B A pr RC sq B
sider the transformation operation, Transform! A A p tR qB
swhhoiwchn winasFigrs.t4p.rTohpeosterdaninsfo[3r]maantdioins Intersect! A p R q B A r C s B
is de ned through the tiling
(composition via a common edge) of two op- Fig. 5. Typing system for a subset of model
erations: qExe, which speci es query management operations.
execution, and relab, which relabels the query result in terms of the target
metamodel. Note that the output of one operation (qexe), namely the vertical
blue arrow, becomes part of the input to the next operation (relab). Also,
notice two types of output mappings from the generated target model; the vertical
blue arrow which represents a typing mapping to the target metamodel, and
the horizontal blue arrow which represents a traceability mapping. This way of
de ning the transformation automatically ensures traceability in the system, as
the traceability mapping is explicit in the arity of the operation, or, in other
words, the typing of its parameters and outputs; when the parameter or output
is a graph, the type is a graph shape. We can then de ne a typing system for
the operations (i.e., prescribing their (graphical) arities), which is also
diagrammatic in its nature. This is shown for a subset of model management operations,
namely, match, merge, transform and intersect, in Fig. 5.</p>
        <p>Work ow de nitions de ned in this manner can then be parsed into a
Directed Acyclic Graph (DAG) which can be used to verify correctness of the
terms. Some properties that can be checked are lack of cycles in the DAG and
that each operation satis es its typing, presented in Fig. 6.</p>
        <p>Finally, we can construct a work ow
lanMgMuaTgeis ( Wthe s=igna(turMe MoTf; mCo)d),el wmhaenre- Mt4!p!roject% intersect% spanp!roject% M14!
agement operations and C is the sig- transform%
nature of work ow combinators. For our M3!
cbuerrsetnrtucstiumrepdle assceannariaol,geabrwaiocrkteromw wWoul=d CoIproject% project% e1!
(match; merge; transf orm; intersect), where spanm!erge%
match; merge; transf orm; intersect are from span!</p>
        <p>MMT and ; is sequential composition from</p>
        <p>
          C . This algebraic term represents the intent M1! match% M2!
of Fig. 3, and the meaning of sequential
composition is given by the tiling explained in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] given! heurisPcs! automaPc!
and shown in Fig. 4. 11"
        </p>
        <p>We envision our framework supporting Fig. 6. Parsing the algebraic
workthe full range of model management opera- ow using a DAG.
tions supported by standard model management tools, and containing work ow
combinators that we will derive from common model management scenarios.</p>
        <p>In summary, we specify our system of interrelated models via graphs and
graph mappings, constraints on such a system via diagram predicates, and
operations on these systems via diagram operations. The latter are then composed
(tiled) to form complex chains which de ne work ows in our language.
4</p>
      </sec>
      <sec id="sec-6-2">
        <title>Preliminary Work</title>
        <p>
          This work started by examining the emerging concept of \megamodeling" in
MDE. We quickly realized that the way megamodeling is discussed in most
papers lacks a theoretical foundation and therefore is not amenable for veri cation
or reasoning. We decided to look at megamodeling from a more formal view,
and we presented \Mapping-Aware Megamodels" in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. In the mentioned work,
we proposed that megamodels are models of systems of interrelated models and
operations over them. We showed how to specify this system of interrelated
models, some operations over such a system and composition of such operations.
The highlight of our approach is that all of the above was speci ed in a non-ad
hoc way, meaning, we proposed a general approach for specifying
megamodels in MDE that is built on mathematical foundations borrowed from Category
Theory. What we ended up with was a library of design patterns and laws for
megamodelling, that we believe act as building blocks important for laying the
foundations of a systematic engineering approach to this eld.
        </p>
        <p>
          In related work done within our group [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], a declarative approach to model
transformations that is query structured is presented. The initial results show
that such an approach when compared to procedural model transformation
approaches makes the transformation de nition more structured, which leads to
better readability, maintainability and veri ability of the transformations. This
way of de ning a model transformation is an example of how we would like to
structure our model management operations, allowing us to compose them in
such a way that guarantees correctness of the chain by construction, and
providing better readability, maintainability and veri ability at the work ow level.
5
        </p>
      </sec>
      <sec id="sec-6-3">
        <title>Expected Contributions</title>
        <p>The main contributions of this work will be:
{ A structured speci cation of megamodels: Models and mappings as rst
class citizens modelled via graphs and graph mappings, respectively, the
constraints on them modelled via diagram predicates, and the operations on
them modelled via diagram operations.
{ A work ow language for megamodeling that is built via the composition
(tiling) of diagram operations.
{ Evaluation of the work ow language and a set of suggested improvements
to the state-of-the-art in the area of work ows in MDE.</p>
        <p>
          We expect that our work will serve as a framework on which model
management languages, and model transformation chain tools can build speci cations
for their tools and verify correctness of their chains. In addition to addressing
the issues in the state-of-the-art (refer to Section 2), we believe our work will
provide the following advantages to the way work ows are modelled in MDE.
{ Readability and Maintainability: Work ows that are easier to read and
write, and are therefore more maintainable. Early work showing this with
regards to using a declarative model transformation approach shown in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
{ Multiple levels of abstraction: Work ows that can be modelled at di
erent levels of abstraction, making them usable at various stages of the design,
from the initial stage of communicating with the domain expert to get the
requirements for the work ows, down to code generation.
{ Comparison and Optimization: Representing work ows as algebraic terms
will enable us to compare work ows to check if they are semantically
equivalent, and optimize work ows to nd more e cient ones.
6
        </p>
      </sec>
      <sec id="sec-6-4">
        <title>Plan for Evaluation and Validation</title>
        <p>For validation, we plan to build our work ow language by example. What this
means is that we will start with simple case studies to help de ne what model
management operations and work ow combinators will form our language, and
then work our way up to more complex examples while expanding our language.</p>
        <p>
          For evaluation, the plan is to compare our approach to similar approaches
by taking a practical model management scenario1, modelling it in the various
approaches (including ours), and performing analysis with respect to prede ned
criteria. For example, readability, ease of use and maintainability of the work ow
de nitions can be achieved through a usability study that would reveal how much
the various approaches aid in improving communication and help in di erent
1 We plan to conduct an industry case study from the automotive domain which has
been used in the NECSIS project, namely the power window case study used in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
We would also like to aim for another industry case study which we hope to de ne
as the work progresses.
design stages. Other criteria include how traceability is de ned and correctness
of the methods. As an outcome of the evaluation step, we hope to identify a set
of weaknesses in the related approaches and come up with a set of suggestions
for improving the way work ows are modelled in MDE.
7
        </p>
      </sec>
      <sec id="sec-6-5">
        <title>Current Status and Timeline</title>
        <p>
          The remainder of the PhD will take our work in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], expand the work on diagram
operations and work ows by adding more operations and combinators, and
implement the parsing approach to work with these operations and combinators.
As explained in Section 6, we plan to build our work ow language \by
example" which means the case study work will be performed in parallel with the
work ow language speci cation. We expect that this approach will help reveal
the model management operations and combinators to be included as part of
the signatures that de ne our work ow language, as a primary step, and help
evaluate our language as a secondary step. The planned timeline for this work
is as follows:
{ More detailed literature review. To be completed by Oct'14.
{ Work ow language speci cation and case studies. To be completed by Dec'15.
{ Evaluation. To be completed by Mar'16.
{ Work ow comparison and optimization. To be completed by Jun'16.
{ Writeup, submission, and defence. To be completed by Dec'16.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>The</given-names>
            <surname>Epsilon Book. Dimitris Kolovos</surname>
          </string-name>
          , Louis Rose,
          <article-title>Antonio Garc a-Dom nguez</article-title>
          , Richard Paige (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Alvarez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casallas</surname>
          </string-name>
          , R.:
          <article-title>MTC Flow: A Tool to Design, Develop and Deploy Model Transformation Chains</article-title>
          . In: ACME. pp.
          <volume>7</volume>
          :
          <issue>1</issue>
          {
          <issue>7</issue>
          :
          <fpage>9</fpage>
          . ACME '13,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Diskin</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Model Synchronization: Mappings, Tiles, and Categories</article-title>
          . In: GTTSE. pp.
          <volume>92</volume>
          {
          <issue>165</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Diskin</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kokaly</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maibaum</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Mapping-Aware</surname>
            <given-names>Megamodeling</given-names>
          </string-name>
          :
          <article-title>Design Patterns and Laws</article-title>
          . In: SLE. pp.
          <volume>322</volume>
          {
          <issue>343</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Diskin</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiong</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Czarnecki</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ehrig</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , Hermann,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Orejas</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>From State- to Delta-Based Bidirectional Model Transformations: The Symmetric Case</article-title>
          .
          <source>In: MoDELS</source>
          . pp.
          <volume>304</volume>
          {
          <issue>318</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          <year>t</year>
          .:
          <article-title>UML Activity Diagrams As a Work ow Speci - cation Language</article-title>
          . In: UML. pp.
          <volume>76</volume>
          {
          <fpage>90</fpage>
          . Springer-Verlag, London, UK, UK (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gholizadeh</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diskin</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maibaum</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Providing a well-formed structure for model transformation</article-title>
          .
          <source>In: AMT@MoDELS (In submission)</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lucio</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , Musta z, S.,
          <string-name>
            <surname>Denil</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vangheluwe</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jukss</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>FTG+PM: An Integrated Framework for Investigating Model Transformation Chains</article-title>
          .
          <source>In: SDL Forum</source>
          . pp.
          <volume>182</volume>
          {
          <issue>202</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Vanhoo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baelen</surname>
            ,
            <given-names>S.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hovsepyan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joosen</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berbers</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Towards a Transformation Chain Modeling Language</article-title>
          . In: SAMOS. pp.
          <volume>39</volume>
          {
          <issue>48</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutchinson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Rounce eld, M.:
          <article-title>The State of Practice in Model-Driven Engineering</article-title>
          .
          <source>IEEE Software 31(3)</source>
          ,
          <volume>79</volume>
          {
          <fpage>85</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>