<!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>Interface Veri cation Using Executable Reference Models: An Application in the Automotive Infotainment?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Christian Drabek</string-name>
          <email>christian.drabek@esk.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Pramsohler</string-name>
          <email>thomas.pramsohler@bmw.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marc Zeller</string-name>
          <email>marc.zeller@esk.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gereon Weiss</string-name>
          <email>gereon.weiss@esk.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>BMW Forschung und Technik GmbH Hanauer Str.</institution>
          <addr-line>46, 80992 Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Embedded Systems and Communication Technologies ESK Hansastr.</institution>
          <addr-line>32, 80686 Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Modern in-vehicle infotainment systems comprise highly interactive software components. The veri cation of the interfaces of such components poses a major challenge for developers. In this work, we present an approach for model-based veri cation of distributed infotainment components. We de ne a layered reference model which speci es the interaction between two components at syntactical and behavioral level. The layers abstract from the used middleware so developers may focus on the components' actual interface behavior. Additionally, we dene a model execution framework which enables the reuse of the reference model for veri cation of interface implementations. We demonstrate the applicability of the approach using an industrial case study. Our approach aims at reducing errors in the communication behavior and increasing the overall product quality.</p>
      </abstract>
      <kwd-group>
        <kwd>automotive</kwd>
        <kwd>infotainment</kwd>
        <kwd>interface veri cation</kwd>
        <kwd>model execution</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The growing amount and the increasing interdependency of functions in modern
automobiles [
        <xref ref-type="bibr" rid="ref21 ref6">6, 21</xref>
        ] pose a major challenge for the software development. One of
the most rapidly evolving in-vehicle domains is the infotainment (see Figure 1).
Up to now this has led to various infotainment functionalities with many
interdependencies on di erent interconnected Electronic Control Units (ECUs).
Especially, the ongoing trend of integrating external services into the in-vehicle
infotainment increases the complexity of the interfaces of related ECUs. Such
services may come from connected consumer devices (e.g. smart phones) or from
the Internet (e.g. cloud services). Moreover, there is a movement in the
automotive industry towards the use of multi-vendor platforms (such as GENIVI [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]),
•Head-up display
•LCD Cockpit
      </p>
      <p>42
Infotainment /
Communication</p>
      <p>10
•Hybrid control
•Fuel cell control
•Start/stop control
•E-vehicle control</p>
      <p>17
•Active shock
absorber
•Steer-by-Wire
•Electronic wedge
brake</p>
      <p>31
•Rear end crash
avoidance system
•Traffic sign
recognition system
Total</p>
      <p>Powertrain</p>
      <p>Chassis / Body</p>
      <p>Active Safety
where services of di erent suppliers and the OEM are integrated in a single
hardware platform using an IPC bus for the message exchange. For such integration
scenarios, the veri cation of software components and their interfaces is needed
to assure compatibility and enable a well-de ned user experience and
premiumclass quality. This can be di cult when third-party services are provided as
black-boxes, where only their communication can be monitored.</p>
      <p>
        Within the automotive application development, model-based approaches
have been applied successfully over time [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Model-based techniques used during
the design and integration phase of new infotainment applications play also a
major role in the process of validation and veri cation [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. In the infotainment
domain the veri cation of application interfaces is complex, due to the
interactive and fast evolving nature of this domain. Traditionally constituting a not
safety critical domain, it comprises very diverse and multifaceted interactions,
reaching from rich media information exchange to single control interactions.
      </p>
      <p>We identi ed the following items as most de ning challenges for the veri
cation of infotainment interfaces with respect to their communication:
1. Abstraction: Middlewares de ne their own protocols and interface
description languages. The modeling approach should abstract from these technical
details so developers may focus on the components' actual interface behavior.
2. Parallel interactions: Manifold software-based features are assembled and
executed in parallel with interfaces partially interdependent. The many
potential system states and interactions are very di cult to capture.
3. Synchronization (Initialization): The parallel interactions make it hard
to identify the actual communication state. Anyway, the veri cation
mechanism needs to be able to assume this state for carrying out the veri cation.
4. Timeouts: Infotainment is not a safety-critical domain, but the meeting of
timing requirements is essential for orchestration of interactive components.
5. Error detection: The veri cation should reliably detect an abnormal
operation and encircle the actual fault leading to the erroneous functionality.
6. Executable interface speci cation: Especially with complex
infotainment systems manual veri cation is a tedious and error-prone task.
Automatic veri cation requires input for the interpretation by a machine. For
model-based speci cations this can be achieved with executable semantics.
Within this paper, we focus on an approach for model-based veri cation of the
communication behavior of distributed infotainment components considering the
above characteristics. Special emphasis is put on the design and reuse of so-called
reference models from the speci cation phase for the veri cation. Therefore, a
concept for the veri cation of infotainment components' interfaces by using
executable reference models is presented. The main goals are to reduce the veri
cation costs while preserving or even increasing the product quality.</p>
      <p>The contribution of our work is twofold. First, we de ne a layered reference
model which is used to specify the interaction between components at syntactical
and behavioral level. Thereby we take into account that interfaces are usually
de ned at syntactical level in an existing proprietary language. We seamlessly
integrate those middleware dependent speci cations in our modeling approach.
In addition, we de ne a framework for executing such reference models. This
enables us to reuse the models de ned for speci cation in a veri cation process.</p>
      <p>The remainder of this paper is organized as follows: In Section 2, we give a
brief overview of related work. Afterwards, Section 3 outlines our approach for
the model-based veri cation of infotainment interfaces using reference models.
In Section 4, we present the software architecture and execution semantics used
to enable the veri cation of component interfaces in the infotainment domain.
In Section 5 our approach is demonstrated using an industrial case study. We
conclude the paper in Section 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Model-based development of application interfaces is widely applied in the
automotive domain. For instance, MATLAB/Simulink [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] are generally utilized
solutions for modeling and testing embedded systems. However the main focus
of this tool chain is the development of continuous systems or software
functions. Instead one major challenge in the automotive infotainment domain is the
event-driven, state-based characteristic of the interactive systems. In the
context of infotainment systems, models today are commonly created on the basis
of UML [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. There are already frameworks available complementing UML case
tools with interfaces to a physical network bus, e.g. MODENA [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for the MOST
(Media Oriented Systems Transport) bus [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], which generally also enables the
testing of communication interfaces of infotainment components [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. However,
for upcoming multi-vendor platforms (e.g. GENIVI) using novel communication
mechanisms no such framework is available today.
      </p>
      <p>
        Infotainment components are usually implemented by di erent parties based
on a speci cation given by the car manufacturer. Speci cations are written in
natural language and enriched with software models. In today's automotive
software engineering, the speci cation models are often only used as visual
representation of speci c aspects. We aim at maximizing the automation of veri cation
processes using these speci cation models. Current veri cation methods rely on
sequence-based tests [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, by specifying single test sequences the view
on the complex interactions and the system states of the components is very
limited. Other approaches (e.g. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) include the manual design of test models, which
are used for automated generation of test cases. A major drawback of all these
approaches is the signi cant overhead for modeling the complex (infotainment)
test models or numerous test cases during the development. Moreover, testing
usually involves an oracle [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] to determine the expected outcome of test cases.
If created manually, the task grows tedious with a large number of tests.
      </p>
      <p>
        An automated test oracle can be provided by execution of the speci cation
models. Further, the possibility to simulate and observe the reactions of a model
to a given sequence of events helps to understand the speci ed mechanisms. The
frameworks Populo [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and Moliz [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] are two academic examples for UML model
execution. Both use class diagrams to declare classes and operations. The
behavior of latter can be de ned with activities. Populo uses the UML action semantics
and stereotypes in the UML activity diagram. Moliz is based on Semantics of a
Foundational Subset for Executable UML Models (fUML) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a subset of UML
with execution semantics. UML Model Debugger (UMD) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] enables execution
of activity and state diagrams, but uses Java code to specify actions. Similar the
case tool Rational Rhapsody [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] allows the user to enter code for actions but uses
its own semantics for execution of state diagrams [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. A di erent approach is to
design a model language speci cally for execution of state-based behavior. State
Chart XML (SCXML) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is a general-purpose event-based state machine
language that is based on semantics of Harel statecharts [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Harel statecharts were
also adopted in UML state machines, but SCXML includes execution semantics
that allow running the model, e.g. for a simulation [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>In this paper, we introduce an applicable approach for the veri cation of
communication interfaces in the automotive infotainment domain. We exploit
executable reference models created during the speci cation phase of infotainment
components for the veri cation of implementations in the integration phase.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Model-based Veri cation of Interfaces</title>
      <p>We address the challenges of interface veri cation in automotive infotainment
systems by using layered interface speci cations. A so-called layered reference
model is manually derived from the requirements. It describes the
communication between two components including all involved interfaces and behavioral
interactions. Figure 2 shows the di erent layers of the reference model.</p>
      <p>The interface de nition model describes the artifacts (e.g., broadcasts,
methods, types) of the involved interfaces on a syntactical level. This layer uses the
proprietary interface description language usually provided by a middleware
technology. By changing this layer, the model can be adapted to the utilized
target middleware. Figure 3a shows an example interface de nition model for
automotive infotainment components.</p>
      <p>The event de nition model bridges the gap between the middleware
dependent interface de nition model and the middleware independent behavioral
model. The modeler speci es the invocation of an interface artifact using an event
de nition and re nes this event with a constraint. A constraint is de ned by
bainterface definition models
event definition models</p>
      <p>IF1 : IDL1</p>
      <p>IF2 : IDL2</p>
      <p>IF3 : IDL3
IF1 events</p>
      <p>IF2 events</p>
      <p>IF3 events</p>
      <p>defined by
interface simple { interface simple {
} }mv}eetrmmo}hsiauoinjtdoIoonnrr{mte{801ssiadge { R}}CReaeslsmcmmcplpeoeeooEotnttnnvnhshhssesotootenedrddrEtERaRRavveieeierefnffnenntttqtmmmue{ee{rersissiseesdssdptpaaallg=gg=y{yeee==OTnw12eo}}{{
}</p>
      <p>}
(a) interface
de nition
::Timeout
sic arithmetic and logical expressions using the parameters which correspond to
the interface artifact. The speci ed events are used in the behavioral model as
triggers for transitions. Therefore, only events needed in the behavioral models
need to be de ned. An example of our textual language for this task is shown in
Figure 3b. It may be adapted to other target interface de nition models.</p>
      <p>
        In order to model the ordering of events in a communication relation between
two components we use stereotyped UML state machines [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. State machines
are currently widely applied for behavioral modeling in the automotive domain.
We do not use all concepts provided by the formalism but restrict the expressive
power with an UML Pro le. Figure 3c shows an exemplary behavioral model for
the communication between two components. A state in our model is not the
status of single components; rather it represents their common communication
state. A state can be annotated with a timeout event which de nes the maximum
duration the state may be active. When the state has been active for the
speci ed amount of time, the corresponding timeout event is emitted. This allows
specifying timing requirements in the model (i.e. deadlines and cyclic events).
      </p>
      <p>In UML state machines transitions are de ned with trigger and guard. In our
experience with real models, the guard conditions are a powerful concept but
might become complex pieces of program code. Therefore, we allow the guard
condition to be speci ed using the constraints of the event model only. Triggers
may reference an event of the event model or a timeout of the behavioral model.
The sender and the receiver of the event are also annotated on the transition.</p>
      <p>
        The limited number of elements without nested code snippets prevents the
use of ambiguous concepts and facilitates a precise description of the
communication relationships. The approach is precise enough for direct code generation
of an executable state chart for a speci c middleware. We could already show
the applicability with a subset of this model for adapter-code generation in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
In this work, we extended the approach with timing, and parallel and partially
interdependent communication. Parallel behavior is modeled by states with
parallel regions. A join element can be used to coordinate the exit of those regions.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Execution Framework for Reference Models</title>
      <p>In this section, we introduce our execution framework for reference models used
for the veri cation of interfaces in automotive infotainment systems. The
framework monitors the component interaction and reports failures (see Figure 4).</p>
      <p>model execution framework
execution semantics</p>
      <p>With the information from the interface and event models, the event decoder
maps incoming messages to events and discards messages not relevant for the
reference model. The behavioral model gets triggered by the resulting event
stream. Every event which is not consumed by the model in a speci c state will
be logged. If such a failure in the communication stream is detected, the current
state of the communication is unclear and the active state in the behavioral
model has to be determined by the Synchronizer using the next messages.</p>
      <p>For executing the reference models, we use open and standardized semantics.
fUML de nes execution semantics for a subset of UML, but this subset does not
include state machines. Therefore, we use SCXML, which provides well-de ned
semantics for executable state machines. SCXML is not based on UML state
machines but it is su ciently similar. Most of the modeling elements and concepts
in our behavioral models can be mapped straight forward to SCXML: initial
nodes, transitions, states with regions for nesting as well as parallel behavior.
Special treatment is only needed for the join element, which is not available in
SCXML. To compensate for this discrepancy in the mapping, we redirect
transitions targeting the join to a new nal state in each region. The join's outgoing
transition is connected to the parallel state as source, and triggers when all nal
states have been entered.</p>
      <p>In SCXML our error semantics can be modeled by containing the original
state machine in a state, where a single transition leads to the error state. This
transition's trigger is set to match any event. As transitions of inner states
precede those of outer states in SCXML, the error transition res only if the event is
not consumed by the original state machine. We implemented a straightforward
type of Synchronizer with transitions for all unique events to their
corresponding target states. A more detailed description of the synchronization mechanism
is beyond the scope of this paper. This mapping grants execution, error
checking, and synchronization semantics to the proposed modeling approach enabling
detection of the following failures:
{ missing messages,
{ additional messages,
{ malformed messages, and
{ timing violations</p>
      <p>Thereby, our reference models together with the execution framework can be
used to verify interfaces of infotainment components.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Application in an Automotive Use Case</title>
      <p>In this section we show the application of our approach using an automotive
example. An automotive infotainment ECU implements many functions which
communicate with other ECU's using the in-car network. This includes
reading and setting values. This communication with the hardware services is often
realized using a gateway component with respective software proxies. In the
following, we introduce a ctive parking assistant (ParkA) software proxy. This
service is used for producing a top-view of the car showing the surrounding
obstacles. The ParkA component provides a reliable link in order to obtain
upto-date sensor values. In this case the reference model describes the inter-process
communication inside the infotainment ECU between a Client (e.g. a surround
view) and the ParkA-service.</p>
      <p>Figure 5a shows the syntactical interface of the ParkA component. The
interface provides methods for startup, shutdown and resolution settings. The ParkA
service sends the sensor values using the broadcast sensorValues. Figure 5b
shows the respective event de nitions for the ParkA interface. In this model we
specify concrete occurrences of broadcasts, method calls or responses.</p>
      <p>In addition to the syntactical interface and events we de ne the protocol for
a speci cation-conformant interaction with a ParkA service. Figure 5c shows
the behavioral model. To initiate communication, the client has to invoke the
startUp-Method. If successful (startUp_response_OK), the client is connected
Interface ParkA {</p>
      <p>CallEvent startUp {</p>
      <p>methodRef startUp }
ResponseEvent startUp_response_OK {
methodRef startUp
constraint {returnValue == OK} }
ResponseEvent startUp_response_ERROR {
methodRef startUp
constraint {returnValue != OK} }
BroadcastEvent sensorValues {</p>
      <p>methodRef sensorValues }
... }
(b) ParkA event de nition excerpt.</p>
      <p>ParkA:&gt;Client:startUp_response_OK
interface ParkA{
method startUp{
in{Resolution res}
out{AM_Error returnValue} }
broadcast sensorValues {
out{</p>
      <p>Int32[] front_lmr
Int32[] rear_lmr</p>
      <p>Resolution res } }
enumeration Resolution{ cm mm }
enumeration AM_Error{ OK ERROR }
... }
and the service starts sending cyclic sensor values using the
sensorValuesbroadcast. The time between two of these broadcasts should not be longer than
20ms (Max: 20). At any time in the working-state the client may change the
resolution of the sensor values using the setResolution-method or shut down
the service using the shutDown-method. This is described using a parallel region.</p>
      <p>We show an example for a communication trace in Figure 5c. Each line
denes an event number, the timestamp of the event and the already decoded
message as string. In this example we annotate the transitions of the
behavioral model with the order in which the trace is executed. The ParkA service
starts sending sensor values immediately after the startUp method call. This
is a deviation from the speci ed behavior and causes the behavior model to
trigger the unexpectedEvent-transition. The failure gets logged and the next
event (sensorValues) is used for synchronization. The next failure is detected
at message number 7. The timeout in state sendingValues elapses and res the
timeout_sendingValues-event. This event does not trigger any transition in the
active state and will be handled by the unexpectedEvent-transition.
Synchronization is done after receiving the next sensorValues-broadcast. The trace
completes without further failures. Other unique events have transitions from
the Synchronizer into the behavior model, too, which are not shown for clarity.</p>
      <p>The case-study illustrates how we address the challenges for the veri cation
of automotive infotainment interfaces introduced in Section 1:
1. The event model abstracts from technical details, thus allowing for a clear
behavioral model.
2. All potential system states of parallel and partially interdependent
components can be captured by using parallel regions and multiple interfaces in
the reference model.
3. Using unique messages the presented reference model can be
(re-)synchronized to the tested components for initialization or after the model detected
a message not conforming to the modeled behavior.
4. The synchronization mechanism allows to detect timeouts during the veri
cation (e.g. when a message is not delivered in time) by treating timeouts of
states like other events.
5. Reliable error detection is provided by the logged failures, which can later
be evaluated by the developer, in order to verify, if the deviant behavior of
the implemented interface is identi ed as a de nite error or not.
6. The presented execution framework enables running the reference models in
parallel to the components for veri cation.</p>
      <p>Thereby, our approach enables the veri cation of infotainment components'
interfaces by detecting failures within the communication behavior using
executable reference models.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions &amp; Future Work</title>
      <p>In this work, we outlined the major characteristics and challenges for the veri
cation of communication interfaces in in-vehicle infotainment systems. Moreover,
we have introduced an approach for the veri cation of interfaces which addresses
these challenges by using reference models created during the speci cation phase.
We showed the applicability of our approach by an example of a parking
assistant proxy component. Our approach allows exploiting the e ort once spent for
a model-based speci cation in the integration phase, by verifying the quality of
the implemented components.</p>
      <p>Future emphasis will be laid on the enhancement of the proposed
methodology for complex data-depending models. Furthermore, reusing the reference
models for so-called restbus simulation with real ECUs will be investigated in
future work.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Benz</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Combining test case generation for component and integration testing</article-title>
          .
          <source>In: Proc. of the 3rd Int. Workshop on Advances in model-based testing (A-MOST)</source>
          . pp.
          <volume>23</volume>
          {
          <issue>33</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Braun</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bringmann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rostenstiel</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Testing with Virtual Prototypes</article-title>
          . Elektronik automotive Special Issue MOST,
          <volume>49</volume>
          {
          <fpage>51</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chakraborty</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Satpathy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Resmerita</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pree</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Cross-layer analysis, testing and veri cation of automotive control software</article-title>
          .
          <source>In: Proc. of the Int. Conf. on Embedded Software (EMSOFT)</source>
          . pp.
          <volume>263</volume>
          {
          <issue>272</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dotan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kirshin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Debugging and testing behavioral UML models</article-title>
          .
          <source>In: Proc. to the 22nd ACM SIGPLAN Conf. on Object-oriented Programming Systems and Applications Companion</source>
          . pp.
          <volume>838</volume>
          {
          <issue>839</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fuentes</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manrique</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sanchez</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Populo: a tool for debugging UML models</article-title>
          .
          <source>In: Proc. of the 30th Int. Conf. on Software Engineering (ICSE)</source>
          . pp.
          <volume>955</volume>
          {
          <issue>956</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fuerst</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Challenges in the Design of Automotive Software</article-title>
          .
          <source>In: Proc. of Design</source>
          , Automation, and Test in
          <source>Europe (DATE)</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>GENIVI</given-names>
            <surname>Alliance</surname>
          </string-name>
          <article-title>: The GENIVI Alliance</article-title>
          , http://www.genivi.org/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Harel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Statecharts: A visual formalism for complex systems</article-title>
          .
          <source>Science of computer programming 8(3)</source>
          ,
          <volume>231</volume>
          {
          <fpage>274</fpage>
          (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Harel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kugler</surname>
          </string-name>
          , H.:
          <article-title>The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML)</article-title>
          .
          <source>In: Integration of Software Speci cation Techniques for Applications in Engineering</source>
          , pp.
          <volume>325</volume>
          {
          <fpage>354</fpage>
          . Springer (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>10. IBM: Rational Rhapsody, http://www.ibm.com/</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Krust</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>Weg vom Blech! Automobilwoche</source>
          <volume>23</volume>
          ,
          <issue>10</issue>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Mattner</surname>
            ,
            <given-names>B..:</given-names>
          </string-name>
          <article-title>MODENA - The speci cation and test tool for infotainment components</article-title>
          , http://www.berner-mattner.com/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Mayerhofer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Testing and debugging UML models based on fUML</article-title>
          .
          <source>In: Proc. of the 34th Int. Conf. on Software Engineering (ICSE)</source>
          . pp.
          <volume>1579</volume>
          {
          <issue>1582</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Meyer, J.,
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bichler</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Model-based testing for infotainment systems</article-title>
          .
          <source>ATZelektronik worldwide 1(2)</source>
          ,
          <volume>20</volume>
          {
          <fpage>22</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. MOST Cooperation:
          <article-title>Media Oriented Systems Transport</article-title>
          (MOST), http://www. mostcooperation.com/
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Moura</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guedes</surname>
            ,
            <given-names>L.A.</given-names>
          </string-name>
          :
          <article-title>Simulation of industrial applications using the execution environment SCXML</article-title>
          .
          <source>In: Proc. of the 5th IEEE Int. Conf. on Industrial Informatics</source>
          . pp.
          <volume>255</volume>
          {
          <issue>260</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Object Management Group (OMG):
          <source>Uni ed Modeling Language Speci cation Ver. 2</source>
          .
          <issue>0</issue>
          (
          <issue>2005</issue>
          ), http://www.omg.org
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Object Management</surname>
          </string-name>
          <article-title>Group (OMG): Semantics of a Foundational Subset for Executable UML Models (FUML) (</article-title>
          <year>2011</year>
          ), http://www.omg.org/spec/FUML/1.0/
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Pramsohler</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kafkas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulic</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeller</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baumgarten</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Control Flow Analysis of Automotive Software Components Using Model-Based Speci cations of Dynamic Behavior</article-title>
          . In:
          <article-title>Model-Based Design and In-Vehicle Software</article-title>
          . SAE World Congress (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Pramsohler</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schenk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baumgarten</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Towards an optimized software architecture for component adaptation at middleware level</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>7957</volume>
          , pp.
          <volume>266</volume>
          {
          <fpage>281</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Pretschner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Broy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kruger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stauner</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Software Engineering for Automotive Systems: A Roadmap</article-title>
          .
          <source>In: Future of Software Engineering</source>
          . pp.
          <volume>55</volume>
          {
          <issue>71</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Staats</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whalen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heimdahl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Programs</surname>
          </string-name>
          , Tests, and
          <article-title>Oracles: The Foundations of Testing Revisited</article-title>
          .
          <source>In: Proc. of the 33rd Int. Conf. on Software Engineering (ICSE)</source>
          . pp.
          <volume>391</volume>
          {
          <issue>400</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <article-title>The MathWorksTM Inc</article-title>
          .:
          <string-name>
            <surname>MATLAB R &amp; Simulink</surname>
            <given-names>R</given-names>
          </string-name>
          , http://www.mathworks.com/
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <article-title>World Wide Web Consortium (W3C): State Chart XML (SCXML): State Machine Notation for Control Abstraction</article-title>
          , http://www.w3.org/TR/scxml/
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>