<!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>Real-Time Model-Driven Engineering: An Overview</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Moussa Amrani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pierre-Yves Schobbens</string-name>
          <email>Pierre-Yves.Schobbensg@unamur.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Computer Science</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Moussa.Amrani</institution>
          ,
          <addr-line>Pierre-Yves.Schobbens</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Namur Rue Grandgagnage</institution>
          ,
          <addr-line>21 5000 Namur</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>After a maturing period of over a decade, Model-Driven Engineering (Mde) starts to extend to novel areas that include safetycritical or embedded, but also cyberphysical systems. These domains explicitly manipulate time. This paper proposes three dimensions to analyse how Mde frameworks integrate time: which transformation paradigm is used, how time is represented inside it, and which characteristics of time are considered. Without claiming for exhaustivity, we validate our approach by analysis several contributions from the literature, thus offering an overview of the current practice in Real-Time Mde.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>After a maturing period of over a decade, Model-Driven Engineering (Mde) has
gained enough maturity to extend to novel areas that include safety-critical or
embedded, but also cyber-physical systems. These domains make an explicit use
of time, forcing language and Mde frameworks to progressively integrate time
features to allow the speci cation of durations, deadlines, delays, etc. Simply
borrowing low-level constructs from General-Purpose Programming Languages
(Gpls) is not an option any more: this introduces a gap between the
highlevel concepts captured by models, and the low-level constructs available for
expressing time-related computations that become di cult to properly align.
Time is not directly accessible to computer: integrating it into Mde frameworks
requires to think about which aspects need to be explicitly represented and which
could safely be forgotten.</p>
      <p>However, one time model could not possibly satisfy all possible needs in Mde.
As a rst attempt to properly classify Real-Time Mde approaches, this paper
proposes a preliminary classi cation of some of the relevant dimensions, and
confronts it against a panel of selected contributions from the literature, thus
o ering an overview of the current theoretical foundations and practice in the
domain. Section 2 explains the classi cation criteria, and Sections 3 and 4 overview
literature contributions based on Meta-Programmed (Mpt) and Graph-Based
Transformation (Gbt) Languages respectively. Section 5 concludes with a
summary table relating the analysed contributions to the classi cation criteria.</p>
    </sec>
    <sec id="sec-2">
      <title>Model Transformation, Time and Time Representation</title>
      <p>This Section explores background material for Model Transformations and Time
characteristics and representation to build an analysis grid for classifying the
literature contributions (cf. Figure 1, Left).
2.1</p>
      <sec id="sec-2-1">
        <title>Model Transformation: Paradigms and Units</title>
        <p>
          Model Transformation (Mt) can be roughly categorised according to their
underlying paradigm: operational or meta-programmed transformations (Mpt),
adapting constructions from imperative Gpls to model-speci c constructions;
and declarative, relying on rewriting techniques specifying graph-based
transformations (Gbt) (as a rst approximation, see [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] for details). Two elements
compose any Tl: transformation units that bring basic computational bricks
expressing a meaningful, well-de ned model alteration; and scheduling mechanisms
orchestrate these units in a more or less explicit fashion. For Mpts, statements
constitute the units that are modularly organised into operations, and scheduled
implicitly through the statement- and operation call-control ow de ned by the
Tl. Rewriting rules are the basic units for Gbts, and are typically organised in
layers, or prioritised; di erent scheduling mechanisms are possible, ranging from
prede ned to explicit scheduling Dsls. Time information can appear directly
attached to the model, integrated into the transformation units, or as part of
the scheduling mechanism.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Time: Characteristics and Representation</title>
        <p>
          Classical distinctions for real-time systems, such as the di erence between hard,
soft and even rm real-time (indicating how often and critical deadlines might
be missed), or the distinction between physical and logical time, are not
discriminating enough: many systems fall in one or the other depending on the
considered viewpoint. This Section attempts to provide a clearer description of
the many dimensions of time, by retaining those aspects from Furia, Mandrioli,
Morzenti and Rossi' contribution [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] that seems interesting for providing precise
classi cation criteria.
2.2.1 Characteristics When abstracted for being represented within
computers, time is interpreted over a speci c domain, and manipulated through a
language that possesses speci c features: all these characteristics determine how
one can reason on a real-time system. The Feature Diagram on the right of
Figure 1 summarises these characteristics.
        </p>
        <p>
          Domain The semantic domain for time consists of a mathematical, numerical
set whose intrinsic properties in uences the way time can be manipulated by
modellers through their language, and the scope of properties they can express.
A dense set like the rational Q or real R numbers allows to nd (time) points
between any arbitrary pair of points: these sets are perfect for representing
\reallife" processes or phenomena in biology, chemistry, physics, etc. On the contrary,
a discrete set like the integers (N or Z), allows to specify clock ticks, representing
abstractions from the real phenomenon. By using sampling techniques, a dense
set can be discretised. A hybrid domain makes use of both discrete and
continuous time (for di erent parts in the system). Note that in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] also appears the
notion of boundedness: this mostly in uences the veri cation process; besides,
none of the overviewed contributions explicitly mentions boundaries.
Language Modellers manipulate the time domain only through their modelling
language: it possess a structure, exposes a determinism model, and allows the
speci cation of a range of properties following a speci c type.
        </p>
        <p>Structure The states de ned by a timed language can be classi ed into two categories:
linear formalisms arrange their states into a sequence, implying that state evolution
is uniquely determined by the previous state; while branching languages organise
states as trees where several possible future states may exist concurrently.
Determinism A deterministic reactive system can be seen as a system that provides a
unique response to an external stimulus in a given state. In several cases however,
non-determinism is a powerful abstraction for hiding implementation details, or
possible choices on the future states have no obvious reasons (e.g., at design time, it
is not relevant to force one task over another), or when the environment (that may
produce these inputs) is unsu ciently known (e.g., the chain reaction of a power
plant). Stochastic systems bring another precision by associating a probability
distribution for specifying undeterministic choices.</p>
        <p>Property Type Some languages allow purely qualitative constraints, by specifying
the relative ordering of some relevant events (e.g., car breaks should activate only
after pedal is pushed), without specifying which time actually separate both events;
whereas quantitative constraints enable a more precise speci cation (e.g., breaks
should activate before 50 ms after pedal push).</p>
        <p>Features From a time perspective, it is often practical to specify a system through
its components. The language's features are the mechanisms available for
specifying synchronicity and communication between these components.
Synchronicity The synchronicity determines how di erent subsystems, or modules,
are paced regarding their relative execution: synchronous systems impose changes
in modules to occur at the same time, or at times rigidly related; while
asynchronous systems allow independent progress for each module.</p>
        <p>Communication For asynchronous systems (although this theoretically also applies
to synchronous ones), a form of communication is needed between modules. Two
classical ways are usually used: message passing, where communication is achieved
by exchanging messages through communication channels; or resource sharing,
where communication relies on a common resource, usually memory, used to pass
information.</p>
        <p>
          Several contributions, especially those targeting heterogeneous systems,
actually mix these features together to obtain richer speci cation, at the expense of
complicating the coordination between system modules or languages.
2.2.2 Representation Independently of the time characteristics, what really
matters for the modeller is how time is accessible i.e. which Mde elements time
information is attached to. We reuse the proposal of [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] as a generalised way of
representing time information for all Mde framework (i.e. beyond Gbt only).
Time as Data (TaD) , where time information resides inside the model itself, e.g.
        </p>
        <p>by integrating clock counters or timers as attributes within speci c classes.
Time as Control (TaC) where time information is integrated at the level of
transformations, either by integrating it explicitly in the Tl, or by extending existing
Tls with speci c constructions.</p>
        <p>Time as Embedding (TaE) where time is not explicitly integrated at the modelling
level, but rather implicitly present in an external, third-party language: the Tl
only o ers an implicit represention of time, that only becomes explicit when the
whole speci cation, model(s) + transformation(s), are translated into that external
language.</p>
        <p>Conceptually however, nothing prevents to mix these representation styles in
various ways: indeed, many contributions borrows from two or even three of
them. This classi cation nevertheless provides a good hint on the level of control
each contribution o ers to modellers, and the following sections classi es the
selected contributions by their most prominent approach.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Metaprogrammed Transformation Languages</title>
      <p>
        In Uml, several diagrams already possess the capability to express time, but
at various abstraction levels and in di erent avours that are hard to reconcile
(cf. Douglass' book for a broad introduction of how time can be handled in the
various Uml diagrams [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]). Two diagrams attracted the most attention: State
Machines (or Statecharts) and Activity Diagrams. In parallel, a recent trend
tends to separate the domain concepts, as captured by classical Mde artefacts,
from the actual model of computation (MoC): this avoids overloading the model
with details pertaining only to the computation; and allows to reason more
precisely on the time features.
      </p>
      <p>
        UML-Based Approaches Because of the many existing variants for
Statecharts (von der Beeck mentions 21 variants in [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ]), researchers focused on
providing a clean semantics of a speci c variant [
        <xref ref-type="bibr" rid="ref24 ref43 ref9">24,43,9</xref>
        ], while others contributed
with a uni ed semantic framework integrating several variants ([
        <xref ref-type="bibr" rid="ref26 ref29 ref3">3,29,26</xref>
        ] among
others) for reconciling model execution and veri cation. In parallel, several
extensions were explored to overcome existing limitations and addressing variation
points: Liu et al. proposed a way to integrate explicit communication [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ],
extending the Uml time mechanism that prescribes time values to be solely
attached to events; Shankar and Asa integrated time features in a way independent
from the underlying diagrams used for model speci cation [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
      </p>
      <p>
        Activity Diagrams serve as a theoretical modelling basis in the Foundational
Subset for Executable UML (f Uml) [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Again, a number of work aimed at
clarifying fUml's semantics [
        <xref ref-type="bibr" rid="ref23 ref34">23,34</xref>
        ]. f Uml has been integrated into Mof to
operate as a fully- edged Tl, resulting in the xMof framework [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], served as a
semantics speci cation for Uml Pro les in [
        <xref ref-type="bibr" rid="ref41">41</xref>
        ], and was leveraged for
specifying real-time systems based on f Uml concurrency, synchronicity and scheduling
model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        The Marte Pro le [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] explicitly integrates a multiform notion of time. It
can be physical, i.e., continuous or discrete; or logical, i.e. speci ed through
events and clocks whose precise relationships are constrained by means of
operators de ned in the Ccsl (Clock Constraint Speci cation) Language. No
assumption is made a priori about the clocks' relative progression or pace. Ccsl's
semantics is di cult to apprehend, but many contributions targeted a full
semantics de nition in denotational and operational styles [
        <xref ref-type="bibr" rid="ref12 ref2 ref44 ref45">2,45,12,44</xref>
        ]). Ccsl has
its own simulation tool, TimeSquare [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which was used by Boulanger, Dogui et
al. in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to de ne semantic adaptations between di erent models of computation.
      </p>
      <p>
        HybridUml [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is an Uml Pro le aiming at easing the description of hybrid
systems (i.e. systems mixing both discrete and continuous time): it de nes new
data types for handling both discrete and continuous time domains, and allows
to describe systems through agents whose behaviour is speci ed with hybrid
automata that communicate through shared variables.
      </p>
      <p>
        Separating the MoC from the Model Formal System Design (ForSyDe) (cf.
[
        <xref ref-type="bibr" rid="ref35 ref36">35,36</xref>
        ], and the website https://forsyde.ict.kth.se/) proposes a
methodology for modelling and designing heterogeneous embedded and cyberphysical
systems. ForSyDe focuses on semantic-preserving re nement into executable,
low-level implementations obtained from high-level models. The re nement
proceeds through controlled transformations, either by re ning the design, i.e. the
system architecture, by introducing further details; or by preserving the model
semantics, by integrating computational details. The methodology enforces
determinism in order to perform the proofs guiding the transformation process.
The MoC allows either synchronous or asynchronous behaviour. ForSyDe was
combined with Uml in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] through the CoMeta methodology [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] to ensure
that the intended behaviour of a system is preserved, whatever tool is used to
simulate it.
      </p>
      <p>
        ModHel'X (cf. [
        <xref ref-type="bibr" rid="ref18 ref19">18,19</xref>
        ] and the website http://wwwdi.supelec.fr/software/
ModHelX) and GeMoC ([
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], cf. the website for further information: http://
gemoc.org/) are the more advanced frameworks for executing heterogeneous
models based on di erent Models of Computation (MoC). A ModHel'X
specication consists of blocks, each with its own MoC, that communicate through
well-speci ed interafaces called pins. The interaction between blocks is handled
at the level of interface through adaptors: data is translated back and forth from
the outside into the block's computation in a user-de ned way. Time constraints
imposed by each block propagate through the hierarchical blocks organisation,
and may be synchronised through interaction patterns.
      </p>
      <p>GeMoC is more exible, because many dedicated Dsls allow to ne-tune
each aspects of the overall infrastructure: the interaction between the MoC and
the internal computation aimed at modifying the model's structure; but also the
coordination between heterogeneous models obeying di erent MoC. However,
from an abstract viewpoint, the time model relies on Ccsl to specify clock
relationships, and on events (corresponding to speci c clock ticks) triggering
internal model changes. GeMoC is di cult to classify, due to the expressive
power of the many Dsls composing its core. By using Ccsl, the time domain is
clearly heterogeneous, but only qualitative properties can be expressed. Since the
communication is also explicitly modelled, both synchronous and asynchronous
features can be used, through any of the communication features available.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Graph-Based Transformation Languages</title>
      <p>
        Fundamentally, Gbt shares with Petri Nets the same algebraic foundations [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]:
this provided a good starting point for integrating time into various Gbt
formalisms, including the possibility to de ne stochastic transformations.
Rewriting logics over algebraic speci cations, although similar to Petri Nets, is another
distinct source for specifying time within Gbt.
      </p>
      <p>
        Petri Nets-based Approaches Gyapay, Varro and Heckel [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] followed an
existing approach for Environment-Relationship High-Level Petri Nets to
integrate time into double pushout typed Gbt: they introduce dedicated attributes
attached to graph vertices to keep track of time elapse; these attributes are
updated along the transformation whenever rules are applied. This approach
is designed as a quantitative time proposal naturally bound to Gbt: it allows
to overcome the existing limitations for modelling time, while fully reusing
existing tools and technologies for Gbt, assuming graphs are modelled from the
beginning with time attributes.
      </p>
      <p>
        Stochastic Gbts were explored by Heckel and his colleagues in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]:
transitions of a Petri Net-like formalism are triggered according to a probability
distribution instead of a discrete boolean guard, introducing delays in Gbt rules
execution. This approach was later enriched with localised events that are
ordered through a graph hierarchy, allowing to specify probabilistic dependencies
among events residing at di erent levels. Both contributions target stochastic
simulation, although some analysis based on Prism remains possible.
      </p>
      <p>
        De Lara and Vangheluwe [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] enrich Gbt prioritised rules with time
intervals to model imprecise clocks and timeouts, allowing to delay rules execution
to a future time speci ed by the interval. Rules then represent time elapse of
domain-speci c actions attached to rules. Again, simulation and analysis are
possible through a mapping into Petri Nets, with the results translated back to
the original domain-speci c concepts.
      </p>
      <p>
        Rewriting Logics Maude is the common external Gpl for Rewriting Logics,
thus allowing simulation, reachability analysis and model-checking. Boronat and
O lveczky [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] extended the Moment Framework with Real-Time capabilities by
adding timers, clocks and timed values (corresponding to a rated basic clock) to
Mof-compliant models. To avoid cluttering Mof-conformant models with time
features, they use a kind of \dependency injection", so that model elements
concerned with time are referenced by the classes embedding the time information.
This approach is a hybrid between TaE/TaD: time information inside the model
still has to be explicitly managed by transformations.
      </p>
      <p>
        The e-Motions framework [
        <xref ref-type="bibr" rid="ref32 ref33">33,32</xref>
        ] is a visual framework for the modelling,
animation and analysis of Real-Time Domain-Speci c Languages that provides
a large variety of time constructs attached to rules (and therefore, considered
as TaC). These constructs de ne domain-speci c actions: rules can be ongoing,
meaning that they are constantly updating the model; or atomic with a duration
and a period. Such a rich Tl requires a careful translation into Maude: atomic
rules are translated into two rules, one when a match is found and the other
for triggering the model changes; and ongoing rules are managed with low-level
primitives in Real-Time Maude.
      </p>
      <p>
        Other Approaches For the purpose of animating Dsls in (quantitative)
realtime even when the model at hand presents several concurrent changes, Strobl
and Minas propose another approach based on a Dsl aiming at facilitating the
speci cation of animations [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ], whose semantics is speci ed as Gbt. For
obtaining a reactive system, time information is attached to states, and transitions
are triggered by di erent kinds of events: internal events represent time elapse,
making the global time progress; and external events represent user interaction.
Events are organised in a queue: the next internal event is computed between all
possible events in the graph, while taking into account possible external events
that must have priority.
      </p>
      <p>
        MechatronicUml [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a tool suite designed for the modelling and formal
analysis of cyber-physical systems using time-dependent dynamic structures that
need to be recon gured architecturally at runtime. Their modelling approach
relies on components, whose internal behaviour is speci ed as real-time
statecharts, and on patterns that specify how components communicate without
breaking their internal logics. Gbt rules specify how the components and their
communication ports and channels constituting the overall system architecture,
are recon gured in response to stimuli. The clocks de ned in statecharts are
accessible to the Gbt rules to guard an execution, add, remove or reset clock
instances dynamically. By translating the statecharts and the Gbt rules as a
Uppaal speci cation, they are able to perform model-checking.
      </p>
      <p>
        AtomPm [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ] is a web-based Mde framework relying on a mapping into
Devs [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]: the transformation designer manipulate time directly, but the
framework o ers concurrency primitives through a dedicated visual language, forcing
the designer to handle classical concurrency issues by himself.
      </p>
      <p>Contribution
Statecharts
Activity Diags./fUml
Marte / Ccsl
ptHybridUml
MForSyDe
ModHel'X
GeMoC</p>
      <p>Domain Language Features Representation</p>
      <p>D B/D A/MP TaC
D B/D A/MP TaC
H B/D H/? TaD+TaC
H B/D A/RS TaD+TaC
H B/D A/RS TaC
H B/D H/MP TaC</p>
      <p>H B/D H/? TaC</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusion</title>
      <p>Real-Time Mde is a recent application of Mde techniques and know-hows to
new application domains such as embedded, safety-critical and cyber-physical
systems for which time is a crucial components. We proposed in this paper a
preliminary classi cation based on three criteria: the transformation language's
paradigm (either Mpt or Gbt); the components characterising the time
information available for the modeller; and the way time is represented in the Mde
framework. We then overviewed several literature contributions: without aiming
at full exhaustivity, the surveyed approaches are in our opinion representative
enough for depicting the general picture of the current practice and the recent
theoretical developments. Table 1 summarises the results by classifying each
(group of) contributions according to our criteria.</p>
      <p>We plan to pursue this e ort in three directions. First, we plan to collect
more contributions than what was possible with this paper's space restriction.
Second, we wish to re ne our criteria, in particular the Representation: this
granularity is not enough to capture adequately the many variations encountered
in approaches that handle coordination between models expressed with di erent
MoCs, since this task is complex and happens at di erent levels. Third, we aim
at studying the V&amp;V capabilities of these contributions: functional as well as
temporal correctness are crucial features for real-time applications.
Acknowledgments. The authors would like to thank Hans Vangheluwe for pointing
us to Furia, Mandrioli, Morzenti and Rossi's book, and James Ortiz for interesting
discussions on metaprogrammed frameworks. This research was sponsored by a Ceruna
scholarship from the University of Namur, Belgium.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Amrani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lucio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Selim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dingel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Le Traon</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J</given-names>
            <surname>Cordy</surname>
          </string-name>
          .
          <article-title>Formal Veri cation Techniques for Model Transformations: A Tridimensional Classi cation</article-title>
          .
          <source>JoT</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>C.</given-names>
            <surname>Andre</surname>
          </string-name>
          .
          <article-title>Syntax and Semantics of the Clock Constraint Speci cation Language</article-title>
          .
          <source>Technical report, Inria</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Balasubramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pasareanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Whalen</surname>
          </string-name>
          , G. Karsai, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Lowry</surname>
          </string-name>
          . Polyglot:
          <article-title>Modeling and Analysis for Multiple Statechart Formalisms</article-title>
          . In Issta,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Benyahia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cuccuru</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Taha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Terrier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gerard</surname>
          </string-name>
          .
          <article-title>Extending the Standard Execution Model of UML for Real-Time Systems</article-title>
          . In Dipes,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. K. Berkenkotter, S. Bisanz,
          <string-name>
            <given-names>U.</given-names>
            <surname>Hannemann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Peleska</surname>
          </string-name>
          .
          <article-title>The HybridUML Pro le for UML 2.0</article-title>
          .
          <string-name>
            <surname>Sttt</surname>
          </string-name>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Boronat</surname>
          </string-name>
          and
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>Olveczky. Formal Real-Time Model Transformations in Moment2</article-title>
          . In Fase, pages
          <volume>29</volume>
          {
          <fpage>43</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>F.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dogui</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>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Marcadet</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Prodan.</surname>
          </string-name>
          <article-title>Semantic Adapatation Using CCSL Clock Constraints</article-title>
          . In Mpm Workshop,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Combemale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Brun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Champeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Cregut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Deantoni</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. Le</given-names>
            <surname>Noir</surname>
          </string-name>
          .
          <article-title>A Tool-Supported Approach for Concurrent Execution of Heterogeneous Models</article-title>
          . In Erts,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.O.</given-names>
            <surname>Mo</surname>
          </string-name>
          <article-title>ller, and</article-title>
          <string-name>
            <given-names>W.</given-names>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>Formal Veri cation of UML Statecharts with Real-Time Extensions</article-title>
          . In Fase,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>J. De Lara</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Guerra</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Boronat</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Heckel</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Torrini</surname>
          </string-name>
          .
          <article-title>Domain-Speci c Discrete Event Modelling and Simulation Using Graph Transformation</article-title>
          .
          <source>SoSyM</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>J. De Lara</surname>
            and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <source>Automating the Transformation-Based Analysis of Visual Languages. Formal Aspects of Computing</source>
          ,
          <volume>22</volume>
          (
          <issue>3</issue>
          {4):
          <volume>297</volume>
          {
          <fpage>326</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>J. Deantoni</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Andre</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Gascon. CCSL Denotational</surname>
          </string-name>
          <article-title>Semantics</article-title>
          .
          <source>Technical report, Inria</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.</given-names>
            <surname>Deantoni</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Mallet</surname>
          </string-name>
          . TimeSquare:
          <article-title>Treat your Models with Logical Time</article-title>
          . In Tools,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>B.P</given-names>
            <surname>Douglass. Real Time</surname>
          </string-name>
          <string-name>
            <surname>UML</surname>
          </string-name>
          :
          <article-title>Advances in the UML for Real-Time Systems</article-title>
          .
          <source>Addison Wesley</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>S.</given-names>
            <surname>Dziwok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerking</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Thiele</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Heinzemann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Pohlmann</surname>
          </string-name>
          .
          <article-title>A Tool Suite for the Model-Driven Software Engineering of Cyber-Physical Systems</article-title>
          .
          <source>In Fse Symposium</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>C. Furia</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Mandrioli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Morzenti</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rossi</surname>
          </string-name>
          . Modeling Time In Computing. Springer-Verlag,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>S.</given-names>
            <surname>Gyapay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          .
          <article-title>Graph Transformation with Time: Causality and Logical Clocks</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>58</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>22</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>C.</given-names>
            <surname>Hardebolle. Composition de Modeles Pour la Modelisation</surname>
          </string-name>
          Multi-Paradigmes.
          <source>PhD thesis</source>
          , University of Paris-Sud XI - Orsay,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>C.</given-names>
            <surname>Hardebolle</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          <article-title>. Multi-Formalism Modelling and Model Execution</article-title>
          .
          <source>Journal of Computers and their Applications</source>
          ,
          <volume>31</volume>
          (
          <issue>3</issue>
          ):
          <volume>193</volume>
          {
          <fpage>203</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          , G. Lajios, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Menge</surname>
          </string-name>
          .
          <source>Stochastic Graph Transformation Systems. Fundamenta Informaticae</source>
          ,
          <volume>74</volume>
          (
          <issue>1</issue>
          ):
          <volume>63</volume>
          {
          <fpage>84</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>P.</given-names>
            <surname>Issa Diallo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Champeau</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Lagadec</surname>
          </string-name>
          .
          <article-title>Enhance the Reusability of Models and Their Behavioural Correctness</article-title>
          . In GeMoC,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>P.</given-names>
            <surname>Issa Diallo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Champeau</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Leilde</surname>
          </string-name>
          .
          <article-title>Model-Based Enginnering for the Support of Models of Computations: the CoMeta Approach</article-title>
          . In Mpm,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>Q.</given-names>
            <surname>Lai</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Carpenter</surname>
          </string-name>
          .
          <article-title>Static Analysis and Testing of Executable DSL Speci - cation</article-title>
          . In Modelsware,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>D.</given-names>
            <surname>Latella</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Majzik</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Massink</surname>
          </string-name>
          .
          <article-title>Towards a Formal Operational Semantics of UML Statechart Diagrams</article-title>
          . In Fmoods,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. S. Liu,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Andre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Choppy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wadhwa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. Song</given-names>
            <surname>Dong</surname>
          </string-name>
          .
          <article-title>A Formal Semantics for Complete UML State Machines with Communications</article-title>
          . In iFM,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. A.
          <string-name>
            <surname>Maggiolo-Schettini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Peron</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Tini</surname>
          </string-name>
          .
          <article-title>A Comparison of Statecharts StepSemantics</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>M. Maximova</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Ehrig</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ermel</surname>
          </string-name>
          .
          <article-title>Formal Relationship between Petri Net and Graph Transformation Systems Based on Functors between M-Adhesive Categories</article-title>
          . In Pn-Gt, volume
          <volume>40</volume>
          , pages
          <fpage>23</fpage>
          {
          <fpage>40</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>T.</given-names>
            <surname>Mayerhofer. De ning Executable Modeling</surname>
          </string-name>
          <article-title>Languages with fUML</article-title>
          .
          <source>PhD thesis</source>
          , Technical University of Vienna,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>J. Niu</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          <string-name>
            <surname>Atlee</surname>
            , and
            <given-names>N.A.</given-names>
          </string-name>
          <string-name>
            <surname>Day</surname>
          </string-name>
          .
          <article-title>Template Semantics for Model-Based Notations</article-title>
          .
          <source>Transactions on Software Engineering</source>
          ,
          <volume>29</volume>
          (
          <issue>10</issue>
          ):
          <volume>866</volume>
          {
          <fpage>882</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. Object Management Group.
          <article-title>Semantics of a Foundational Subset for Executable UML Models</article-title>
          .
          <source>Technical report</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31. Object Management Group.
          <article-title>UML Pro le for MARTE: Modeling and Analysis of Real-Time Embedded Systems</article-title>
          .
          <source>Technical report</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <given-names>J.E.</given-names>
            <surname>Rivera</surname>
          </string-name>
          .
          <article-title>On the Semantics of Real-Time Domain-Speci c Modeling Languagues</article-title>
          .
          <source>PhD thesis</source>
          , University of Malaga,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <given-names>J.E.</given-names>
            <surname>Rivera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Duran</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          .
          <article-title>Formal Speci cation and Analysis of Domain-Speci c Models Using Maude</article-title>
          . Simulation,
          <volume>85</volume>
          (
          <issue>11</issue>
          {12),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <given-names>A.</given-names>
            <surname>Romero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schneider</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.G. Vieira</given-names>
            <surname>Ferreira</surname>
          </string-name>
          .
          <article-title>Using the Base Semantics Given by fUML for Veri cation</article-title>
          .
          <source>In Modelsware</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35. I.
          <article-title>Sander. System Modeling and Design Re nement in ForSyDe</article-title>
          .
          <source>PhD thesis</source>
          , Royal Institute of Technology (Stockholm),
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <given-names>I.</given-names>
            <surname>Sander</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Jantsch</surname>
          </string-name>
          .
          <article-title>System Modeling and Transformational Design Re nement in ForSyDe</article-title>
          .
          <source>IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems</source>
          ,
          <volume>23</volume>
          (
          <issue>1</issue>
          ):
          <volume>17</volume>
          {
          <fpage>32</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <given-names>S.</given-names>
            <surname>Shankar</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Asa</surname>
          </string-name>
          .
          <article-title>Formal Semantics of UML with Real-Time Constructs</article-title>
          . In Uml,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <given-names>T.</given-names>
            <surname>Strobl</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Minas</surname>
          </string-name>
          .
          <article-title>Generating Graph Transformation Rules from AML-GT State Machine Diagrams for Building Animated Model Editors</article-title>
          .
          <source>In Agtive</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39. E. Syriani and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          . De-/Re-Constructing
          <source>Model Transformation Languages. In Gt-Vmt Workshop</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40. 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>
          . In Tool Demo Session | MoDELS Conference,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41.
          <string-name>
            <surname>J. Tatibou</surname>
            et, A. Cuccuru,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gerard</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Terrier</surname>
          </string-name>
          .
          <article-title>Formalizing Execution Semantics of UML Pro les with fUML Models</article-title>
          . In MoDELS,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42. M.
          <article-title>von der Beeck. A Comparison of Statecharts Variants. In Formal Techniques in Real-Time and</article-title>
          <string-name>
            <surname>Fault-Tolerant</surname>
            <given-names>Systems</given-names>
          </string-name>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          43. M.
          <article-title>von der Beeck. Formalisation of UML Statecharts</article-title>
          . In Uml,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          44.
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Mallet</surname>
          </string-name>
          .
          <article-title>An Executable Semantics of CCSL and its Applications</article-title>
          . In Ftscs,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          45.
          <string-name>
            <given-names>G.</given-names>
            <surname>Zholtkevych</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mallet</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Zaretska</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Zholtkevych</surname>
          </string-name>
          .
          <article-title>Two Semantic Models for Clock Relations in the Clock Constraint Speci cation Language</article-title>
          . In Icteri,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>