=Paper= {{Paper |id=Vol-1514/paper3 |storemode=property |title=Domain-Specific Model Checking for Cyber-Physical Systems |pdfUrl=https://ceur-ws.org/Vol-1514/paper3.pdf |volume=Vol-1514 |dblpUrl=https://dblp.org/rec/conf/models/GerkingSDH15 }} ==Domain-Specific Model Checking for Cyber-Physical Systems== https://ceur-ws.org/Vol-1514/paper3.pdf
                         Domain-Specific Model Checking
                           for Cyber-Physical Systems
       Christopher Gerking and Wilhelm Schäfer                         Stefan Dziwok and Christian Heinzemann
              Software Engineering Group                                           Software Engineering
     Heinz Nixdorf Institute, University of Paderborn           Project Group Mechatronic Systems Design, Fraunhofer IPT
              33102 Paderborn, Germany                                         33102 Paderborn, Germany
           Email: christopher.gerking@upb.de                              Email: stefan.dziwok@ipt.fraunhofer.de



   Abstract—Cyber-physical systems (CPS) require model check-        for CPS and a model checker have typically large language
ing to guarantee the functional correctness of software models,      differences.
providing counterexamples in case of violations. Domain-specific
                                                                        An approach for applying model checking to DSML models
model checking (DSMC) allows to apply model checking to
specific application domains. DSMC hides the complexity of using     is domain-specific model checking (DSMC, [3]). Its goal is
a model checker by translating from a domain-specific modeling       to hide the formal models, i.e., the model checker’s input
language (DSML) to the model checker’s input language, and by        language and the output format of counterexamples. DSMC
translating counterexamples back to the domain-specific level.       consists of three parts: (i) the forward translation that trans-
Implementing DSMC is challenging for CPS due to the large
                                                                     lates the DSML model to the model checker’s input language,
differences between DSMLs and the input language of a model
checker. In this paper, we present a successful application of       (ii) the automated invocation of the model checker, and (iii) the
DSMC to M ECHATRONICUML, a DSML for the software design              back-translation that translates results and counterexamples
of CPS, using the model checker U PPAAL. As a key benefit,           back to the DSML. Part (iii) is highly important. Otherwise,
our approach is able to translate counterexamples back to the        the domain expert has to learn the model checker’s output
domain-specific level even in case of large differences between
                                                                     format as well as the complete forward translation in order to
DSML and the model checker’s input language. We show the
correctness of our approach using a case study from the area of      relate the counterexample to the DSML model.
car-2-car communication.                                                At present, there exists no concept for applying DSMC
                                                                     to CPS. On the one hand, existing concepts towards model
                      I. I NTRODUCTION                               checking for CPS do not translate counterexamples back to the
   The software development for cyber-physical systems (CPS)         DSML, e.g., COMDES-II [4], RT-DEVS [5], HUGO/RT [6],
like (autonomous) cars, production machines, or rescue robots        and a previous publication of our research group [7]. More-
needs to undergo rigorous quality assurance measures. The            over, the existing approaches do not support all CPS-relevant
reason is that CPS do not work in isolation, but heavily interact    domain aspects, as for example message delay (with lower and
with each other and their environment, e.g., with humans.            upper bounds), message loss, and buffer overflow avoidance
Thus, CPS operate in a safety-critical context under hard real-      strategies. On the other hand, DSMC concepts including a
time constraints. Especially the functional correctness is of        back-translation exist as well [8], [9], [10], but they only
vital importance for CPS because (software) errors can lead          address simple application scenarios with small language
to life-threatening accidents.                                       differences between DSML and the model checker’s input lan-
   Formal verification techniques such as model checking [1]         guage. Such simple scenarios give rise to a forward translation
are able to guarantee functional properties of the software (e.g.,   that consist of a single model-to-model (M2M) transformation
deadlock freedom) and can provide counterexamples if a prop-         step1 . A common approach to overcome larger language
erty is violated. Counterexamples support the identification of      differences is to split up the translation into a chain of multiple
the root cause which is essential for correcting the software.       steps [11]. The problem using such an approach is that a multi-
   However, the application of model checking to software            step forward translation significantly complicates the back-
development in practice is hindered by several factors [2].          translation of counterexamples, because it needs to overcome a
A factor that we address in this paper is the rising software        cascade of model transformations performed during the multi-
complexity of CPS. In order to handle the complexity, such           step forward translation. In addition, the back-translation needs
systems are often developed by domain experts that use a             to be adapted to each modification of the forward translation,
domain-specific modeling language (DSML). However, these             leading to a high amount of manual work.
experts often have no experience with existing model checking           In this paper, we present an approach to apply DSMC to the
tools. Compared to a model checker, DSMLs provide high-              software design for CPS. We present a successful realization
level modeling constructs, e.g., hierarchical state machines,
as well as domain-specific language concepts, e.g., for the             1 In the following, we use the term step to denote a single model-to-model
exchange of asynchronous messages. Therefore, a DSML                 transformation.
of DSMC including a multi-step forward translation between
M ECHATRONICUML (MUML, [12]) as a high-level DSML
for the software design of CPS, and the U PPAAL model                    Overtaker                 Overtakee
checker [13]. Despite this multi-step forward translation, our
approach allows to translate the counterexamples back to the
DSML in one straightforward step, whereas the implemen-
tation of this back-translation is independent of the number                    Fig. 1. Coordinated Overtaking of Two Cars
of forward translation steps. We realize this by utilizing
the model-to-model (M2M) traceability links of the forward
translation, recorded by the model transformation engine.
   We evaluate our approach based on an example from the
automotive domain. In particular, we show that our approach        safety of the CPS. However, the software of a CPS typically
enables a correct translation and back-translation between         consists of a multitude of concurrently executed components.
MUML and U PPAAL. Moreover, we demonstrate that our                As a result, applying formal methods like model checking [16]
approach provides helpful MUML counterexamples.                    becomes quickly impossible due to the state explosion prob-
   In summary, the contribution of this paper is as follows: (i)   lem. A second obstacle is that the correctness of software
We define and evaluate a DSMC for MUML using the model             components may depend on the physical environment of the
checker U PPAAL. (ii) We provide a transformation concept          CPS. This applies, in particular, to the feedback controllers of
that enables a multi-step forward translation but only requires    the system that control the movement of (parts of) a CPS
a single-step backward translation.                                like, e.g., the speed controller of the cars in Fig. 1. For
   Our paper is structured as follows: Section II summarizes       such components, we are facing a so-called hybrid model
the concept of MUML for verifying CPS based on a compo-            checking problem [17] that is not solvable for realistic models
sitional verification approach. In particular, it shows the key    using current techniques [18]. MUML strives for the best
role of DSMC in the context of this approach. In Section III,      possible compromise between efficient simulation and formal
we explain our concept for complex DSMC scenarios by               correctness proofs for the software of a CPS. The resulting
utilizing M2M traceability. Based on our concept, we explain       approach is twofold. First, we tackle the state-explosion prob-
our realization of the DSMC between MUML and U PPAAL in            lem by a compositional verification approach that we describe
Section IV and evaluate it in Section V. Afterwards, we discuss    in more detail below. Second, we avoid hybrid verification
related work in Section VI, before concluding the paper in         by distinguishing between discrete software components and
Section VII.                                                       feedback controller components in the MUML component
                                                                   model [15]. For discrete software components, the developer
 II. F OUNDATIONS : T HE C OMPOSITIONAL V ERIFICATION
                                                                   specifies a state-based real-time behavior that is formally ver-
           A PPROACH OF M ECHATRONICUML
                                                                   ified based on the compositional verification approach. Since
   M ECHATRONICUML (MUML, [12], [14], [15]) is a DSML              the correctness of feedback controller components depends on
for specifying the discrete-event software of CPS at appli-        the physical environment, the developer does not specify a
cation level. Thereby, MUML particularly focuses on the            behavior model in MUML, but in a control engineering tool
specification of a component-based software architecture, the      like MATLAB/Simulink or Dymola/Modelica. For verifying
specification of self-adaptive behavior, and the application-      and validating the correct integration of discrete software
level communication protocols that are required to coordinate      components and feedback controllers, the developer exports
different systems.                                                 the verified discrete software components to the control engi-
   A typical example of a CPS that requires the aforemen-          neering tool. Then, the developer can test the correctness of
tioned features is the coordination of an overtaking maneuver      the feedback controllers and their integration with the discrete
involving two cars as illustrated in Fig. 1. In this example,      software components based on simulation [19], [20].
we use car-to-car (C2C) communication to coordinate and
thereby to improve the safety of an overtaking maneuver. In           The core idea of MUML’s compositional verification ap-
our example, the red car (the overtaker) overtakes the yellow      proach [7], [12], which is illustrated in Fig. 2, is a syntac-
car (the overtakee) while the overtakee guarantees that it will    tic decomposition of the software architecture into discrete
not accelerate while it is being overtaken. Obviously, this sce-   software components and application-level communication
nario is safety-critical because an error in the communication     protocols that define the interaction of the components. In
protocol can result in an unsafe overtaking maneuver, e.g.,        MUML, we refer to these protocols as Real-Time Coordination
if the overtakee assumes that it is not being overtaken but        Protocols (RTCPs). Each RTCP specifies the asynchronous
the overtaker assumes the contrary. In addition, we need to        message-based communication of two communicating partners
consider certain timing properties for the message exchange,       called roles, while the behavior of each role is defined by a
e.g., for detecting lost messages based on timeouts.               state-based real-time behavior. The RTCP for the coordinated
   A major aim of MUML is to provide formal analyses for           overtaking includes the overtaker role and the overtakee role.
guaranteeing correctness of the specified model and thereby        Then, each port of a component (Car in our example) must
                  1. Verify Real-Time Coordination Protocol via Model Checking                     properties that have been verified for the RTCP. This step is
 Coordination Protocol
                                           |= φ1, …,φn
                                                                                                   necessary because the implementation of a role’s behavior by
                              AG ( stateActive(overtaker.overtaking) implies                       a port typically requires adding data exchange with the other
      Real-Time


                              stateActive(overtakee.noA ccelar atio n) ); φ1
       (RTCP)
                                                                                                   ports of the component, adding component-specific functions,
                                                    Overtaking                                     and accessing shared variables inside the component. This step
                                                                                                   is covered in detail in [12].
                                     overtaker                         overtakee
                          buffer size: 5
                                                      dela y: 1 s
                                                                                  buffer size: 5
                                                                                                      In the third step, we need to verify that each component is
                                                                                                   free of deadlocks [22]. Such deadlocks may result from an in-
                                                                                                   correct interaction of the different ports inside the component.
                                                2. Verify Refinement
                               «refines »
                                                     |= φ1, …,φn
                                                                               «refines »          We may verify additional safety, liveness, and reachability
  Components




                                                                                                   properties referring to this interaction if necessary.
                         red:Car            :overtakerCar   :overtakeeCar             yellow:Car      In summary, we only need to consider one RTCP or one
                                                                                                   component at a time. This significantly improves the scalabil-
                                                                                                   ity of the verification and enables the formal verification of
                         3. Verify each Component Separately via Model Checking                    the software of a CPS.
                                       (at least for Deadlock Freedom)
                                                                                                        III. U TILIZING M2M T RACEABILITY FOR DSMC
               Fig. 2. Overview of the Compositional Verification Approach
                                                                                                      This section presents a DSMC approach that is suitable for
                                                                                                   the domain of CPS as it supports complex scenarios with
implement one role of an RTCP2 . As a result, the behavior                                         larger differences between DSML and model checker. The
of each port is defined by a state-based real-time behavior                                        applicability of our approach is the topic of Section IV by
as well. Then, the decomposition of the software architecture                                      presenting our DSMC for MUML’s RTCPs using U PPAAL.
enables the verification of the discrete software components                                          We depict our approach in Fig. 3. Similar to already
of a CPS in three steps.                                                                           existing DSMC approaches [8], [9], [10], we apply model
   In the first step, we verify all RTCPs w.r.t. safety, liveness,                                 transformation techniques [23]. However, in contrast to the
and reachability properties using model checking [16]. There-                                      aforementioned DSMC approaches, we ease the task to over-
fore, the roles of the RTCP have to be specified independently                                     come larger differences between the DSML and the input
of the components’ ports that implement them. The RTCP                                             language of the model checker by allowing a multi-step
contains all relevant information for the communication, i.e.,                                     translation (cf. [11]) but still only require a single-step back-
the exchanged messages, their timing, the size of the FIFO                                         translation. We achieve this by utilizing the M2M traceability
message buffers, and non-functional properties of the connec-                                      links that interrelate the models generated during the forward
tion (e.g., message delay). The properties to be verified are                                      translation and therefore indicate the semantic correspondence
specified in MTCTL (M ECHATRONICUML TCTL), which is                                                between the input/output elements of each translation step.
a domain-specific variant of TCTL [21]. MTCTL is highly                                            In fact, transformation languages such as QVTo [24] have a
integrated with the behavior model of MUML. In our example,                                        built-in traceability mechanism. Therefore, they do not require
we require —among others— that the overtakee may not                                               additional development effort in order to obtain these links
accelerate while the overtaker is still overtaking. Therefore,                                     while executing M2M transformations.
we define the property 1 in MTCTL as depicted at the top                                              Our approach starts with Activity 1 by applying the M2M
of Fig. 2. For performing the verification, the RTCP including                                     translation from the design model given in terms of the DSML
all MTCTL properties needs to be translated to the model                                           into the verification model that is based on the input language
checker U PPAAL [13]. This translation is very complex as                                          of the model checker. This translation may consist of multiple
MUML defines several domain-specific aspects that U PPAAL                                          steps, e.g., our translation of RTCPs to the input language
does not provide, e.g., messages with parameters and time-                                         of the U PPAAL model checker consists of 13 steps. In each
consuming actions. Moreover, counterexamples of the model-                                         forward translation step, the aforementioned traceability links
checker must be translated back to the level of MUML in                                            are automatically generated as an additional output.
order to analyze them. The realization of both translations                                           Activities 2-4 use state-of-the-art concepts: since existing
(forward and backward) in the form of a domain-specific                                            model checkers usually operate on a textual input language,
model checking (DSMC) is the core contribution of this paper,                                      Activity 2 includes a model-to-text transformation of the
as the existing work does not provide concepts for such                                            verification model. For example, U PPAAL requires a serial-
complex scenarios.                                                                                 ization into an XML-based file format. Afterwards, the actual
   In the second step, we need to ensure that the ports of                                         model checking takes place in Activity 3. Counterexamples
the components correctly refine the roles of the RTCPs, i.e.,                                      generated during model checking are usually given in terms of
the implementation of the port does not violate any of the                                         a textual format as well. Therefore, Activity 4 includes a text-
  2 In our example, we only provide one RTCP. However, in a fully realistic
                                                                                                   to-model transformation. The resulting counterexample model
example, more RTCPs are necessary, e.g., for specifying the communications                         is a sequence of snapshots. Each snapshot provides a runtime
within a car and between cars and infrastructure.                                                  view of the verification model. Therefore, as depicted in Fig. 3,
                                                                                                                                                  Two-Step
                                                                                                                                                   Forward
                                                                                                                                                 Translation                                       Legend
       Design Level                                                                            Verification Level
                                                                                                                           Design Model       Intermediate Model     Verification Model
                                             1. Multi-Step Translation                         Verification Model                                                                               State Transition
      Design Model                               (Model-to-Model)
                                             Step 1     ...    Step n                           2. Model-to-Text
                                                                                                                                                                                                Runtime Snapshot
              cross-references




                                                                         cross-references
                                                                                            Textual Verification Input
                                                                                                                                                                                                   Bidirectional
                                                                                                                                                                                                 Traceability Link
                                                                                            3. Automatic Verification
                                                Traceability Links                                                       ...           ...                         ...                    ...
                                                                                                                                                                                                 Cross-Reference
                                                                                              Textual Verification        Counterexample         Single-Step             Counterexample          e.g., to Indicate
                                                                                               Results + Textual              Model            Back-Translation              Model                Active States
                                                                                               Counterexamples

                                                                                                4. Text-to-Model
                                                                                                                                             Fig. 4. Resolving of Traceability Paths
                                                 5. Single-Step
  Verification Results +                                                                    Verification Results and
                                                Back-Translation
 Counterexample Model                                                                       Counterexample Model
                                                (Model-to-Model)

 Legend:                                                                                                                 checker snapshot in red, which marks two states as active (one
   Activity                      Artifact   Data Flow     Reference                                                      per state machine). In order to translate such a snapshot back to
                                                                                                                         the DSML, the back-translation analyzes the traceability links
                                  Fig. 3. Utilizing M2M Traceability for DSMC
                                                                                                                         generated in Activity 1. For example, for the two states marked
                                                                                                                         active, it resolves the traceability path in the opposite direction,
the parsed counterexample model includes cross-references                                                                until the states contained by the original design model are
to the verification model. In our example application, these                                                             reached. These states are semantically equivalent to the states
cross-references indicate which states of the U PPAAL timed                                                              marked active by the snapshot. In our example, the paths
automata are active in each particular snapshot.                                                                         consist of two traceability links. However, we do not need
                                                                                                                         two separate back-translations steps. Instead, we use a generic
   The back-translation in Activity 5 receives the counterex-
                                                                                                                         implementation of the back-translation that is independent of
ample model and translates it back to the DSML level.
                                                                                                                         the number of traceability links that form the path. We realize
During the back-translation, all cross-references to elements
                                                                                                                         it by resolving the traceability links incrementally until we
of the verification model need to be replaced by corresponding
                                                                                                                         reach an element of the design model. Thus, one single back-
cross-references to design model elements. To resolve this
                                                                                                                         translation step is sufficient to resolve traceability paths of
semantic correspondence, the back-translation also receives the
                                                                                                                         arbitrary length.
traceability links generated during Activity 1 as an input. Since
related approaches address only single-step translations [8],                                                               In our example, for the snapshot depicted in red, the
[9], [10], they are restricted to direct traceability links between                                                      traceability paths indicate that both active states inside the
design model and verification model. In contrast, our approach                                                           verification model evolved from one and the same state
considers paths of traceability links with an arbitrary length,                                                          inside the design model. Thus, the back-translation generates
which traverse the intermediate models generated during a                                                                a DSML snapshot that includes a cross-reference to mark
multi-step translation.                                                                                                  this state active. The back-translation can therefore provide
   A particular benefit of our approach is that the back-                                                                a DSML-specific runtime view of the original design model.
translation does not depend on any conceptual or implemen-                                                                  Our approach is limited to 1:n traceability links between
tation details of the prior forward translation. It only depends                                                         two models. Thus, every step may translate an input element
on the meta models of the DSML and the model checker.                                                                    to more than one output element. In order to avoid ambiguous
Therefore our approach is independent of the concrete number                                                             resolving results, it must not be the case that two or more input
of forward translation steps, i.e., it enables an easy integration                                                       elements are translated to the same output element. However,
of additional steps without changing the back-translation.                                                               the translation from a DSML to the input language of a model
   Fig. 4 illustrates the analysis of traceability paths in the                                                          checker is usually a refinement, i.e., it increases the number
context of a forward translation consisting of two steps. In this                                                        of model elements (cf. Fig. 4). Therefore, this aspect does not
example, a state machine inside the design model (consisting                                                             impose any practical restrictions.
of two states) is translated to a verification model with two
                                                                                                                              IV. DSMC FOR MUML’ S RTCP S USING U PPAAL
parallel state machines, and an overall amount of five states.
The traceability links (depicted in blue) connect corresponding                                                             In this section, we illustrate our DSMC between MUML’s
elements inside the design model, the intermediate model, and                                                            RTCPs and the model checker U PPAAL. At first, we briefly in-
the verification model. The model checker’s counterexample                                                               troduce U PPAAL (cf. Section IV-A). Then, in Section IV-B, we
model (depicted in the bottom right corner of Fig. 4) uses                                                               explain MUML’s Real-Time Coordination Protocols (RTCPs)
cross-references to indicate which states of the two state                                                               as well as our overtaking scenario in more detail. Afterwards,
machines inside the verification model are active during each                                                            we present our DSMC: We show the model-to-model trans-
snapshot. For example, Fig. 4 highlights a single model                                                                  lation from RTCPs to U PPAAL in Section IV-C. Then, we
explain the automated invocation of U PPAAL in Section IV-D.                        B. RTCPs and the Overtaking Example
Finally, we explain the model-to-model back-translation of
counterexamples from U PPAAL to RTCPs in Section IV-E.                                 In the following, we explain RTCPs in detail using the
   We rely on the QVTo language [24] for all model-to-model                         RTCP Overtaking, which we introduced in Section II. As we
transformations to utilize its traceability links in the back-                      already stated before, its task is to specify a coordination
translation. Our implementation and our examples are open                           between two cars by exchanging asynchronous messages under
source and available for download on our website [25].                              hard real-time constraints to enable a safe overtaking. Fig. 5
                                                                                    shows the RTCP Overtaking with its two roles overtaker and
A. The Model Checker U PPAAL                                                        overtakee. As illustrated, each role of the RTCP may store five
                                                                                    messages within its incoming message buffer received from
   U PPAAL [13] is a tool for modeling and model checking
                                                                                    the other role. The transmission delay (depicted at the role
real-time systems (such as CPS) based on networks of timed
                                                                                    connector) for a message is 1 s.
automata [26]. U PPAAL timed automata are state machines that
consist of states, transitions, variables, and real-valued clocks3 .                   The state-based real-time behavior of each role is specified
A clock measures the progress of time in a system. Time may                         by a Real-Time Statechart (RTSC). RTSCs are a combination
only pass in states and not while firing a transition. Based                        of timed automata and UML state machines [28]. Like timed
on its clocks, a timed automaton enables to specify time-                           automata, RTSCs may define clocks for expressing time con-
dependent behavior using time guards, resets, and invariants. A                     straints. Similar to UML but in contrast to U PPAAL’s timed
time guard is a boolean constraint that is part of the enabling                     automata, RTSCs enable to use, among others, (i) hierarchical
condition of a transition. A transition may only fire if the                        compositions of states (including entry- and exit-points), (ii)
current clock values fulfill the time guard. Resets set a clock                     entry- and exit-actions for states, (iii) composite transitions (a
back to zero. An invariant is a boolean constraint on a state                       transition where the source or target is a hierarchical state),
that must be fulfilled as long as the state is active.                              (iv) time-consuming transitions, and (v) asynchronous com-
   Timed automata are flat, i.e., they do not contain hierarchical                  munication at transitions, i.e., consuming a received message
states. Moreover, they may be composed to networks of timed                         from a buffer, or sending a message to the other role.
automata that communicate in a synchronous fashion using so-                           The lower part of Fig. 5 shows the RTSCs for both roles of
called channels [27]. However —as a major drawback— U P -                           the RTCP Overtaking. A “/” separates a transition’s enabling
PAAL does not provide modeling elements for the domain of                           conditions (a guard, a message to be received, and/or a clock
CPS like asynchronous message-based communication (incl.                            constraint) from its effect (a sent message, a clock reset,
message parameters) and time-consuming transitions.                                 and/or an action). The general behavior of the RTCP is as
   U PPAAL can verify a subset of the timed computation tree                        follows: First, the overtaker requests to overtake the overtakee
logic (TCTL, [21]), referred to as UTCTL in this paper. In                          by sending a request. At the same time, the overtaker resets
particular, it supports three kinds of properties: reachability                     the clock c when entering the requested state and awaits a
(something may happen), safety (“something bad will never                           response within six seconds as the state invariant is c  6 s.
happen” [27, p.8]), and liveness (“something will eventu-                           The overtakee replies by either an accept or decline message.
ally happen” [27, p.9]). When verifying a property, U PPAAL                         If the overtakee accepts the request, it must drive with a
generates the textual result (i.e., whether the property is                         constant speed (accelerating and braking are forbidden) to
fulfilled). Moreover, U PPAAL can —if available— generate                           avoid a collision with the overtaker that will drive close to
textual traces. A trace is an execution path of the network                         the overtakee before it starts to overtake. When receiving
of timed automata represented by a sequence of snapshots4 .                         the accept message, the overtaker switches to overtaking.init
Each snapshot contains the active state of all timed automata                       and may accelerate. The transition between overtaking.init and
in the network and the values of all clocks and variables. A                        overtaking.changed is time-consuming as it has a deadline of
snapshot change occurs for three reasons: (i) time passes, (ii) a                   exactly 5 s. Thus, the overtaker has five seconds to change
timed automaton fires a transition, or (iii) two timed automata                     the lane and start the overtaking (for simplicity reasons, we
synchronize using a common channel and synchronously fire                           assume that this is always possible). After exactly five seconds,
their transitions.                                                                  the overtaker announces that it has changed the lane by sending
   In particular, U PPAAL can produce a textual trace (1) if a                      a laneChanged message. From then on, the overtakee may
reachability property is fulfilled or (2) if a safety or liveness                   brake, but may still not accelerate until a finish message
property fails. In case (1), the trace leads to a snapshot where                    announces that the overtaking has been carried out. Due to
the property is fulfilled. In case (2), the trace leads to a                        the invariant of state overtaking, the overtaker has to send
snapshot where the property is violated. Therefore, a trace                         message finish at most ten seconds after the overtaking has
of case (2) is also called a counterexample.                                        started (again, for simplicity reasons we assume that this is
                                                                                    always possible).
   3 In this paper, we use the terms states and transitions instead of U PPAAL ’s
                                                                                       The behavior specified by a RTCP is typically safety-
terminology of locations and edges to improve the understandability of our          critical. For example, an error in the RTCP Overtaking
DSMC between MUML and U PPAAL.
   4 In U PPAAL , snapshots are referred to as states. We use the term snapshot     may lead to an accident if the overtakee car accelerates
to avoid confusion with states of a RTSC (cf. Section IV-B).                        even though the overtaking is still ongoing. Therefore, we
                         1. AG not deadlock
                         2. AG not bufferOverflow                                                                    Overtaking
                         3. AG (stateActive(overtaker.overtaking) implies                           overtaker                         overtakee
                            stateActive(overtakee.noAcceleration))                                 buffer                                  buffer
                         4. forall(s:States) EF stateActive(s)                                    size: 5              delay: 1s           size: 5

 overtaker                                                                                                       clock c     overtakee

                      noOvertaking                                                 overtaking                                               noOvertaking                               noAcceleration
                                                                                invariant c 10s                                                                 clock c2
       / request    requested     accept /                                                                                                                                 / accept
                                                                                entry / {reset: c}                                                                                        noBraking
                 invariant c 6s                                                                                                                      received
  init                                                                                                                               request /
        [c 6s] entry / {reset: c}                                                                                                                invariant c2 3s           request /
                                                                      / laneChanged                                                                                                       laneChanged /
                                                                 init               changed                                   init               entry / {reset: c2}
                        decline /                                     deadline: 5s                                                   / decline                              finish /   brakingAllowed
                                                                                   / finish

Legend                RTCP             Role         Role Connector                RTSC                       State         Urgent Transition          Non-Urgent Transition       Entry Point    Exit Point

                                                                 Fig. 5. MUML Real-Time Coordination Protocol Overtaking


       Initial               After Deadline               After Hierarchy                  After UPPAAL              in Fig. 6 (we provide detailed information about all 13 steps in
       Model                 Normalization                Normalization                     Migration
                                                            [c_active]                     A ... Ex ... D            our technical report [29]). The first two steps that we illustrate
             A                     A                  A                    Ex
                                                             D
                                                                                                 C                   are normalizations on the MUML level, i.e., they reduce the
                                                                   ch!
         B                    B                                                            Idle B
                                                                                                                     number of different modeling constructs. We do this in order
                               {reset: c}                                                             ...            to simplify the final step: the migration to U PPAAL.
 deadline:




             /m                                           {reset: c}
   2-3s




                              BC                     B                    BC         ...              BC
                             c 3s                                        c 3s                     send(m),              The first step normalizes deadlines by means of dedi-
         C                                    ...                                                 ...
                                [c 2s]
                                  /m                              [c 2s] / m                ...                      cated intermediate states, emulating the execution of time-
                                                     Idle
                              C                                    {c_active
                                                                    :=true}                   Connector
                                                                                                         C
                                                                                                                     consuming transitions. In our example in Fig. 6, the deadline
                                                          ch? /                                    ...
                                                                                                   ...
                                                                                                                     of the time-consuming transition from state B to C is replaced
         D                                               {c_active
                               D                          :=false}        C                        ...
                                                                                                   ...
                                                                                                                     by a new clock c, the intermediate state BC (including an
                                                                                                                     invariant) and two additional transitions. The invariant of state
                                                                                                                     BC defines how long the intermediate state may be active.
                  Fig. 6. Multi-Step Translation from MUML to U PPAAL
                                                                                                                     The clock constraint below defines when the transition to
                                                                                                                     state C may fire. The recorded traceability links between the
need (domain-specific) model checking of RTCPs using U P -                                                           respective elements are depicted by blue dashed arrows. Our
PAAL. As a prerequisite, we specify properties of the RTCP                                                           translation is a 1:n refinement, because each design model
to be verified using our textual formal language MTCTL                                                               element is translated to one or more output elements.
(M ECHATRONICUML TCTL).                                                                                                 Another normalization applies a flattening concept, which
   The RTCP Overtaking defines four MTCTL properties: three                                                          is based on the work of David and Möller [30], transforming
safety and one reachability property (cf. Fig. 5). The first                                                         hierarchical RTSCs into flat ones. As a consequence, this trans-
property states that the model contains no deadlock, while                                                           lation splits the hierarchical RTSC into several flat RTSCs.
the second ensures that the message buffers never overflow.                                                          Moreover, it replaces state entry- and exit-points, adds idle
The third property states that whenever the overtaker is in                                                          states (if a region may become inactive), and adds channels
state overtaking, the overtakee must be in state noAccelaration.                                                     and global variables for synchronizing the behavior of different
Thus, it enforces the aforementioned requirement that the                                                            RTSCs (the variables indicate if a set of states is active, which
overtakee must not accelerate whenever the overtaking is in                                                          allows exiting a hierarchy level). In our example, the results
progress. The fourth property specifies that all states of the                                                       are two flat RTSCs. Moreover, we add an idle state to the
protocol are reachable. In the remainder of this section, we                                                         lower RTSC, replace the exit-point by state Ex, and add one
present our DSMC for MUML’s RTCPs using U PPAAL.                                                                     channel ch as well as one variable c active.
                                                                                                                        Finally, our migration step replaces all remaining domain
C. Model-To-Model Translation from RTCPs to U PPAAL                                                                  concepts, e.g., the asynchronous message exchange. Similar
   According to Activity 1 of our concept (cf. Fig. 3), we                                                           to Knapp et al. [6], we generate additional timed automata to
developed the model-to-model translation from RTCPs (in-                                                             encode the transmission connector (including properties such
cluding the MTCTL properties) to U PPAAL timed automata                                                              as message loss and delay) and the buffering of messages (in-
(including UTCTL properties). Due to the huge differences                                                            cluding buffer overflow avoidance strategies). In our example,
between RTCPs and U PPAAL, we separated our translation                                                              we have to transform the sending of message m when firing
into 13 steps, each one addressing a particular concern of the                                                       the transition from state BC to C into an U PPAAL function, and
RTCP and/or the MTCTL properties.                                                                                    have to generate a connector such that the message can be sent.
   Due to the limited size of this paper, we briefly explain                                                         Moreover, we translate states, transitions, clocks, variables,
three of these steps on a simplified example, which we depict                                                        and channels of MUML into their U PPAAL representation.
   In summary, the translation shown in Fig. 6 is a refinement       (counterexample) trace in one single step, despite the 13 steps
from one hierarchical RTSC to an U PPAAL model consisting            from MUML to U PPAAL. In particular, our back-translation
of three timed automata and several hundred lines of code. All       is very small as it needs only 609 QVTo LOCs, compared
translation steps record bidirectional traceability links between    to 9,239 LOCs for the translation from MUML to U PPAAL
semantically corresponding elements. For example, a bidi-            (ca. 7%). Moreover, the implementation was straighforward
rectional traceability path exists between the time-consuming        as we only had to define to which kind of MUML element a
transition from state B to C and the U PPAAL state BC.               particular U PPAAL element needs to be transformed. Presently,
   Beside the above translation of the RTSCs, we also translate      (counterexample) traces are printed as SVG files.
the specified MTCTL properties to UTCTL. For example, the
last property depicted in Fig. 5 (expressing that all states must                           V. C ASE S TUDY
be reachable) corresponds to twelve UTCTL properties, one              We conduct a case study based on the guidelines by
for each state of the RTSCs because UTCTL does not support           Kitchenham et al. [31] for evaluating our approach.
quantification over all states.
                                                                     A. Case Study Context
D. Automated Invocation of U PPAAL
                                                                        The objective of our case study is evaluating if our DSMC
   Next, we implemented the Activities 2-4 (cf. Fig. 3) of our       for MUML’s RTCPs using the U PPAAL model checker (which
approach. In particular, we carried out Activity 2 by means          is based on our general DSMC approach) is correct and if it
of a model-to-text transformation using Xtend5 , generating          provides helpful counterexamples at the level of MUML.
U PPAAL’s XML-based input format for timed automata and                 We conduct our case study using 14 existing RTCPs of
the textual UTCTL properties. For Activity 3, we invoke              different interconnected transportation systems (e.g., cars, rail-
U PPAAL’s command line verifier and obtain textual results           ways, robots). These RTCPs focus on various use cases for
and —if available— textual traces (e.g., a counterexample).          coordination, such as collision avoidance or our overtaking
As defined for Activity 4, we need to parse the textual              scenario. Within the paper, we show the evaluation of the
(counterexample) trace into a model. Therefore, we defined           RTCP Overtaking introduced in Section IV-B. The evaluation
a meta model for U PPAAL traces and developed a text-to-             of all other RTCPs is provided on our website [25].
model transformation using Xtext6 . The parsed trace model in-
cludes cross-references to the U PPAAL timed automata model.         B. Setting the Hypothesis
Among others, it reflects which states are active inside a              We only consider RTCPs that are —according to our
particular snapshot and which values are assigned to clocks.         expertise— initially correct w.r.t. their MTCTL properties.
E. Model-To-Model Back-Translation from U PPAAL to RTCPs             Then, we deliberately introduce errors in order force U PPAAL
                                                                     to produce counterexamples for defined safety or liveness
   As a basis for the model-to-model back-translation of traces
                                                                     properties expressed in MTCTL.
(Activity 5 in Fig. 3), we defined a meta model for MUML
                                                                        Our case study has three evaluation hypotheses: (H1)
traces as the target for our back-translation. Structurally, this
                                                                     Our DSMC approach correctly translates all RTCPs (incl.
meta model is similar to the (counterexample) trace meta
                                                                     all MTCTL properties) to U PPAAL. (H2) Our DSMC ap-
model for U PPAAL, i.e., it provides means to model a sequence
                                                                     proach correctly translates all U PPAAL counterexamples back
of snapshots (depicted in the middle of Fig. 7). However, these
                                                                     to MUML. (H3) The MUML counterexamples help domain
snapshots provide specific information of the original MUML
                                                                     experts to detect the root cause of property violations.
design model at runtime, i.e., a MUML snapshot describes the
                                                                        For evaluating hypothesis H1, we manually translate RTCPs
active states and transitions inside RTSCs, the current values
                                                                     that are correct w.r.t. their MTCTL properties to U PPAAL and
of variables and clocks, the contents of the message buffers,
                                                                     compare them with the outputs of our automatic translation.
and which messages are currently in transit.
                                                                     Both should be equivalent. We evaluate hypothesis H2 similar
   Afterwards, we implemented a model-to-model transfor-
                                                                     to H1. Thus, we manually translate U PPAAL counterexamples
mation that translates U PPAAL snapshots back to MUML
                                                                     back to MUML and compare them with the counterexamples
(see [29] for details of the implementation concept). Among
                                                                     that are back-translated automatically. Both sets should be
others, we translate active U PPAAL states back to the corre-
                                                                     equivalent as well. In addition, our DSMC should be able
sponding active RTSC states or transitions. In order to traverse
                                                                     to provide a counterexample at the level of MUML for each
all the 13 forward translation steps inside a single back-
                                                                     U PPAAL counterexample. The MUML counterexample should
translation step, we resolve traceability links incrementally
                                                                     only refer to elements of the original MUML design model.
until we reach a MUML element (e.g., an RTSC state) that is
                                                                     Concerning the evaluation of H3, we give the incorrect RTCP
part of the original RTCP. We carry out the resolving by means
                                                                     and the MUML counterexample to a domain expert that
of QVTo’s invresolve operation [24], i.e., we utilize traceability
                                                                     already has 1.5 years of experience in MUML. However, our
links recorded automatically during the forward translation. As
                                                                     domain expert has no knowledge of U PPAAL and does not
a result, we implemented the back-translation of the complete
                                                                     know the root cause of the errors. We consider H3 as fulfilled,
  5 https://eclipse.org/xtend/                                       if the counterexample facilitates finding the root cause of the
  6 https://eclipse.org/Xtext/                                       error for the domain expert.
Role overtaker     overtaker                                clock c1=1s                                                                           overtaker.            overtaker.
                                                                                                                              overtaker
                                                                                                                                                  overtaking           noOvertaking
                       noOvertaking              overtaking
    Incoming                                  invariant c ≤ 10s
 Message Buffer:                  ...          entry / {reset: c}            Trace                            Trace
      Empty                                                                Snapshot 1                       Snapshot 1    c       c       c
                                                      ...           ...                                                                               overtaker2         overtakee2
                      decline /                init         ...                                                                                       overtakee           overtaker

                                                                                                                                                                   c                c
Connector: No Message in Transit                                                                                              + 381 LOC in
                                                                                ...                               ...           UPPAAL
Role overtakee     overtakee
    Incoming                                                                 Trace                            Trace
 Message Buffer:      noOvertaking      / accept      noAcceleration                                                                          c       c        c
      Empty
                                                                           Snapshot n                       Snapshot n
                                         finish /
                            ...                                   ...
                                        request /                         AG (stateActive(overtaker.overtaking) implies        overtakee.                                overtakee.
                                                                          stateActive(overtakee.noAcceleration))              noOvertaking        overtakee            noAcceleration



                                                      Fig. 7. Back-Translation of an U PPAAL Counterexample Trace to MUML



C. Preparing the Input Models                                                                  translated back, the corresponding counterexamples match
   First, we manually assure that all 14 RTCPs are correct w.r.t.                              semantically, and the MUML counterexamples only refer to
their MTCTL properties according to the MUML semantics.                                        the original RTCPs. For example, our DSMC returned a
Then, we manually create the 14 U PPAAL models. Next,                                          valid counterexample when verifying the incorrect version
we systematically introduce one modeling error into each                                       of RTCP Overtaking with Property 3. Fig. 7 illustrates the
RTCP. These errors include missing transitions, missing sent                                   counterexamples of U PPAAL and MUML for this property.
or received messages, inappropriate message delays, or false                                   In particular, the figure sketches the last snapshot of the
timeout periods. For each error, we define a reachability                                      counterexample for both languages. The correspondence (i.e.,
or safety property that is meant to reveal the error such                                      the traceability paths) between the modeling elements is
that we get a counterexample for each RTCP. Finally, we                                        highlighted using purple dashed arrows. Concerning the last
manually create all 14 MUML counterexamples. For example,                                      MUML snapshot, the state overtaking.init and the transition
to produce a counterexample for the Overtaking RTCP, we                                        from noAcceleration to noOvertaking are active which violates
insert an error to the RTSC of role overtaker (cf. Fig. 5).                                    Property 3. Moreover, the snapshot shows that the incoming
This RTSC encodes a response timeout using the invariant in                                    message buffers are empty, no message is in transit, and that
state noOvertaking.requested and the transition leading from                                   clock overtaker.c1 is at 1s.
this state to noOvertaking.init. If this transition is fired, the                                 Our domain expert was able to detect the root cause for
overtaker assumes that the message was lost and, therefore,                                    every property violation based on the erroneous RTCP and the
that the overtakee will not answer. We reduce the invariant of                                 back-translated counterexample. Moreover, he stated that the
state noOvertaking.requested as well as the clock constraint of                                back-translated counterexamples supported him in solving the
the transition that leads to state noOvertaking.init from 6 s to                               problem (especially for complex protocols like Overtaking).
4 s. This change violates the safety property 3, i.e., overtakee                               For example, the domain expert was able to detect that the
may accelerate during the overtaking. The reason for this is as                                reduced timeout period in state overtaker.noOvertaking causes
follows: If the overtaker is in state noOvertaking.requested, it                               the violation depicted in Fig. 7. The counterexample correctly
can return to state noOvertaking.init although the overtakee has                               shows that overtakee accepts the overtaking, but overtaker
switched to state noAcceleration and has sent an acceptance                                    switches back to noOvertaking.init before the accept message
message that did not arrive yet. Then, the overtaker may                                       arrives due to the reduced invariant of c  4 s. This problem
change to state overtaking by sending a new request and                                        enables overtaker to send a second request message. This
consuming the accept message for the old request. Then, the                                    causes overtakee to switch from noAcceleration to noOver-
overtakee will receive the new request message, which forces                                   taking, which violates the property.
it to change back to the state noOvertaking.                                                   E. Analyzing the Results
D. Validating the Hypotheses                                                                      Our case study demonstrates that our DSMC correctly
   For every correct RTCP, we execute our DSMC with all                                        translates from MUML to U PPAAL, and U PPAAL counterex-
available MTCTL properties (including the one that is meant                                    amples back to MUML. Hence, we consider our first and
to indicate the error). As a result, we get valid U PPAAL models                               second evaluation hypotheses as fulfilled. The back-translated
that correspond to our manually created ones. U PPAAL reports                                  counterexamples allowed to identify the root cause of all
that they fulfill all defined MTCTL properties.                                                property violations. Hence, we consider our third evaluation
   For every erroneous RTCP, we execute our DSMC with                                          hypothesis as fulfilled as well.
the MTCTL property that is meant to indicate the error. As                                        In our case study, the most important threats to validity are
a result, we obtain valid MUML counterexamples for all                                         as follows: (1) We might have made mistakes in our manual
RTCPs, i.e., the U PPAAL counterexamples were successfully                                     translations (forward and backward) and when comparing the
results. Thus, the translations might be in fact incorrect. (2) We   of multi-step translations, enriching a model transformation
only considered 14 RTCPs and introduced only one error in            manually implies a huge development effort. In contrast,
each RTCP. Even though we consider this example as realistic,        our approach demonstrates that traceability links generated
other realistic protocols, properties, and errors could exist that   implicitly by the transformation engine are sufficient even in
are not correctly translated. (3) It might be an exception that      case of multi-step translations.
our domain expert found all errors. Other domain experts                Combemale et al. [39] provide a generic approach for the
could be less successful. Moreover, the errors might have            back-translation of execution traces such as counterexamples,
been too easy to identify. (4) We cannot precisely state how         but require a formal definition of the operational DSML
much influence our back-translated counterexamples had on            semantics. Hegedüs et al. [40] apply traceability links for
our domain expert for finding the errors.                            the back-translation, but require the operational semantics
                                                                     of the DSML and the verification formalism (e.g., a model
                     VI. R ELATED W ORK                              checker input language) to be formalized in terms of graph
   Several concepts towards model checking of CPS exist,             transformations. Thus, in contrast to our approach, both require
which support a translation from a DSML towards a model              a formalization of the operational DSML semantics. However,
checker, e.g., COMDES-II [4], RT-DEVS [5], Dragomir et               DSMLs such as MUML are often equipped with informal
al. [32], AADL [33], Tiwari et al. [34], HUGO/RT [6], and the        semantics, such that a complete formal semantics definition
Compositional Interchange Format (CIF) [35]. However, they           at DSML level represents an additional burden.
all do not provide concepts for back-translating counterexam-
ples. In the scope of this paper, we rather discuss related work               VII. C ONCLUSION AND F UTURE W ORK
that fully hides formal methods by providing a back-translation
                                                                        In this paper, we provide a DSMC in the context of CPS
for counterexamples. We restrict ourselves to approaches that
                                                                     between MUML’s RTCPs and the model checker U PPAAL.
establish a close link between counterexamples and design
                                                                     In contrast to related work that supports model checking of
model, creating explicit cross-references. An extended discus-
                                                                     CPS, we enable the back-translation of counterexamples and
sion of related work may be found in our technical report [29].
                                                                     support the relevant aspects of CPS-specific communication
   Molotnikov et al. [36] address the verification of domain-
                                                                     protocols at application level. We realize this DSMC using a
specific extensions to the C programming language. The
                                                                     new concept that enables the usage of multi-step forward trans-
verification is achieved by a multi-step translation to a basic
                                                                     lations but still only needs a single-step back-translation. In our
form of verifiable C. By utilizing traceability information, the
                                                                     general DSMC concept, we propose to utilize the traceability
verification results are translated back to the domain-specific
                                                                     links of the forward translation that are automatically provided
level. In contrast to our approach, a conceptual consideration
                                                                     by the model transformation engine. These links enable us to
of the back-translation is not in the scope of their paper.
                                                                     identify the corresponding model elements between the design
   Guerra et al. [8] present the BaVeL DSML for the mod-
                                                                     and the verification model, independently of the concrete
eling of DSMC workflows including back-translations. The
                                                                     implementation of the forward translation. In a case study,
language uses triple graphs [37] for the specification of
                                                                     we showed that our DSMC between MUML’s RTCPs and
translation rules. During the forward translation, these rules
                                                                     U PPAAL enables a correct translation and back-translation, and
produce the required traceability links that are later used by the
                                                                     that it is able to provide helpful counterexamples.
back-translation. However, in case of multi-step translations,
                                                                        Transformation developers should benefit from our approach
the approach requires a multi-step back-translation as well,
                                                                     when implementing new DSMC solutions, as they can split up
because each step of the forward translation must be traced
                                                                     the translation into multiple steps and only need few LOCs
back individually by means of a separate triple graph. In
                                                                     for the implementation of the back-translation. These benefits
contrast, our approach enables a single-step back-translation
                                                                     should reduce their development time and should lead to a
that is independent of the number of forward translation steps.
                                                                     maintainable solution. Authors of related approaches can use
   Zalila et al. [38] provide a methodology for DSMC that is
                                                                     our complex application scenario to evaluate their work, since
based on a metamodeling pattern for executable DSMLs. Shah
                                                                     our implementation is open source [25] and the specifications
et al. [10] present a translation of structural UML models to
                                                                     of MUML [15] and U PPAAL [13] are publicly available.
Alloy for static consistency analysis. The authors use a meta
                                                                        Future work will further evaluate our general approach
transformation to generate the actual back-translation on-the-
                                                                     on other complex applications scenarios. Moreover, we will
fly from the recorded traceability links. The MADES approach
                                                                     further evaluate our DSMC between MUML and U PPAAL in
by Baresi et al. [9] uses traceability only to highlight the
                                                                     order to find out if our approach reduces the maintainability
correspondences between counterexample elements and the
                                                                     in comparison to related work.
equivalent elements of the design model (without providing a
proper back-translation). Common to these three approaches is
                                                                                          ACKNOWLEDGMENTS
that they require an additional instrumentation of the forward
translation to produce a specific kind of traceability output.          We thank Marie C. Platenius and Jörg Holtmann for feed-
Thus, transformation developers need to enrich the basic             back on drafts of the paper, and Goran Piskachev for his help
translation with additional traceability logic. Especially in case   in our case study. Christopher Gerking is member of the PhD
program “Design of Flexible Work Environments — Human-                            [19] C. Heinzemann, J. Rieke, and W. Schäfer, “Simulating self-adaptive
Centric Use of Cyber-Physical Systems in Industry 4.0”,                                component-based systems using MATLAB/Simulink,” in Proc. 2013
                                                                                       IEEE 7th International Conference on Self-Adaptive and Self-Organizing
supported by the federal state of North Rhine-Westphalia.                              Systems. IEEE, 2013, pp. 71–80.
                                                                                  [20] U. Pohlmann, J. Holtmann, M. Meyer, and C. Gerking, “Generating
                              R EFERENCES                                              Modelica models from software specifications for the simulation of
                                                                                       cyber-physical systems,” in Proc. 2014 40th EUROMICRO Conference
 [1] E. M. Clarke, O. Grumberg, and D. A. Peled, Model Checking. MIT                   on Software Engineering and Advanced Applications. IEEE, 2014, pp.
     Press, 2000.                                                                      191–198.
 [2] J. A. Davis, M. Clark, D. D. Cofer, A. Fifarek, J. Hinchman, J. Hoffman,     [21] R. Alur, C. Courcoubetis, and D. L. Dill, “Model-checking in dense real-
     B. Hulbert, S. P. Miller, and L. Wagner, “Study on the barriers to the            time,” Information and Computation, vol. 104, no. 1, pp. 2–34, 1993.
     industrial adoption of formal methods,” in Formal Methods for Industrial     [22] H. Giese, “A formal calculus for the compositional pattern-based design
     Critical Systems, ser. LNCS, C. Pecheur and M. Dierkes, Eds., vol. 8187.          of correct real-time systems,” Software Engineering Group, University
     Springer, 2013, pp. 63–77.                                                        of Paderborn, Tech. Rep. tr-ri-03-240, Jul. 2003.
 [3] W. Visser, M. B. Dwyer, and M. W. Whalen, “The hidden models of              [23] S. Sendall and W. Kozaczynski, “Model transformation: The heart and
     model checking,” Software & Systems Modeling, vol. 11, no. 4, pp.                 soul of model-driven software development,” IEEE Softw., vol. 20, no. 5,
     541–555, 2012.                                                                    pp. 42–45, 2003.
 [4] X. Ke, P. Pettersson, K. Sierszecki, and C. Angelov, “Verification of        [24] Object Management Group, MOF 2.0 Query/View/Transformation Spec-
     COMDES-II systems using U PPAAL with model transformation,” in                    ification, Feb. 2015, no. formal/15-02-01.
     Proc. 14th IEEE International Conference on Embedded and Real-Time           [25] [Online].      Available:     https://trac.cs.upb.de/mechatronicuml/wiki/
     Computing Systems and Applications. IEEE, 2008, pp. 153–160.                      PaperModevva2015
 [5] A. Furfaro and L. Nigro, “Embedded control systems design based              [26] J. Bengtsson and W. Yi, “Timed automata,” in Lectures on Concurrency
     on RT-DEVS and temporal analysis using U PPAAL,” in Proc. of the                  and Petri Nets, ser. LNCS, J. Desel, W. Reisig, and G. Rozenberg, Eds.
     International Multiconference on Computer Science and Information                 Springer, 2004, vol. 3098, pp. 87–124.
     Technology, M. Ganzha, M. Paprzycki, and T. Pełech-Pilichowski, Eds.,        [27] G. Behrmann, A. David, and K. G. Larsen, A Tutorial on U PPAAL 4.0,
     vol. 3. IEEE, 2008, pp. 601–608.                                                  Department of Computer Science, Aalborg University, Nov. 2006.
 [6] A. Knapp, S. Merz, and C. Rauh, “Model checking timed UML state              [28] Object Management Group, OMG Unified Modeling Language, Mar.
     machines and collaborations,” in Formal Techniques in Real-Time and               2015, no. formal/15-03-01.
     Fault-Tolerant Systems, ser. LNCS, W. Damm and E.-R. Olderog, Eds.,          [29] S. Dziwok, C. Gerking, and C. Heinzemann, “Domain-specific model
     vol. 2469. Springer, 2002, pp. 395–416.                                           checking of M ECHATRONICUML models using U PPAAL,” Software
 [7] H. Giese, M. Tichy, S. Burmester, W. Schäfer, and S. Flake, “Towards             Engineering Group, Heinz Nixdorf Institute, University of Paderborn,
     the compositional verification of real-time UML designs,” in Proc.                Tech. Rep. tr-ri-15-346, Jul. 2015.
     of the 11th ACM SIGSOFT Symposium on Foundations of Software                 [30] A. David, M. O. Möller, and W. Yi, “Formal verification of UML
     Engineering. ACM, 2003, pp. 38–47.                                                statecharts with real-time extensions,” in Fundamental Approaches to
 [8] E. Guerra, J. de Lara, A. Malizia, and P. Dı́az, “Supporting user-oriented        Software Engineering, ser. Lecture Notes in Computer Science, R.-D.
     analysis for multi-view domain-specific visual languages,” Information            Kutsche and H. Weber, Eds., vol. 2306. Springer, 2002, pp. 218–232.
     and Software Technology, vol. 51, no. 4, pp. 769–784, 2009.                  [31] B. Kitchenham, L. Pickard, and S. L. Pfleeger, “Case studies for method
 [9] L. Baresi, G. Blohm, D. S. Kolovos, N. Matragkas, A. Motta, R. F.                 and tool evaluation,” IEEE Softw., vol. 12, no. 4, pp. 52–62, Jul. 1995.
     Paige, A. Radjenovic, and M. Rossi, “Formal verification and validation      [32] I. Dragomir, I. Ober, and C. Percebois, “Contract-based modeling and
     of embedded systems: the UML-based MADES approach,” Software &                    verification of timed safety requirements within SysML,” Software &
     Systems Modeling, vol. 14, no. 1, pp. 343–363, Feb. 2015.                         Systems Modeling, Jul. 2015.
[10] S. M. A. Shah, K. Anastasakis, and B. Bordbar, “From UML to                  [33] A. Johnsen, K. Lundqvist, P. Pettersson, and O. Jaradat, “Automated
     Alloy and back again,” in Models in Software Engineering, ser. LNCS,              verification of AADL-specifications using U PPAAL,” in Proc. 2012 IEEE
     S. Ghosh, Ed., vol. 6002. Springer, 2010, pp. 158–171.                            14th International Symposium on High-Assurance Systems Engineering.
[11] A. Etien, V. Aranega, X. Blanc, and R. F. Paige, “Chaining model                  IEEE, 2012, pp. 130–138.
     transformations,” in Proc. of the First Workshop on the Analysis of Model    [34] A. Tiwari, N. Shankar, and J. M. Rushby, “Invisible formal methods for
     Transformations. ACM, 2012, pp. 9–14.                                             embedded control systems,” Proc. IEEE, vol. 91, no. 1, pp. 29–39, Jan.
[12] C. Heinzemann, C. Brenner, S. Dziwok, and W. Schäfer, “Automata-                 2003.
     based refinement checking for real-time systems,” Computer Science -         [35] D. E. Nadales Agut, M. A. Reniers, R. R. Schiffelers, K. Y. Jörgensen,
     Research and Development, vol. 30, no. 3, pp. 255–283, Aug. 2015.                 and D. van Beek, “A semantic-preserving transformation from the
[13] J. Bengtsson, K. G. Larsen, F. Larsson, P. Pettersson, and W. Yi,                 compositional interchange format to U PPAAL,” in Proc. of the 18th IFAC
     “U PPAAL- a tool suite for automatic verification of real-time systems,”          World Congress, S. Bittanti, A. Cenedese, and S. Zampieri, Eds., 2011,
     in Verification and Control, ser. LNCS, R. Alur, T. A. Henzinger, and             pp. 12 496–12 502.
     E. D. Sontag, Eds., vol. 1066. Springer, 1996, pp. 232–243.                  [36] Z. Molotnikov, M. Völter, and D. Ratiu, “Automated domain-specific
[14] S. Becker, S. Dziwok, C. Gerking, C. Heinzemann, W. Schäfer,                     C verification with mbeddr,” in Proc. of the 29th ACM/IEEE Inter-
     M. Meyer, and U. Pohlmann, “The M ECHATRONICUML method:                           national Conference on Automated Software Engineering, I. Crnkovic,
     Model-driven software engineering of self-adaptive mechatronic sys-               M. Chechik, and P. Grünbacher, Eds. ACM, 2014, pp. 539–550.
     tems,” in Companion Proc. of the 36th International Conference on            [37] A. Schürr, “Specification of graph translators with triple graph gram-
     Software Engineering. ACM, 2014, pp. 614–615.                                     mars,” in Graph-Theoretic Concepts in Computer Science, ser. LNCS,
[15] S. Becker, S. Dziwok, C. Gerking, C. Heinzemann, S. Thiele,                       E. W. Mayr, G. Schmidt, and G. Tinhofer, Eds., vol. 903. Springer,
     W. Schäfer, M. Meyer, U. Pohlmann, C. Priesterjahn, and M. Tichy,                1995, pp. 151–163.
     “The M ECHATRONICUML design method — process and language for                [38] F. Zalila, X. Crégut, and M. Pantel, “Formal verification integration
     platform-independent modeling,” Software Engineering Group, Heinz                 approach for DSML,” in Model-Driven Engineering Languages and
     Nixdorf Institute, University of Paderborn, Tech. Rep. tr-ri-14-337, Mar.         Systems, ser. LNCS, A. Moreira, B. Schätz, J. Gray, A. Vallecillo, and
     2014.                                                                             P. Clarke, Eds. Springer, 2013, vol. 8107, pp. 336–351.
[16] C. Baier and J.-P. Katoen, Principles of Model Checking. MIT Press,          [39] B. Combemale, L. Gonnord, and V. Rusu, “A generic tool for tracing
     2008.                                                                             executions back to a DSML’s operational semantics,” in Modelling
[17] T. A. Henzinger, “The theory of hybrid automata,” in Proc. 11th Annual            Foundations and Applications, ser. LNCS, R. B. France, J. M. Küster,
     IEEE Symposium on Logic in Computer Science. IEEE, Jul. 1996, pp.                 B. Bordbar, and R. F. Paige, Eds., vol. 6698. Springer, 2011, pp. 35–51.
     278–292.                                                                     [40] Á. Hegedüs, G. Bergmann, I. Ráth, and D. Varró, “Back-annotation of
[18] A. Eggers, N. Ramdani, N. S. Nedialkov, and M. Fränzle, “Improving the           simulation traces with change-driven model transformations,” in 2010
     SAT modulo ODE approach to hybrid systems analysis by combining                   8th IEEE International Conference on Software Engineering and Formal
     different enclosure methods,” Software & Systems Modeling, vol. 14,               Methods, J. L. Fiadeiro, S. Gnesi, and A. Maggiolo-Schettini, Eds.
     no. 1, pp. 121–148, Feb. 2015.                                                    IEEE, 2010, pp. 145–155.