<!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>Early timing analysis of vehicular systems: the road from single-core to multi-core</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Malardalen University</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasteras</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jarfalla</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sweden alessio.bucaioni@arcticus.se</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>In the software development for vehicular embedded systems, timing predictability is paramount for the development of the vehicles' safety features and for their customer value. Modern vehicles' features require new level of computational power. On the one hand, multicore platforms can provide e cient support for these features. On the other hand, multi-core platforms complicate the software development of vehicular embedded systems as timing predictability is still an open issues for these platforms. In this paper we present a PhD work de ning a model-based software development methodology which supports early timing analysis for vehicular embedded systems on multi-core.</p>
      </abstract>
      <kwd-group>
        <kwd>Model-driven engineering</kwd>
        <kwd>model-based software development</kwd>
        <kwd>vehicular embedded systems</kwd>
        <kwd>timing analysis</kwd>
        <kwd>multi-core</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the automotive domain, a cost-e ective software development is nowadays
paramount as the largest share of vehicle's innovation comes from features which
are realised by means of distributed embedded systems [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        The complexity of vehicular embedded software is constantly increasing,
resulting in a growth in size from the few hundreds lines of code of the late 1970s to
the 200-300 million lines of code running on modern vehicles [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. However, size is
only one dimension of complexity. Vehicular embedded software is, in fact,
characterised by extra-functional properties whose veri cation complicates software
and its development. In the automotive domain, for instance, timing
predictability is paramount both for the development of the vehicles' safety features and for
their customer value. Its importance has also been acknowledged by several
international projects and industrial initiatives, e.g., TIMMO [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], TIMMO2USE [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
Rubus ICE [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In order to better deal with the increasing complexity of the
software and its properties, new paradigms, focusing on abstraction, separation
of concerns and automation, have been proposed and adopted. This is the case
of model-driven engineering (MDE) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        MDE aims at mitigating the complexity of software and its development by i)
shifting the focus from the coding to the modelling activities and by ii)
automating error-prone development tasks. In the automotive domain, the adoption of
MDE led to the de nition of several modelling notations and accompanying
model-based methodologies [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref1">1</xref>
        ][
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for the development of predictable
embedded software. Among others initiatives, EAST-ADL has been acknowledged as
the de-facto standard in the automotive domain. It relies on a development
process which makes use of four abstraction levels for ensuring abstraction and
separation of concerns. Typically, the embedded software architecture is represented
by a set of functional models from which implementation models are derived.
In turn, timing models1, essential for running schedulability analysis2 [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], are
derived from the implementation models.
      </p>
      <p>
        Currently, the majority of model-based methodologies allow the development
of predictable embedded software for single-core platforms only. Nevertheless,
single-core platforms can not provide e cient computational support for
modern vehicles' functions which employ data-intensive sensors (e.g., cameras and
ultra-sonic sensors) and complex coordination. Contrariwise, multi-core
platforms can successfully provide additional processing power for running these
computational-intensive functions. However, surveys [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] showed that multi-core
software projects can have up to 25% longer schedules and can demand almost 3
times as many software engineers making the projects 4,5 times more expensive.
In fact, how to support timing predictability and the extraction of timing
models are still open issues for multi-core platforms. Moreover, multi-core platforms
also introduce novel concerns such as, e.g., software to hardware allocation.
      </p>
      <p>In this context, model-based techniques can be useful for aiding the
software development of vehicular embedded systems for multi-core platforms. For
instance, models and model transformations can be employed for raising the
development abstraction reducing the need for further expertise and for
automating transition among the development phases, respectively. Furthermore, model
transformations can ease the extraction of timing models and provide support
for the software to hardware allocation.</p>
      <p>In this paper we present a PhD work de ning a model-based software
development methodology which supports early timing analysis of vehicular embedded
systems on multi-core. The goal of the presented methodology is to contribute to
the achievement of a cost-e ective development for vehicular embedded software.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Related Works</title>
      <p>In the last decades, several model-based methodologies have been proposed for
the software development of vehicular embedded systems.</p>
      <p>
        EAST-ADL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is layered architectural description language for automotive
embedded systems. Its development methodology is a top down development
methodology where the software architecture is re ned with
implementationoriented details as it navigates down trough the abstraction levels stack. Unlike
our methodology, EAST-ADL does not provide any automation means for
shifting among the abstraction levels. Furthermore, EAST-ADL modelling notations
do not focus on timing. Finally, EAST-ADL does not explicitly support
multicore platforms. AUTOSAR [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is an industrial initiative to provide standardised
software architecture for the development of vehicular embedded systems. As a
1 A timing model contains timing, communication and implementation information of
the software system.
2 Schedulability analyses [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] are a priori mechanism for predicting the timing
behaviour of a system. In our work, we use end-to-end timing analysis [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
modelling language, AUTOSAR supports multi-core platforms. However, as
AUTOSAR is designed for complementing EAST-ADL at the last abstraction level,
such a support occurs at late stages of the development only. There are several
commercial tools which implement the EAST-ADL and AUTOSAR
development methodology. DaVinci Developer3 by Vector o ers a convenient graphical
designer for assisting the developer in specifying the AUTOSAR ECUs software
architecture. Arctic Studio by ArcCore4 also supports the speci cation of
AUTOSAR ECUs software architectures and it includes a set of commercial plugins
for the Eclipse Modelling Framework. However, both DaVinci Developer and
Arctic Studio tool suites only support single-core platforms.
      </p>
      <p>
        Additional model-based methodologies have been proposed for the software
development of cyber-physical systems. AADL [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is a design language for the
model-based software development of real-time distributed embedded systems.
AADL has been recently extended for supporting multi-core and partitioned
architectures. AADL proposes a development methodology where the software and
hardware architectures are i) modelled, ii) complemented with multi-core aspects
(e.g., cores' shared resources) and iii) complemented with the so-called isolation
speci cation (e.g., time allocation, memory isolation). Unlike our methodology,
in the AADL development methodology timing predictability is only one of the
software properties of interest. Therefore, no explicit focus and support is
provided. Furthermore, transitions between the architectures are manual and there
is no automatic support for software to hardware allocation.
      </p>
      <p>
        UML-MAST [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] is a methodology and a tool suite for the modelling and
analysing of real-time systems expressed in UML. It leverages the UML [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
MARTE [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] modelling languages. Similarly to our methodology, UML-MAST
focuses on the software timing predictability and its veri cations and it supports
timing analyses for multi-core platforms. Unlike our methodology, it does not
provide support for modelling the hardware platform nor software to hardware
allocation. Also, its usage is constrained by some restrictions5.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Proposed Solution and Intended Contributions</title>
      <p>
        The contribution of the PhD work presented in this paper is the de nition of a
model-based methodology for the development of predictable software for
vehicular embedded systems on multi-core platforms. One uniqueness of the
methodology is that timing predictability veri cation is enabled at early stages of the
development. This is achieved by i) leveraging the Rubus Component Model [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
(RCM) and ii) generation of models, model-based analysis, back-propagation
of the results through model transformations. RCM is a component model for
the development of predictable embedded real-time software which explicitly
focuses on and supports high-precision timing analysis. Another uniqueness of the
methodology is the explicit support for modelling design uncertainty. In fact, it
leverages a unique notation for representing a set of generated models with a
3 http://www.vector.com
4 http://www.arccore.com
5 The interested reader may refer to http://mast.unican.es/umlmast/
Platform Model
RubusMM_HW
      </p>
      <p>Yes</p>
      <p>Start
Functional Model</p>
      <p>RubusMM_SW
M2M Transformation</p>
      <p>Execution Models
μ-RubusMM_SW+Timing
Model-based Timing Analysis</p>
      <p>Are the timing
requirements</p>
      <p>met?
Is it a
singlecore platform?</p>
      <p>No</p>
      <p>No
Code generation</p>
      <p>End
single model with uncertainty, where models' di erences are intensionally
represented by ad-hoc modelling elements. Figure 1 depicts the work ow of the
methodology.</p>
      <p>Fig. 1. Model-based methodology for the software development of vehicular embedded
systems on multi-core platforms</p>
      <p>
        The work ow starts with a functional model of the software system
representing the main software functions and their logic connections. The modelling
language leveraged for this task is the software package of the RCM metamodel [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
(RubusMM). At this stage, the model representing the hardware platform is
dened too. To this end, the methodology leverages the RubusMM hardware
package. Although possible, we assume that the platform model is xed and does not
Modify the functional model
      </p>
      <p>RubusMM_SW</p>
      <p>Yes
Are all the
allocation
models checked?</p>
      <p>No
Modify the allocation model</p>
      <p>RubusMM_Allocation</p>
      <p>
        Yes
undergo changes during the work ow. A non-bijective model-to-model
transformation is run on the functional model and generates a set of execution models
equipped with timing information. The set contains all the execution models
which are meaningful for the leveraged timing analysis. This step is paramount
for enabling timing predictability veri cation at early stages of the development6.
In order to ease the visualisation of the set of generated execution models, the
methodology entails a compact notation able to represent a solution space by
means of a model with uncertainty [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] (u-Rubus) where execution models, their
commonalities and di erences are represented by means of uncertainty points.
Please note that, such a representation is obtained automatically via a
modelto-model transformation by employing a metamodel-independent technique [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
and it is transparent to the engineer.
      </p>
      <p>At this point, model-based timing analysis can run and the analysis results
can be checked against the inherited timing constraints. To this end, the analysis
engine considers the generated execution models together with the platform
model and calculates possible software-to-hardware allocations satisfying the
aforesaid requirements. The software to hardware allocations will be expressed
using the allocation package of RubusMM and made available to the engineer
for inspection and modi cation.</p>
      <p>If the analysis results do not satisfy the timing requirements, the engineer
has to consider the hardware platform, i.e., single- or multi-core. In the case of
a single-core platform, the engineer is required to modify the functional model
and run the process again as the current functional model does not have any
corresponding execution model satisfying the given timing requirements. In the
case of a multi-core platform, the engineer is required to modify the allocation
model, if another allocation is possible, and run the timing analysis again. If no
di erent allocation is possible, the engineer is required to modify the functional
model and run the process again.</p>
      <p>If more than one execution model has satisfactory timing performances, the
engineer is required to select one and to proceed with the code generation and
deployment 7.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Preliminary Work and Current Status</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] we provided a metamodel de nition for RCM, namely RubusMM, focusing
on the de nition of metamodeling elements for representing the software
architecture. We extended the aforesaid metamodel de nition in a work which is
currently under review at IEEE Access. The extension introduces new architectural
elements together with modelling elements for describing timing information.
We are working on a further extension of RubusMM which introduces modelling
elements for describing the hardware platform and the software to hardware
allocation. As Fig 2 shows, we plan to complete the extension of RubusMM by
November 2016. In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] we discussed a methodology for the extraction of timing
models from EAST-ADL design level models with the aim of anticipating timing
6 The interested reader may refer to [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for further details
7 The interested reader may refer to [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] for further details on the code generation
and deployment.
      </p>
      <sec id="sec-4-1">
        <title>M2M Transformations</title>
      </sec>
      <sec id="sec-4-2">
        <title>Industrial Automotive</title>
      </sec>
      <sec id="sec-4-3">
        <title>Applications</title>
        <p>July 2016</p>
      </sec>
      <sec id="sec-4-4">
        <title>November 2016 March 2017</title>
      </sec>
      <sec id="sec-4-5">
        <title>October 2017</title>
        <p>
          analysis at design level. The methodology automatically translates the software
architecture at design level to all meaningful RCM models. End-to-end timing
analysis is performed on each generated model and the analysis results are
annotated back to the design level model. In the same work, we demonstrated the
applicability of the methodology by exploiting a set of industrial automotive
applications. In [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] we extended the methodology with a compact notation for
conveniently representing the set of generated models as a single model with
uncertainty. Models, commonalities and di erences are represented by means of
uncertainty points; therefore, the engineer can easily grasp them and consistently
make decisions without manually inspecting each model individually. Currently,
the methodology only supports single-core platforms. We are working on an
extension of the methodology for supporting multi-core platforms. The extension
comprises of a re nement of the model-to-model transformation (M2M
Transformation in Fig. 1) for the generation of a tree of models with uncertainty and
an enhancement of the analysis algorithm for running timing analysis directly
on the tree of models with uncertainty. As Fig 2 shows, we plan to complete
these enhancements by March 2017. Finally, we are planning to demonstrate the
applicability of the new methodology by leveraging a set of industrial
automotive applications. We are going to present the results of each of the three above
mentioned activities in conference papers and journals.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Research Methodology</title>
      <p>
        The research described by this PhD work is a collaborative research between
industry and academia. Accordingly, the research methodology leveraged by this
research is the engineering method given in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], that is: "observe existing
solutions, propose better solutions, build/develop, measure and analyze, and repeat
the process until no more improvements appear possible". We are planning to
validate and evaluate this PhD work following the hybrid methods described
in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. In particular, we will demonstrate the applicability of the extended
metamodels and model transformations by leveraging a set of industrial automotive
applications. We will leverage a knowledge base of expert opinion which will
complement the quantitative data gathered as results of the application of the
extended techniques.
      </p>
      <p>Acknowledgments
This work is supported by the Swedish Research Council (VR) through the
SynthSoft project. We thank our industrial partners Arcticus Systems AB and
Volvo CE, Sweden. Moreover, the authors are grateful to Antonio Cicchetti,
Federico Ciccozzi, Saad Mubeen and Mikael Sjodin for their insights during
technical discussions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>AUTOSAR</given-names>
            <surname>Techincal</surname>
          </string-name>
          <string-name>
            <surname>Overview</surname>
          </string-name>
          , Version
          <volume>2</volume>
          .2.2.
          <string-name>
            <surname>AUTOSAR { AUTomotive Open System</surname>
            <given-names>ARchitecture</given-names>
          </string-name>
          ,
          <source>Release</source>
          <volume>3</volume>
          .1,
          <string-name>
            <surname>The</surname>
            <given-names>AUTOSAR Consortium</given-names>
          </string-name>
          , Aug.,
          <year>2008</year>
          . http://autosar.org.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <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="ref3">
        <mixed-citation>
          3. TIMMO-2-USE. https://itea3.org/project/timmo-2
          <article-title>-use</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>TIMMO</given-names>
            <surname>Methodology</surname>
          </string-name>
          , Version 2,
          <string-name>
            <surname>Deliverable</surname>
            <given-names>7</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oct</surname>
          </string-name>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>5. The UML Pro le for MARTE: Modeling and Analysis of Real-Time and</article-title>
          <string-name>
            <surname>Embedded Systems</surname>
          </string-name>
          ,
          <year>2010</year>
          . OMG Group,
          <year>January 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Rubus-ICE: Integrated component Development Environment</surname>
          </string-name>
          ,
          <year>2013</year>
          . http://www.arcticus-systems.com.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <article-title>Introduction To OMG's Uni ed Modeling Language (UML)</article-title>
          . OMG Group, May
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>S.</given-names>
            <surname>Balacco</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Rommel</surname>
          </string-name>
          .
          <article-title>Next generation embedded hardware architectures: Driving onset of project delays, costs overruns and software development challenges</article-title>
          . Klockwork, Inc.,
          <source>Tech. Rep</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>V. R.</given-names>
            <surname>Basili</surname>
          </string-name>
          .
          <article-title>The experimental paradigm in software engineering</article-title>
          .
          <source>In Experimental Software Engineering Issues: Critical Assessment and Future Directions</source>
          , pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          12. Springer,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Broy</surname>
            ,
            <given-names>I. H.</given-names>
          </string-name>
          <string-name>
            <surname>Kruger</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Pretschner</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Salzmann</surname>
          </string-name>
          .
          <article-title>Engineering automotive software</article-title>
          .
          <source>Proceedings of the IEEE</source>
          ,
          <volume>95</volume>
          (
          <issue>2</issue>
          ):
          <volume>356</volume>
          {
          <fpage>373</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bucaioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ciccozzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mubeen</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Sjodin. Anticipating implementation-level timing analysis for driving design-level decisions in east-adl</article-title>
          . In International Workshop on Modelling in Automotive Software Engineering,
          <year>September 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bucaioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cicchetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ciccozzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mubeen</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Sjodin, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Handling uncertainty in automatically generated implementation models in the automotive domain</article-title>
          .
          <source>In 42nd Euromicro Conference series on Software Engineering and Advanced Applications</source>
          ,
          <year>September 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>A.</given-names>
            <surname>Bucaioni</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>Sjodin. Towards a metamodel for the rubus component model</article-title>
          .
          <source>In 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems</source>
          , Sep.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>R. N.</given-names>
            <surname>Charette</surname>
          </string-name>
          .
          <article-title>This car runs on code</article-title>
          .
          <source>IEEE Spectrum</source>
          ,
          <volume>46</volume>
          (
          <issue>3</issue>
          ):
          <fpage>3</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>R.</given-names>
            <surname>Eramo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Rosa</surname>
          </string-name>
          .
          <article-title>Managing uncertainty in bidirectional model transformations</article-title>
          .
          <source>In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering</source>
          , pages
          <volume>49</volume>
          {
          <fpage>58</fpage>
          . ACM,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>P. H. Feiler</surname>
            ,
            <given-names>D. P.</given-names>
          </string-name>
          <string-name>
            <surname>Gluch</surname>
            , and
            <given-names>J. J.</given-names>
          </string-name>
          <string-name>
            <surname>Hudak</surname>
          </string-name>
          .
          <article-title>The architecture analysis &amp; design language (aadl): An introduction</article-title>
          .
          <source>Technical report, DTIC Document</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. K. Hanninen, J. Ma
          <article-title>ki-</article-title>
          <string-name>
            <surname>Turja</surname>
            , M. Sjodin, M. Lindberg,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Lundback, and</article-title>
          K.
          <string-name>
            <surname>-L. Lundba</surname>
          </string-name>
          <article-title>ck. The rubus component model for resource constrained real-time systems</article-title>
          .
          <source>In 3rd IEEE International Symposium on Industrial Embedded Systems</source>
          ,
          <year>June 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>B.</given-names>
            <surname>Kitchenham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Linkman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Law</surname>
          </string-name>
          .
          <article-title>Desmet: a methodology for evaluating software engineering methods and tools</article-title>
          .
          <source>Computing &amp; Control Engineering Journal</source>
          ,
          <volume>8</volume>
          (
          <issue>3</issue>
          ):
          <volume>120</volume>
          {
          <fpage>126</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>J. Medina</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Drake</surname>
            , and
            <given-names>M. G.</given-names>
          </string-name>
          <string-name>
            <surname>Harbour</surname>
          </string-name>
          .
          <article-title>Uml-mast: modeling and analysis methodology for real-time systems developed with uml case tools</article-title>
          .
          <source>In Proceedings of the Euromicro Conference on Real-Time Systems</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>D. C.</surname>
          </string-name>
          <article-title>Schmidt. Guest Editor's Introduction: Model-Driven Engineering</article-title>
          . Computer,
          <volume>39</volume>
          (
          <issue>2</issue>
          ):
          <volume>25</volume>
          {
          <fpage>31</fpage>
          ,
          <string-name>
            <surname>Feb</surname>
          </string-name>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. L.
          <string-name>
            <surname>Sha</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Abdelzaher</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.-E. Arzen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Cervin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Baker</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Burns</surname>
            , G. Buttazzo,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Caccamo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lehoczky</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. K.</given-names>
            <surname>Mok</surname>
          </string-name>
          .
          <article-title>Real time scheduling theory: A historical perspective</article-title>
          .
          <source>Real-time systems</source>
          ,
          <volume>28</volume>
          (
          <issue>2-3</issue>
          ):
          <volume>101</volume>
          {
          <fpage>155</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>K.</given-names>
            <surname>Tindell</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Clark</surname>
          </string-name>
          .
          <article-title>Holistic schedulability analysis for distributed hard realtime systems</article-title>
          .
          <source>Microprocessing and microprogramming</source>
          ,
          <volume>40</volume>
          (
          <issue>2</issue>
          ):
          <volume>117</volume>
          {
          <fpage>134</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>