<!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>Explicit Modelling of Model Debugging and Experimentation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Simon Van Mierlo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Problem De nition</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Antwerp</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, I present the topic of my PhD: the explicit modelling of model debugging and experimentation. Semantics of modelling formalisms include non-determinism, concurrency, and hierarchy, amongst others. Moreover, simulated time can have di erent relations to the wall-clock time and supports certain operations such as pausing. Providing debugging support for model simulations is non-trivial using traditional software development techniques. We therefore propose to model simulators, their debuggers, and environments explicitly. The systems we analyse, design, and develop today are characterized by an ever growing complexity. Modelling and Simulation (M&amp;S ) become increasingly important enablers in the development of such systems, as they allow rapid prototyping and early validation of designs. Domain experts, such as automotive or aerospace engineers, build models of the (software-intensive) system being developed and subsequently simulate them having a set of \goals" or desired properties in mind. Every aspect of the system is modelled, at the most appropriate level of abstraction, using the most appropriate formalism [1]. The M&amp;S approach can only be successful if there is su cient tool support, i.e., if the modeller has access to tools which su ciently support each phase in the M&amp;S approach. This is no di erent from traditional, code-based software development methods: programmers have access to various helpful tools such as version control software, testing tools, and debuggers. Debuggers allow to locate the source of a defect (which was detected by a failing test, meaning that one of its properties was not satis ed) using breakpoints, stepping, and tracing of runtime variables [2]. Support for simulation debugging is currently limited, and a challenging issue, as the next subsections explain.</p>
      </abstract>
      <kwd-group>
        <kwd>Model-Driven Engineering</kwd>
        <kwd>Debugging</kwd>
        <kwd>Simulation</kwd>
        <kwd>Statecharts</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Formalisms</title>
      <p>
        As was mentioned above, di erent aspects of a system are modelled
in a number of di erent modelling formalisms. This means that,
unlike a programming project, where usually one programming language
is used, a debugger has to be aware of the di erent semantic aspects of
these formalisms. A few examples of such languages include Petrinets [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
and rule-based model transformations, which allow for non-determinism,
Statecharts [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which allow to model concurrency and timed, reactive
behaviour, and Modelica [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which allows to model sets of mathematical
equations. These formalisms can be combined, either using \embedding"
(for example, action language in constraints or actions of patterns in
the rules of a model transformation), or, for hybrid systems, by
composing them heterogeneously, for which semantic adaptation methods were
developed [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
1.2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Time</title>
      <p>The notion of time plays a prominent role in model simulation.
Simulated time di ers from the wall-clock time: it is the internal clock of the
simulator. In general, a simulator updates some state variable vector,
which keeps track of the current simulation state, each time increment.
This is shown visually in Figure 1a. The state is updated by some
computations, or \steps": a big step corresponds to the computation of the
next value of the state variable, and consists of a number of small steps.
5
)
T
(S 4
e
m
iT 3
d
e
lta 2
u
m
iS 1
0
"smal step"
"big step"
)
V
S
(
e
l
b
a
i
r
a
V
e
t
a
t
S
1</p>
      <p>2 3
Simulated Time (ST)
4
5</p>
      <p>Simulation Step (SSTEP)
(a) Change of the state variable over
time.
(b) Multiple steps executed on a single
simulation time instance.</p>
      <p>Executing program code is always done as fast as possible, i.e., the speed
of the program is limited by the machine executing it. Simulations,
however, have an additional notion of time: the simulated time. A simulation
can be run as-fast-as-possible, or in (scaled) real-time, which is useful
for simulating models of real-time systems which might be deployed as
such on a real-time device. In this case, there is a linear relation between
the wall-clock time and the simulated time. The relation of the di erent
notions of simulated time and the wall-clock time is shown visually in
Figure 2. Note that there is no linear relation in as-fast-as-possible
simulation, meaning that the \current simulation time" is simply a variable in
the simulator. Moreover, operations can be performed on simulated time,
such as pausing, or stepping back, which are not allowed on wall-clock
time.
analytical time (as fast as possible)
stop event</p>
      <p>ST0=0WCT
not possible
pause event
resume event
scale factor changed after resume</p>
      <p>ST0&lt;0WCT
4</p>
      <p>PAUSE
1
2
3
5
6
7
8
9
10</p>
      <p>Wallclock0Time0(WCT)
Users interact with a simulation through the simulation environment.
The interleaving of user events coming from the environment with the
real-time, interruptible behaviour of the simulator (or interacting
simulators, in the case of hybrid system simulation), is non-trivial.
The challenge is to manage the inherent complexity of constructing
model debugging and experimentation environments. The interplay of
formalism execution semantics, di erent notions of simulated time, and
user interaction makes this a challenging task if traditional software
development methods are used. While examples exist of model simulation
debuggers implemented in code, it is clear that, especially for
multiformalism environments, techniques are needed to overcome this
complexity.
2</p>
      <sec id="sec-2-1">
        <title>Related Work</title>
        <p>
          One research question of the PhD is how concepts of program debugging
are mapped onto model simulation. For example, what does it mean to
step over or into a state in a Statecharts model, or a Place in a Petrinets
model? In some cases, this mapping is straightforward: stepping into a
composite Statechart state will change the scope of the simulation to
its contained states. Sometimes, such a mapping cannot be constructed.
Mannadiar and Vangheluwe [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] survey the state-of-the-art in debugging
and explore how these concepts can be translated to the realm of
DomainSpeci c Modelling.
Model debugging has received some attention in the literature on the
Modelica language. In [8{11], the authors develop techniques for
debugging equation-based models, which di er greatly from sequential
programs, where each statement is executed one after the other. They look
at static and dynamic debugging, as well as how to make the debugging
techniques scalable for large models.
        </p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], Musta z and Vangheluwe tackle the problem of constructing a
debugging environment for debugging Statecharts by explicitly modelling
it as a Statechart. In essence, the debugged Statechart is embedded into
the Statechart describing the behaviour of the environment.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>3 Proposed Solution and Expected</title>
      </sec>
      <sec id="sec-2-3">
        <title>Contributions</title>
        <p>
          The goal of this thesis is to construct a set of techniques for developing
useful debuggers for model simulations, taking inspiration from the code
debugging world and the simulation-speci c concepts discussed in
Section 1. In this section, we further split this up into a number of sub-goals.
A rst goal is to construct a set of debugging environments for a number
of well-known general-purpose modelling formalisms: Petrinets,
Statecharts, Causal Block Diagrams (CBDs) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], DEVS [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], Modelica, and
rule-based model transformations (MoTif [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] in particular). Most
simulators and simulation environments are implemented in code. On top of
the inherent complexity, this software development method brings with
it accidental complexity, as it is not the most appropriate language to
develop a timed, reactive system with complex interleaving of user and
simulator events. We therefore propose to explicitly model the debugging
environment using Statecharts. In general, each simulator has a \main
simulator loop". This comprises a number of states and transitions
between them, performing some action that updates the state of the model.
In the most naive case, there is a single state which represents the main
loop of the simulator and a transition going from and to that state, each
time performing one simulation \step". This is the so-called \modal part"
of a simulator, which is intuitively represented as a Statechart.
The process of extracting this modal part, which we call de/reconstructing
the simulator, is shown in Figure 3. The rst step, deconstrucing the
simulator, extracts the modal part of the simulator in a Statechart (SC)
model called SIMFmodal . This model is combined with a Statechart
simulator, interpreter, or compiler called SIMSC to give it operational
semantics. The Statechart together with its executor interface with the
non-modal part of the simulator for formalism F (SIMFnmodal , which,
in this case, consists of the coded functions to run the simulator). The
combination of the modal and non-modal part of the simulator results
in a behaviourally equivalent simulator to SIMF . From the user's point
of view, the black-box containing the model to be simulated and its
simulator is unchanged.
        </p>
        <p>In Figure 3c, the last step in creating an instrumented simulator is shown.
We merge the modal part of the simulator for F with the behavioural
pause
resume
MDebug</p>
        <p>SC
ready</p>
        <p>reset
start/initialize
paused
running
stop
stopped</p>
        <p>M</p>
        <sec id="sec-2-3-1">
          <title>SIMFmodal</title>
          <p>SIMSC</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>SIMF\modal</title>
          <p>SIMFmodal</p>
          <p>SC
[!finished]
running</p>
          <p>stopped
[finished]
(a) A model in formalism
ulation kernel for F.</p>
          <p>F and a
sim</p>
          <p>(b) De/Reconstructing the simulator.</p>
          <p>SIMFmodal
paused
pause
resume</p>
          <p>MERGE
INSTRUMENT
ready
start/initialize
[!finished]
running</p>
          <p>stopped
[finished]/stop</p>
          <p>reset
stop</p>
          <p>SC
stopped
(c) Merging the debugging concepts
haviour of the simulator.
with the
modal
beow for explicitly modelling the simulator's behaviour.
model of the debugger. This results in an instrumented model of the
modal behaviour of the simulator. The last step is to replace SIMFmodal
in Figure 3b with this instrumented model. Again, this should not change
the behaviour of the simulator in any way if the user does not make use
of the debugging functionality. Extra behaviour has been added, but
running the simulator as before is still possible. In the (trivial, but
representative) example shown, the debugger includes the concepts of start,
pause, resume, and stop. The simulator only has two states: running, and
stopped. It runs the main loop of the simulator until the nished
condition is satis ed, signalling that the simulation is done.</p>
          <p>In a more advanced stage of the thesis, the idea is to apply the same
techniques for environments which allow heterogeneous model composition,
for which multiple simulators and semantic adaptation are necessary. It
is our intuition that explicitly modelling the debugger and simulator will
facilitate this.
4</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Preliminary Work</title>
        <p>The techniques described in the previous section have been successfully
applied to model an experimentation and debugging environment for
Causal-Block Diagrams. We took an existing CBD simulator, identi ed
its modal part, and extracted it as a Statechart model. We then
instrumented this model with debugging support. A graphical user interface
allowed users to simulate (as-fast-as-possible or in (scaled) real-time),
pause simulation, and step through the simulation (either \big step",
meaning the values of all blocks for the next iteration were calculated at
once, or \small step", where only the value of one block was computed).
It also allowed to set breakpoints and de ne the maximum number of
simulation iterations.
5</p>
      </sec>
      <sec id="sec-2-5">
        <title>Evaluation and Validation</title>
        <p>From the very onset of the project, the goal is adoption of the developed
methods, techniques, (prototype) tools and processes in industry (and
academics). During each phase of the project, interaction with
companies is planned as to align industrial needs and scienti c developments.
This will ensure the results are relevant and usable in an industrial
context. Moreover, the results of my work are to be published in a number
of di erent communities. For the simulation side, conferences such as
SpringSim and WinterSim are ideal venues for early validation of results.
In a later stage, results will be published in the SIMULATION
journal. For the model-driven engineering side, the MODELS and ECMFA
conferences, and the journals Software and Systems Modelling (SoSyM)
and Science of Computer Programming are ideal. The ICGT and ICMT
conferences, as well as the GraBaTs workshop, are ideal venues for the
validation of results when using model transformations.
Having both industrial and scienti c feedback from a strong community
will ensure the quality of the work, and the relevance of the results.
Currently, I do not plan usability studies of the proposed approaches. The
main contribution of my work are the techniques for constructing
advanced debugging environments by explicitly modelling them. Validation
of the techniques is provided by implementations for speci c
(combinations of) formalisms.
6</p>
      </sec>
      <sec id="sec-2-6">
        <title>Current Status</title>
        <p>
          Currently, most of my e orts are directed towards developing the
required foundations. In particular, I'm working on a new metamodelling
framework, which enables modular language design and uniform access
to models called the Modelverse. This framework, as well as its web-based
front-end called AToMPM [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] will be used to implement the techniques
described in this paper.
        </p>
        <p>
          I started in September of 2013. The end of my PhD is planned in
December 2017. Below is a course-grained schedule, with expected contributions
per year:
{ 2014: In the coming months, I will be working on a debugging
environment for Parallel DEVS. I will also redo the work of [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], but
extending the set of debugging operations, as well as apply the
techniques which I propose here, instead of embedding the model directly.
{ 2015: In this year, I will de ne a set of debugging environments and
model environments explicitly for a number of other formalisms,
including rule-based model transformations, Petrinets, and Modelica.
{ 2016-2017: I will validate my techniques by interacting with
industry. Furthermore, I will extend the techniques to multi-formalism
environments and domain-speci c languages.
        </p>
        <p>
          I will also continue working on the language engineering topics - in
particular, the explicit modelling of entire modelling languages using the
Modelverse, and the e ect on explicit modelling of transformation and
the technique of RAMi cation [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>Acknowledgements. This work was partly funded with a grant from
the Agency for Innovation by Science and Technology in Flanders (IWT).</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Mosterman</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , \
          <source>Computer Automated MultiParadigm Modeling: An Introduction," Simulation</source>
          , vol.
          <volume>80</volume>
          , pp.
          <volume>433</volume>
          {
          <issue>450</issue>
          ,
          <string-name>
            <surname>Sept</surname>
          </string-name>
          .
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          , Why Programs Fail: A Guide to Systematic Debugging. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. T. Murata, \
          <article-title>Petri nets: Properties, analysis and applications,"</article-title>
          <source>Proceedings of the IEEE</source>
          , vol.
          <volume>77</volume>
          , no.
          <issue>4</issue>
          , pp.
          <volume>541</volume>
          {
          <issue>580</issue>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>D.</given-names>
            <surname>Harel</surname>
          </string-name>
          , \
          <article-title>Statecharts: a visual formalism for complex systems,"</article-title>
          <source>Science of Computer Programming</source>
          , vol.
          <volume>8</volume>
          , pp.
          <volume>231</volume>
          {
          <issue>274</issue>
          ,
          <year>June 1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P.</given-names>
            <surname>Fritzson</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Bunus</surname>
          </string-name>
          , \
          <article-title>Modelica { a general object-oriented language for continuous and discrete-event system modeling,"</article-title>
          in
          <source>IN PROCEEDINGS OF THE 35TH ANNUAL SIMULATION SYMPOSIUM</source>
          , pp.
          <volume>14</volume>
          {
          <issue>18</issue>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hardebolle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jacquet</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Marcadet</surname>
          </string-name>
          , \
          <article-title>Semantic adaptation for models of computation," in Application of Concurrency to System Design (ACSD</article-title>
          ),
          <year>2011</year>
          11th International Conference on, pp.
          <volume>153</volume>
          {
          <issue>162</issue>
          ,
          <year>June 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>R.</given-names>
            <surname>Mannadiar</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , \
          <article-title>Debugging in domain-speci c modelling," in Software Language Engineering (B</article-title>
          .
          <string-name>
            <surname>Malloy</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Staab</surname>
          </string-name>
          , and M. Brand, eds.), vol.
          <volume>6563</volume>
          of Lecture Notes in Computer Science, pp.
          <volume>276</volume>
          {
          <issue>285</issue>
          , Springer Berlin Heidelberg,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sj</surname>
          </string-name>
          <article-title>olund and</article-title>
          <string-name>
            <given-names>P.</given-names>
            <surname>Fritzson</surname>
          </string-name>
          , \
          <article-title>Debugging Symbolic Transformations in Equation Systems,"</article-title>
          <source>in EOOLT, Linkoping Electronic Conference Proceedings</source>
          vol.
          <volume>56</volume>
          , pp.
          <volume>67</volume>
          {
          <issue>74</issue>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. M. Sjolund,
          <string-name>
            <given-names>F.</given-names>
            <surname>Casella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pop</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Asghar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fritzson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Braun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ochel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bachmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Milano</surname>
          </string-name>
          , \
          <article-title>Integrated Debugging of Equation-Based Models,"</article-title>
          <source>in Proceedings of the 10th International ModelicaConference</source>
          , pp.
          <volume>195</volume>
          {
          <issue>204</issue>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pop</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Sjolund, A</article-title>
          . Asghar,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fritzson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Francesco</surname>
          </string-name>
          , \
          <article-title>Static and Dynamic Debugging of Modelica Models,"</article-title>
          <source>in Proceedings of the 9th International Modelica Conference</source>
          , pp.
          <volume>443</volume>
          {
          <issue>454</issue>
          ,
          <string-name>
            <surname>Nov</surname>
          </string-name>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Asghar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pop</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Sjolund, and</article-title>
          <string-name>
            <given-names>P.</given-names>
            <surname>Fritzson</surname>
          </string-name>
          , \
          <article-title>E cient Debugging of Large Algorithmic Modelica Applications,"</article-title>
          <source>in Proceedings of MATHMOD 2012 - 7th Vienna International Conference on Mathematical Modelling</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. Musta z and H. Vangheluwe, \
          <article-title>Explicit modelling of statechart simulation environments,"</article-title>
          <source>in Summer Simulation Multiconference</source>
          , pp.
          <volume>445</volume>
          {
          <issue>452</issue>
          ,
          <string-name>
            <surname>Society</surname>
          </string-name>
          for Computer Simulation International (SCS),
          <year>July 2013</year>
          . Toronto, Canada.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. H.
          <string-name>
            <surname>Vangheluwe</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Riegelhaupt</surname>
            , S. Musta z, J. Denil, and
            <given-names>S. Van Mierlo</given-names>
          </string-name>
          , \
          <article-title>Explicit modelling of a CBD experimentation environment,"</article-title>
          <source>in Proceedings of the 2014 Symposium on Theory of Modeling and Simulation - DEVS</source>
          , TMS/DEVS '14, part of the Spring Simulation Multi-Conference, pp.
          <volume>379</volume>
          {
          <issue>386</issue>
          ,
          <string-name>
            <surname>Society</surname>
          </string-name>
          for Computer Simulation International,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>B. P.</given-names>
            <surname>Zeigler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Praehofer</surname>
          </string-name>
          , and T. G. Kim,
          <source>Theory of Modeling and Simulation</source>
          . Academic Press, 2 ed.,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. E. Syriani and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , \
          <article-title>A modular timed graph transformation language for simulation-based design,"</article-title>
          <source>Software and Systems Modeling (SoSyM)</source>
          , vol.
          <volume>12</volume>
          , no.
          <issue>2</issue>
          , pp.
          <volume>387</volume>
          {
          <issue>414</issue>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. E. Syriani,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mannadiar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hansen</surname>
          </string-name>
          ,
          <string-name>
            <surname>S. Van Mierlo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and H.</given-names>
            <surname>Ergin</surname>
          </string-name>
          , \
          <article-title>AToMPM: A web-based modeling environment,"</article-title>
          <source>in MODELS'13 Demonstrations</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. T. Kuhne, G. Mezei, E. Syriani,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wimmer</surname>
          </string-name>
          , \
          <article-title>Explicit Transformation Modeling,"</article-title>
          <source>in MoDELS Workshops, Lecture Notes in Computer Science</source>
          vol.
          <volume>6002</volume>
          , pp.
          <volume>240</volume>
          {
          <issue>255</issue>
          , Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>