<!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>Anticipating Implementation Level Timing Analysis for Driving Design Level Decisions in EAST-ADL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alessio Bucaioni</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antonio Cicchetti</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Federico Ciccozzi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Romina Eramo</string-name>
          <email>romina.eramo@univaq.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Saad Mubeen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikael Sjodin</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Arcticus Systems AB</institution>
          ,
          <addr-line>Jarfalla</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Malardalen University</institution>
          ,
          <addr-line>Vasteras</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of L'Aquila</institution>
          ,
          <addr-line>L'Aquila</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>ion and separation of concerns, but no support for automation among its abstraction levels. This support is particularly helpful when manual transitions among levels are tedious and error-prone. This is the case of design and implementation levels. Certain fundamental analyses (e.g., timing), which have a signi cant impact on design decisions, give precise results only if performed on implementation level models, which are currently created manually by the developer. Dealing with complex systems, this task becomes soon overwhelming leading to the creation of a subset of models based on the developers experience; relevant implementation level models may therefore be missed. In this work, we describe means for automation between EAST-ADL design and implementation levels to anticipate end-to-end delay analysis at design level for driving design decisions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The importance of software is growing in practically all industrial sectors. In
the automotive domain, software is used, e.g., for improving the safety of the
vehicle, the driving experience, and the comfort of the passengers. The electronic
system of a modern car can be composed of more than 70 embedded systems
running up to 100 million lines of code [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. As a consequence, development of
these systems is a daunting task. Especially painful is to make late discoveries,
during testing, that the software system does not deliver a service of acceptable
quality w.r.t. timing errors and delays that cause suboptimal performance of
important systems such as engine- or stability-control. Thus, early analysis of
expected timing-behaviors and feasibility of architectural decisions w.r.t. timing
requirements would be very welcome as support for design decisions. In this
paper we propose a technique to achieve early timing 4 analysis.
      </p>
      <p>
        Among the many methodologies advocating abstraction, separation of
concerns, and automation as powerful instruments for dealing with complexity
4 Although other relevant extra-functional properties and related analyses exist, the
focus of this work is on timing-related properties and analysis.
of software development, Model-Driven Engineering (MDE) has progressively
gained industrial attention in the past 15 years [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In automotive, the adoption
of MDE resulted in the standardization of a layered architectural description
language, namely EAST-ADL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        EAST-ADL proposes a top-down approach relying on four di erent
abstraction levels, i.e., vehicle, analysis, design and implementation, and it provides
abstraction and implicitly ensures separation of concerns through the di erent
engineering phases5. Each abstraction level, except implementation, is equipped
with a speci c modeling language. At implementation level EAST-ADL proposes
the adoption of existing modeling languages, e.g., AUTOSAR6 or the Rubus
Component Model (RCM) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Due to its high precision timing analysis [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we
consider RCM as the reference modeling language exploited at implementation
level. EAST-ADL provides mediums for achieving abstraction and separation
of concerns, but it does not come with explicit support for automation among
the di erent abstraction levels. The lack of this crucial means, imperative for
a full- edged MDE approach, leads to a scattered development process where
consistency among artefacts is a burden for the developer to bear.
      </p>
      <p>
        Due to the lack of detailed timing information (e.g., control ow ports, clocks,
to mention few) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] at design level, timing analysis cannot be performed on design
models, which indeed need to be translated to implementation models equipped
with needed timing details (e.g., clocks). This translation is usually done
manually, driven by the developer's experience and, due to size and complexity of
the task, it often considers a one-to-one mapping only. This, besides being
tedious and error-prone, may lead to the loss of relevant implementation-model
candidates when dealing with complex industrial systems.
      </p>
      <p>
        In this work, we discuss a methodology which provides automation means
for seamlessly linking EAST-ADL design and implementation levels to enable
end-to-end delay analysis at design level7 for supporting design decisions. The
importance of exploiting implementation level analysis for taking design
decisions resides in the fact that it is more accurate than design level analysis, which
usually provides estimations and does not su ce industrial needs. The initial
idea was introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], while in this work we focus on its enhancement,
concrete implementation and deployment in the automotive context.
      </p>
      <p>The rest of the paper is organized as follows. In Section 2 we present
related work documented in the literature. In Section 3 we describe a running
example taken from the automotive domain, and in Section 4 we apply the
proposed methodology to it. In Section 5 we discuss bene ts and limitations of the
proposed methodology and conclude the paper in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Related Work</title>
      <p>
        Model-based approaches supporting timing analyses can be distinguished
between those detached from design models, e.g. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and those deriving (part of)
the necessary information from the design, like [
        <xref ref-type="bibr" rid="ref5 ref8">8, 5</xref>
        ]. In general, the latter have
the advantage of avoiding discontinuities due to the abstraction gap between
design and analysis [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], even though they have to deal with the intrinsic issue
of evaluating multiple implementation choices [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. Some approaches propose
manual mappings to reduce uncertainty between architectural and intermediate
models, which is tedious and error-prone when dealing with hundreds of
implementation alternatives. Other approaches introduce automation by specifying a
5 In the remainder of the paper we will refer to design level models simply as design
models and to implementation level models as implementation models.
6 http://www.autosar.org/
7 For design level we mean the EAST-ADL design level throughout the paper.
prede ned one-to-one mapping between architectural and intermediate model
elements, like [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and in a broader way the re nement process prescribed by
the Model-Driven Architecture standard8. Even though this alleviates time and
error-proneness issues of manual approaches, it still relies on a prede ned
mapping, while in general di erent implementation alternatives, for the same design,
should be evaluated [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Our solution proposes to generate a set of possible implementations, each of
which entailing (possibly) di erent timing characteristics. Then, end-to-end
delay analysis is run to evaluate them in terms of their timing characteristics and to
select the best candidate(s). In this way, relevant design decisions can be
anticipated before the nal implementation is reached. It is worth noting that a similar
mechanism could be realized, notably, by adopting other non-bijective
transformation languages, architectural languages (e.g., AADL [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]), and/or other
model-based timing analyses approaches (e.g., Simulink9 or MARTE10).
However, some preconditions should hold: i) the transformation language should fully
support non-bijectivitness; ii) the architectural language shall provide adequate
support for timing information at design level of abstraction; iii) the timing
analyses shall keep their reliability by relying on the sole design level information
(plus the alternatives generated during the derivation process).
      </p>
      <p>
        The mechanism of implementation models generation resembles the general
concept of design-space exploration (DSE) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and in particular rule-based
DSE [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Our approach performs an exhaustive generation of implementation
models, enriched with timing details, as derivable from the system
architecture designed through EAST-ADL, and constrained by domain-speci c rules.
Therefore, as opposed to typical DSE, the generation is not meant to provide
optimization hints at architectural level [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], rather it shows the best (timing
con guration) result given a certain system architecture as input. This procedure
is technically identi ed as quality-driven model transformations [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>A Running Example: the Steer-by-wire System</title>
      <p>A steering system in a vehicle employs mechanical and hydraulic components
between wheels and steering wheel. The Steer-by-wire (SBW) system, which we
leverage as running example, replaces most of these components with electronic
ones. We model the SBW system at the EAST-ADL design level with the help of
the Rubus-ICE11 tool suite. In the hierarchy of a design model, the leaf element
is the so-called design function prototype (DFP). EAST-ADL implements the
type-prototype mechanism, meaning that a DFP represents a speci c instance
of design function type, which de nes the type. Within EAST-ADL, DFPs
communicate through function ports, which are linked via function connectors.</p>
      <p>It should be noted that one of the main goals of this example is to
demonstrate the validity of the proposed methodology. Therefore, in order to better
understand the transformation and corresponding selection process, we only
consider the internal software architecture of the SC ECU as depicted in Figure 1.
The internal software architecture of the SC ECU consists of six DFPs.</p>
      <p>Steer Angle is responsible for acquiring the steer angle sensor input. It
passes the acquired values to Steer Angle Preprocessing. The preprocessed
steer angle signal is passed toInput Processing. which also receives the speed
8 http://www.omg.org/mda/
9 http://www.mathworks.com/products/simulink/
10 http://www.omg.org/spec/MARTE/
11 http://www.arcticus-systems.com
of the vehicle from Vehicle Speed. Input Processing passes the processed
input data to FB Steer Torque Computation, which in turn produces the feedback
steering torque and passes it to Steer Sensation Actuator, which produces the
signals for the steering actuator.</p>
      <p>
        The WCETs speci ed on Steer Angle, Steer Angle Preporcessing, Input
Processing, Vehicle Speed, FB Steer Torque Computation and Steer
Sensation Actuator are 120, 200, 280, 120, 1200 and 100 s, respectively. Since the
implementation details are not available at the design level, the WCETs are
estimated based on the expert's judgements. The following timing requirement
is speci ed too:
{ \The calculated age and reaction delays shall not exceed 25 ms and 35 ms,
respectively."
Within EAST-ADL, timing requirements are speci ed by timing constraints [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Therefore, there are two end-to-end delay constraints, namely age and reaction,
speci ed on the software architecture of the SC ECU as shown in Figure 1. The
values of the age and reaction constraints are 25 ms and 35 ms respectively.
Design models do not contain the timing information (e.g., control ow) needed
for running end-to-end delay analysis. Therefore, in order to leverage this
analysis at design level, we propose to automatically translate design to
implementation models, which contain the needed timing information. Such a translation is
non-bijective, meaning that multiple implementation models can be valid
translations of a given design model. To this end, the proposed methodology generates
all the meaningful (from an analysis perspective) implementation models.
      </p>
      <p>
        The approach, depicted in Figure 2, leverages the interplay of model-driven
techniques and model-based analysis and it consists of four main phases, namely
transformation, end-to-end delay analysis, ltering and propagation. Starting
from a design model of an automotive functionality, the approach generates a
set of corresponding meaningful implementation models (transformation phase,
1 in Figure 2) enriched with timing elements whose values are set at generation
time by the developer or via con guration les. At this point, end-to-end delay
analysis is run on the generated models resulting in a set of analysis results
(endto-end delay analysis phase, 2 in Figure 2). These results are checked against
a non-empty set of timing constraints derived from the timing requirements
expressed on the vehicle functionality. The result which better meets the given
timing constraints is selected ( ltering phase, 3 in Figure 2); note that multiple
results might be equally good and thereby selected. Eventually, the selected
candidates are propagated back to the design level by means of annotations to
the design model (propagation phase, 4 in Figure 2).
The transformation phase relies on a model-to-model transformation, called
DL2RCM, between the EAST-ADL design level and RCM metamodels. DL2RCM
is a non-bijective transformation realized within the Eclipse Modeling
Framework (EMF)12 using the Janus Transformation Language (JTL) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>
        JTL is a constraint-based bidirectional model transformation language
specifically tailored to support non-bijectivity by generating all the possible solutions
at once. It adopts a QVTr-like syntax and allows a declarative speci cation of
relationships between MOF models. The language supports object pattern
matching, and implicitly creates traces to record what occurred during a
transformation execution. The JTL implementation relies on the Answer Set Programming
(ASP) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which is a type of declarative programming able to address hard
(primarily NP-hard) search problems and based on the model (answer set)
semantics of logic programming. The ASP solver nds and generates, in a single
execution, all the possible models which are consistent with the transformation
rules by a deductive process.
      </p>
      <p>The DL2RCM transformation consists of 28 rules mapping design elements to
correspondent implementation elements. In the hierarchy of an RCM
implementation model, which represents the transformation's output format, a software
circuit (SWC) is the leaf element and encapsulates basic software functions.
RCM distinguishes between data and control ow therefore a SWC has data
port and trigger port. Within RCM, Data connectors link data ports while
Trigger connectors link trigger ports. Clocks and trigger sinks are used to initiate
and terminate the execution of a SWC, respectively.</p>
      <p>Listing 1.1 depicts a fragment of the DL2RCM transformation13, which is
expressed in the textual concrete syntax of JTL and applied on models given by
means of their Ecore representation in EMF. In particular, the following rules
are de ned:
12 http://www.eclipse.org/modeling/emf/
13 Implementation available at http://jtl.di.univaq.it/downloads/DL2RCM.zip
{ C2C, which maps a function connector to both a data and trigger connectors
and triggers the transformation of the connected DFPs;
{ E2C, which maps a DFP, connected via a function connector, to a SWC;
{ E2CCS, which maps a DFP, connected via a function connector, to a SWC
equipped with a clock and a sink.</p>
      <p>The when and where clauses specify conditions on the relation. For instance,
the where clause on Line 17 selects the function ports linked by the considered
function connector and triggers the subsequent rules.</p>
      <p>E2C and E2CCS de ne a non-bijective portion of the transformation. In fact,
a DFP connected via a connector may be mapped to either a SWC or a SWC
equipped with a clock and a sink. This means that, from one single design model,
the transformation is able to generate multiple implementation models, each of
which containing a unique control ow.
1 transformation DL2RCM ( dl : designlevel , rcm : RCM ) {
2 relation C2C {
3 name , id : String ;
4 checkonly domain dl con : designlevel :: FunctionConnector {
5 name = name ,
6 id = id
7 };
8 enforce domain rcm a : RCM :: Assembly {
9 connectorData = cd : RCM :: ConnectorData {
10 name = name ,
11 id = id +" _d " ,
12 sourcePort = RCM :: PortDataOut { ... },
13 targetPort = RCM :: PortDataIn { ... }
14 },
15 connectorTrig = ...
16 };
17 where { ( con . ends -&gt; select ( end | end . functionPort . oclIsKindOf ( designlevel ::
FunctionFlowPort ) and end . designFunctionPrototype . isOfType . isElementary
= true ) -&gt; forAll ( end | E2C (end ,a) and E2CCS (end ,a) )); }</p>
      <p>Listing 1.1: Fragment of the DL2RCM transformation in JTL.</p>
      <p>
        The DL2RCM model transformation, applied to our design model in Figure 1,
generates 64 implementation models 14 (one of them is depicted in Figure 3).
14 Each SWC can be transformed either via the E2C rule or via the E2CCS rule.
However, considering the end-to-end delay analysis we want to perform, we are
only interested in the combinations of those DFPs that are enclosed by the
start and end points of the timing constraints. To this end, we added an OCL
logic constraint (shown in Listing 1.2) to the DL2RCM transformation for
reducing the set of generated implementation models. It imposes the selection of
the implementation model alternatives in which Steer Angle, Vehicle Speed and
Steering Sensation Actuator are transformed by the E2CCS rule.
Circuit . allInstances () -&gt; excluding ( self . getConstrainedSWC () ) -&gt; select (c: Circuit
| c. getClock () . oclIsUndefined () and c. getSink () . oclIsUndefined () )
Listing 1.2: Logic constraint applied to the DL2RCM transformation.
Therefore by enforcing the bijectivity on the Steer Angle, Vehicle Speed and
Steering Sensation Actuator, the DL2RCM transformation generates 8
implementation models15.
In this phase, we predict the timing behavior of each generated implementation
model by performing the end-to-end delay analysis [
        <xref ref-type="bibr" rid="ref21 ref5">21, 5</xref>
        ]. We are interested in
the calculations of two di erent delays, namely age and reaction [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Age delay
is important in control applications where the interest lies in the freshness of
received data. Reaction delay is used to determine the rst reaction time for a
given stimulus. Our focus is on the Controller Area Network (CAN) which is a
event-triggered serial communication bus protocol. We do not use global time
stamps (that require tracking of global chronological time) to predict the timing
behavior. Instead we use response-time analysis and end-to-end delay analysis.
We refer the reader to [
        <xref ref-type="bibr" rid="ref21 ref5">21, 5</xref>
        ] for the details about the calculations of age and
reaction delays.
      </p>
      <p>Once the analysis has been performed on each generated implementation
model, the analysis results, which include calculated age and reaction delays for
each individual implementation model as shown in Table 1, are forwarded to the
ltering phase.</p>
      <p>For calculating age and reaction delays, the methodology employs the timing
1a5nAallylsitsheengcionmebsiinmatpiolenmsenoftedthien tShteeerRAubnuglse-IPCrEep.rocessing, Input Processing and
FB Steering Torque Computation are generated by not enforcing bijectivity.</p>
      <sec id="sec-3-1">
        <title>Delay Analysis ( s)</title>
        <p>Age Delay Reaction Delay</p>
      </sec>
      <sec id="sec-3-2">
        <title>Delay Analysis ( s)</title>
        <p>Age Delay Reaction Delay
Model
(a)
(b)
(c)
(d)
The ltering phase consists of two cascaded lters: the elimination lter and the
selection lter. The timing analysis results are provided as input to the
elimination lter together with the non-empty set of timing constraints. In our example,
the elimination lter compares the analysis results of each implementation model
with the speci ed age and reaction constraints of 25 and 35 ms respectively. The
implementation models identi ed as (a), (b), (e) and (f) in Table 1 violate one
or both timing constraints; hence, they are discarded. The remaining models,
which satisfy the speci ed timing constraints (i.e., (c), (d), (g) and (h)), are
forwarded to the selection lter.</p>
        <p>The selection lter selects the best implementation model based on the
requirement concerning the type of application, also received as input. To this
end, an application i) contains only single-rate chains, or ii) contains multi-rate
chains. In our example, the system shall be developed using multi-rate chains.
This means that the implementation models that contain single-rate chains
between start and end points of the speci ed timing constraints are negligible.
Therefore, the models identi ed in Table 1 as (c), depicted in Figure 3, and (g)
are selected16. Finally, the models and their analysis results are propagated back
to the design model (as annotations done by text-to-model transformations).
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Discussion</title>
      <p>Running and leveraging implementation level analysis at higher abstraction
levels (e.g., design) brings multiple advantages. First of all, it can help the designer
in taking architectural decisions based on much more precise feedback than
common design level analysis, which, being based on estimated or guessed properties,
are usually just conceived as complementary to implementation level analysis in
industrial settings. Moreover, it allows the developer to only focus on design
activities exploiting implementation level analysis results without having to
investigate nor manually edit implementation models, which are automatically
produced and transparent to the developer.</p>
      <p>We employ JTL to generate multiple implementation models from one
design model by providing di erent combinations of implementation elements,
derived from the design model, and timing elements, added by the transformation.
Clearly, the generation of all possible combinations, besides being unnecessary
in most scenarios, becomes soon unbearable from a scalability perspective when
dealing with complex systems of industrial size. For this reason, we exploit JTL's
capability of entailing ASP logic constraints for narrowing the generation space.
16 The selection</p>
      <p>lter selects the implementation model with shorter age and reaction
delays. In our case two models have same analysis results, thus they are both selected.</p>
      <p>We provide a set of default constraints to prune solutions that are evidently
meaningless for our analysis. This means that we can enable support for the
generation of di erent classes of models by providing di erent default constraints.
Nonetheless, default constraints do not prevent the generation of dimly
meaningless solutions nor high transformation time in case of very complex design
models. While the rst issue can be solved through analysis and ltering
mechanisms, the latter demands additional user-de ned constraining based on the
speci c modeled functionality.</p>
      <p>It is interesting to note that the methodology may propagate more than one
generated implementation model, along with its timing analysis results, to the
design model. This happens only when those results are equally good. In this
case, the designer is given the possibility to select among them.</p>
      <p>By considering the general development scenario, through our methodology
it is possible to disclose the opportunity of shortening time-to-market and
leverage expensive resources (e.g., architects, timing experts) more e ciently. More
concretely, the simple software system illustrated in this work contains more
than fty components, seventeen in the SC ECU and ten in each of the four
WC ECUs. This means that starting from such an architecture a designer
willing to manually de ne a proper implementation model would face a space of 257
possible alternatives. It becomes evident that having an automated mechanism
that is able to derive those alternatives and select the best one(s) brings a gain
in terms of time, costs and risks in the construction of the implementation.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The approach proposed in this paper tackles the problem of identifying a suitable
implementation choice, in terms of timing characteristics, starting from the
software architecture. In general this issue requires the consideration of a number
of alternatives that grows exponentially with the number of software
components in the architecture. We proposed to solve this by adopting a quality-driven
model transformation approach and de ning a precise mapping between
EASTADL design and implementation models (de ned in terms of the Rubus
Component Model). Since in general the mapping of design to implementation models
equipped with timing elements is non-bijective, we leveraged the properties of a
constraint-based transformation language, JTL, to automatically derive all the
meaningful implementation alternatives. Subsequently, generated
implementation models are classi ed in terms of timing results enabling the selection of the
best implementation model candidate(s) derivable from the input design model.</p>
      <p>The experiment we conducted in collaboration with industrial partners in
automotive showed promising results w.r.t. time gains and reduction of possible
errors in the creation of a suitable implementation model. Despite the generation
and selection processes are transparent to the developer, issues about scalability
remain open. In particular, the size of the problem could reach a point such
that the generation of implementation alternatives would be intractable. In this
respect, a main future investigation direction encompasses the study of smarter
generation rules. Another line of research will be devoted to the study of
combining the optimisation of multiple system (especially extra-functional) properties.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgement</title>
      <p>This work is supported by ARTEMIS, the Swedish Research Council (VR), the
Swedish Foundation for Strategic Research (SSF), and the Knowledge
Foundation (KKS) with the projects CRYSTAL, SynthSoft, PRESS and SMARTCore.
The authors would like to thank the industrial partners Arcticus Systems AB
and Volvo AB, Sweden.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Robert</surname>
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Charette</surname>
          </string-name>
          .
          <source>This Car Runs on Code. Spectrum</source>
          , IEEE,
          <volume>46</volume>
          (
          <issue>2</issue>
          ),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.C.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . Guest Editor's Introduction:
          <string-name>
            <surname>Model-Driven Engineering</surname>
          </string-name>
          . Computer,
          <volume>39</volume>
          :
          <fpage>25</fpage>
          {
          <fpage>31</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>EAST-ADL Domain Model</surname>
          </string-name>
          <article-title>Speci cation</article-title>
          ,
          <source>Deliverable D4.1.1</source>
          ,
          <year>2010</year>
          . http://www.atesst.org/home/liblocal/docs/ATESST2
          <source>D4.1</source>
          .
          <fpage>1</fpage>
          <string-name>
            <surname>EAST-ADL2- Speci cation</surname>
          </string-name>
          2010-
          <volume>06</volume>
          -02.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>K.</given-names>
            <surname>Hanninen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Maki-Turja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nolin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lindberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lundback</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.-L.</given-names>
            <surname>Lundback</surname>
          </string-name>
          .
          <article-title>The rubus component model for resource constrained real-time systems</article-title>
          .
          <source>In Procs of SIES</source>
          , pages
          <volume>177</volume>
          {
          <fpage>183</fpage>
          ,
          <year>June 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Mubeen</surname>
          </string-name>
          , J. Ma
          <article-title>ki-</article-title>
          <string-name>
            <surname>Turja</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <article-title>Sjodin. Support for end-to-end response-time and delay analysis in the industrial tool suite: Issues, experiences and a case study</article-title>
          .
          <source>Computer Science and Information Systems</source>
          ,
          <volume>10</volume>
          (
          <issue>1</issue>
          ),
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bucaioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mubeen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Sjodin. Exploring timing model extractions at east-adl design-level using model transformations</article-title>
          .
          <source>In Procs of ITNG</source>
          ,
          <year>April 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gonzalez Harbour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.J. Gutierrez</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.C.</given-names>
            <surname>Palencia Gutierrez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.M. Drake</given-names>
            <surname>Moyano</surname>
          </string-name>
          .
          <article-title>Mast: Modeling and analysis suite for real time applications</article-title>
          .
          <source>In Procs of ECRTS</source>
          , pages
          <volume>125</volume>
          {
          <fpage>134</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Anssi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tucci-Piergiovanni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mraidha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Albinet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Terrier</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gerard</surname>
          </string-name>
          .
          <article-title>Completing east-adl2 with marte for enabling scheduling analysis for automotive applications</article-title>
          .
          <source>In Procs of ERTS</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>B.</given-names>
            <surname>Selic</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Motus</surname>
          </string-name>
          .
          <article-title>Using models in real-time software design</article-title>
          .
          <source>Control Systems</source>
          , IEEE,
          <volume>23</volume>
          (
          <issue>3</issue>
          ):
          <volume>31</volume>
          {
          <fpage>42</fpage>
          ,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>B.</given-names>
            <surname>Schatz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Holzl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Lundkvist</surname>
          </string-name>
          .
          <article-title>Design-space exploration through constraint-based model-transformation</article-title>
          .
          <source>In Procs of ECBS</source>
          , pages
          <volume>173</volume>
          {
          <fpage>182</fpage>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>J. Denil</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cicchetti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Biehl</surname>
            , P. De Meulenaere,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Eramo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Demeyer</surname>
            , and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Automatic deployment space exploration using re nement transformations</article-title>
          . EASST, Recent Advances in
          <string-name>
            <surname>MPM</surname>
          </string-name>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Walker</surname>
          </string-name>
          , M.
          <article-title>-</article-title>
          <string-name>
            <surname>O. Reiser</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Tucci-Piergiovanni</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Papadopoulos</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Lnn</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Mraidha</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Parker</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Chen</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Servat</surname>
          </string-name>
          .
          <article-title>Automatic optimisation of system architectures using east-adl</article-title>
          .
          <source>Journal of Systems and Software</source>
          ,
          <volume>86</volume>
          (
          <issue>10</issue>
          ):
          <volume>2467</volume>
          {
          <fpage>2487</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Peter H. Feiler</surname>
            ,
            <given-names>David P.</given-names>
          </string-name>
          <string-name>
            <surname>Gluch</surname>
            ,
            <given-names>and John J. Hudak.</given-names>
          </string-name>
          <article-title>The architecture analysis &amp; design language (AADL): An introduction</article-title>
          .
          <source>Technical Report SEI Technical Note CMU/SEI-2006-TN-011</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M</given-names>
            <surname>Gries</surname>
          </string-name>
          .
          <article-title>Methods for evaluating and covering the design space during early design development</article-title>
          .
          <source>Integr</source>
          . VLSI J.,
          <volume>38</volume>
          (
          <issue>2</issue>
          ):
          <volume>131</volume>
          {
          <fpage>183</fpage>
          ,
          <year>December 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hegedus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Horvath</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Rath</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>A model-driven framework for guided design space exploration</article-title>
          .
          <source>In Procs of ASE</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>J.</given-names>
            <surname>Merilinna</surname>
          </string-name>
          .
          <article-title>A Tool for Quality-Driven Architecture Model Transformation</article-title>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M.L. Drago</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ghezzi</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Mirandola</surname>
          </string-name>
          .
          <article-title>Towards quality driven exploration of model transformation spaces</article-title>
          .
          <source>In Procs of MoDELS</source>
          , pages
          <volume>2</volume>
          {
          <fpage>16</fpage>
          .
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Timing</surname>
          </string-name>
          <article-title>Augmented Description Language (TADL2) syntax</article-title>
          , semantics,
          <source>metamodel Ver. 2</source>
          ,
          <string-name>
            <surname>Deliverable</surname>
            <given-names>11</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aug</surname>
          </string-name>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Jtl: a bidirectional and change propagating transformation language</article-title>
          .
          <source>In Procs of SLE</source>
          , pages
          <volume>183</volume>
          {
          <fpage>202</fpage>
          .
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          .
          <article-title>The Stable Model Semantics for Logic Programming</article-title>
          .
          <source>In Procs. of the ICLP</source>
          <year>1988</year>
          , pages
          <fpage>1070</fpage>
          {
          <fpage>1080</fpage>
          , Cambridge, Massachusetts,
          <year>1988</year>
          . The MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>N.</given-names>
            <surname>Feiertag</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Richter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nordlander</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Jonsson</surname>
          </string-name>
          .
          <article-title>A Compositional Framework for End-to-End Path Delay Calculation of Automotive Systems under Di erent Path Semantics</article-title>
          .
          <source>In Procs of CRTS</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>