<!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>Model-Driven Software Development of Safety-Critical Avionics Systems: an Experience Report</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Aram Hovsepyan</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dimitri Van Landuyt</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Steven Op de beeck</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sam Michiels</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wouter Joosen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gustavo Rangel</string-name>
          <email>gustavoenriquerangel@spaceapplications.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Javier Fernandez Briones</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Depauw</string-name>
          <email>jan.depauw@spaceapplications.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Space Applications Services N.V./S.A</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>iMinds-DistriNet</institution>
          ,
          <addr-line>KULeuven</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The model-driven software development (MDSD) vision has booked signi cant advances in the past decades. MDSD is said to be very promising in tackling the \wicked" problems of software engineering including development of safety-critical software. However, MDSD technologies are fragmented as these are typically limited to a single phase in the software development lifecycle. It seems unclear how to practically combine the various approaches into an integrated model-driven software development process. In this experience report, we present an end-to-end MDSD process that supports safety-critical software development from the point of view of Space Applications Services, an industrial aerospace company. The proposed development process is a bottom-up solution based on the state of the practice and the needs of Space Applications Services. The process integrates every software development activity starting from requirements de nition all the way to the veri cation and validation activities. Furthermore, we have created an integrated toolchain that supports the presented MDSD process. We have performed an initial evaluation of both the process and the toolset on a case study of an On-Board Control Procedure Engine.</p>
      </abstract>
      <kwd-group>
        <kwd>dependability and safety</kwd>
        <kwd>model-driven development process</kwd>
        <kwd>early veri cation and validation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Given the advances in the hardware technologies software development in
general is becoming an increasingly complex activity. Building software for avionics
systems is posing an even bigger challenge as dependability and safety are
concerns of paramount importance. Dependability refers to how software failures
can result in a degradation of the system performance or even in loss of
mission or material. Safety, on the other hand, is de ned as a system property that
is concerned with failures that can result in hazards to people or systems. For
safety-critical systems it is often compulsory to perform various safety-related
analyses as part of the software development lifecycle.</p>
      <p>
        The model-driven software development (MDSD) vision seems very
promising in e ciently tackling the essential complexities (including safety concerns)
of the software development process [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The MDSD vision, primarily focused on
the vertical separation of concerns, aims at reducing the gap between problem
and software implementation domains through the use of models that describe
complex systems at di erent abstraction levels and from a variety of
perspectives. Various standards, tools and techniques that are well-aligned with the
MDSD vision are currently becoming widely accepted by the industry. The
Architecture Analysis &amp; Design Language (AADL) is a de-facto standard in the
domain of avionics and automotive software systems. The use of AADL enables
various types of analyses that link to dependability and safety aspects (e.g.,
schedulability analysis). SysML is a standard general-purpose language for
systems engineering. SysML could be used to plug-in certain safety-related analyses,
such as Software Failure Mode, E ects &amp; Criticality Analysis (SFMECA) and
Software Fault Tree Analysis (SFTA) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. While these techniques contribute to
the aspect of safety, they are all focused on a speci c phase of the software
development lifecycle. As a consequence, these tools and approaches are
fragmented and it remains unclear how these approaches can be chained together to
form a complete MDSD development process and toolchain. There is a lack of a
pragmatic model-based software development process that provides a complete
software lifecycle and transparently integrates the various building blocks. The
required process should enable model-based software development starting from
requirements analysis all the way to the veri cation and validation activities
of the nal implementation. Finally, the transitions and traceability links
between the di erent phases in the development lifecycle should be automatically
managed.
      </p>
      <p>
        In this paper, we present our experiences with designing a complete MDSD
process in collaboration with Space Applications Services (an independent
Belgian space technology company). Our contributions are twofold. Firstly, we have
created an end-to-end MDSD process that covers all phases of software
development lifecycle and focuses explicitly on safety and dependability aspects.
The proposed end-to-end process is conform with a set of guidelines for
embedded and real-time software development prescribed by European Space Agency
(ESA) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The end-to-end development process leverages the V-model and the
DSDM Atern agile framework [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. We use design models for incremental
skeleton code generation. Moreover, the proposed integrated process provides the
necessary mechanisms to perform several critical architectural analyses, i.e.,
SFMECA/SFTA and various analyses enabled by the use of AADL. Secondly, we
have successfully integrated a number of tools that enable the proposed MDSD
process. The presented approach is currently being validated by Space
Applications Services in the development of a spacecraft On-Board Control Procedure
Engine (OBCP) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>The remainder of the paper is structured as follows. In section 2, we provide
background information on relevant dependability- and safety-related standards
and techniques. We also describe the problem statement in detail. In section
3, we present our solution in detail and discuss its advantages and drawbacks.
Section 4 presents a number of related works. Finally, section 5 concludes this
paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>To develop software in the avionics domain, software engineers must not only
develop complex real-time software, but also place the safety and dependability
qualities in the driver seat. Furthermore, certi cation plays an essential role in
avionics software otherwise not present in many other domains. The
dependability, safety and certi cation concerns pose a signi cant challenge as they a ect
each phase of the software development lifecycle. In this section, we provide an
overview of these concepts. Then we brie y outline a number of methodologies
and techniques that focus on speci c aspects related to dependability and safety.
In addition, we summarise how these activities are typically performed within
Space Applications Services. Finally, we present the problem statement in detail.
2.1</p>
      <sec id="sec-2-1">
        <title>Dependability and Safety</title>
        <p>
          Dependability and safety are key concerns in the development and operations
of avionics systems. The contribution of software to system dependability and
safety is a key factor given the growing complexity and applicability of software in
avionics applications. Dependability is concerned with software reliability,
availability and maintainability. Software reliability is the property of software of
being \free from faults" [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. A fault can be a result of human mistake made in
requirements speci cation, design speci cation, coding or even, mistakes made
while executing the software development process. In general, faults can lead
to errors that can lead to failures, i.e., an unexpected/unintended behaviour of
the system. Software maintainability relates to the ease with which the software
can be modi ed and put back into operation. Finally, software availability is the
capability of the software to perform a required function at a given instant of
time (or time interval). Safety is concerned with those failures that can result
in actual system hazards (as opposed to software reliability that is concerned
with all software failures). Safety is a system property. Nonetheless, software is a
main component of a system, and therefore contributes to its safety. As opposed
to typical software development, avionics software must undergo a certi cation
process before its utilisation. Safety certi cation assures that deployment of a
given system does not pose an unacceptable risk of harm. Furthermore, safety
certi cation is also concerned with the quality of the development process and
all its intermediary artifacts, such as requirements, architecture, etc.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Safety Analysis Activities</title>
        <p>A number of tools and techniques exist that focus on dependability and safety.
These techniques are typically applied in very di erent stages of the software
development process. This section brie y describes three methodologies that are
highly relevant within the domain of applications developed by Space
Applications Services. It is not our intention to be exhaustive in listing the relevant
approaches.</p>
        <p>
          Software Failure Modes, E ects and Criticality Analysis (SFMECA)
is an iterative activity, intended to analyse the e ects and criticality of failure
modes of the software within a system [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. The analysis provides an essential
contribution to the development of the product architecture and to the de nition
of the test and operation procedure. The result of the SFMECA analysis is a
table that contains the failure, function, failure mode, e ect, criticality, impact,
action and mitigation. This analysis method can reveal failures not detected
by system level analysis. Furthermore, SFMECA analysis can identify critical
components, support design and veri cation decisions. It is essential that such
decisions are easily traced back from the latter software development phases to
their original artifacts.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Software Fault Tree Analysis (SFTA) is a deductive, top down method for</title>
        <p>
          analysing system design and performance [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. It involves specifying a top event
(also referred to as "feared event") to analyse, followed by identifying all of the
associated elements in the system that could cause that top event to occur.
SFTA is a logical and structured process that helps identify potential causes of
system failure before the failure actually occurs. The resulting output of SFTA
is a fault tree, describing the potential faults in the software.
2.3
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Problem Statement</title>
        <p>From the Space Applications Services point of view the current state of practice
in MDSD su ers from three drawbacks that play a signi cant role in MDSD
adoption.</p>
        <p>Lack of an Integrated Process/Toolchain. Despite the clear advances in
the state-of-the-art, MDSD research methodologies and techniques typically stay
focused on a speci c phase in the software development lifecycle. It remains quite
unclear how to produce a software system starting from customer requirements
all the way to a validated and veri ed implementation. While a one-size- ts-all
approach is unlikely to provide a systematic solution, we believe that a collection
of pragmatic bottom-up solutions is essential for the mainstream adoption of
MDSD. This problem relates to both an end-to-end process as well as a toolchain
that supports this process in a MDSD context.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Lack of Safety Engineering Methodology Integration. Even if a UML</title>
        <p>centric end-to-end process seems feasible given the MDSD tools, avionics
software systems must adhere to stringent safety standards. In the previous section,
we have brie y described a number of safety analyses and methodologies that
tackle a speci c dependability and/or safety related aspect of the system. Space
Applications Services currently performs both SFMECA/SFTA analyses
manually by leveraging O ce-like (e.g., Powerpoint/Excel) applications. Ideally,
architecture and design models (with some additional annotation for feared events
and causing/contributing factors) could be used to run SFMECA/SFTA
analyses. Real-time performance analyses, such as schedulability analysis, end-to-end
ow latency analysis, are automated, but performed only at the implementation
level. The use of architecture-level analyses enabled by AADL could allow Space
Applications Services to early verify and validate all design decisions. The
integration of all these activities in a hypothesised UML-centric end-to-end MDSD
process is not obvious.</p>
        <p>Lack of End-to-End Process Traceability. Traceability plays an essential
role in the domain of avionics systems especially in the context of the certi
cation process. Indeed, it is crucial to have the necessary abstractions to trace
each code-level entity back to a set of requirements. An end-to-end MDSD
process introduces additional challenges as traces should ideally provide complete
information regarding the code, model and requirements interrelations.
3</p>
        <p>Space Applications Services Development Process
In this section, we present a prototype end-to-end development process that
provides a pragmatic answer to the challenges outlined in the previous section.
The proposed approach is inspired by the engineering process proposed by the
European Space Agency (ESA) for the development of embedded and real-time
on-board software. We also brie y mention a number of tools that provide the
backbone of the proposed process.
3.1</p>
      </sec>
      <sec id="sec-2-6">
        <title>Software Development Process</title>
        <p>
          ESA has introduced a standard engineering process relevant to all space
elements of a space system [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. The phases covered by the standard are as follows.
Requirements Baseline corresponds to the complete speci cation provided
by the end-user regarding the software product expectations. Technical
Requirements correspond to all technical aspects that the software shall ful l
with respect to the end-user requirements. Software Architecture Design
corresponds to the overall architecture that is created and re ned based on
the technical requirements. Software Component Design corresponds to a
more detailed description of the elements described by the software
architecture. Implementation corresponds to the development of the various software
components described in the software component design phase. Veri cation
corresponds to the testing of produced implementation in order to verify the
correctness of the product performance. Validation corresponds to the testing
of the software components as well as the complete software in order to validate
the correctness of product performance.
        </p>
        <p>We have created an integrated development process that is based on the
notion of the V-Model and the Agile Dynamic System Development Method Atern
framework. Figure 1 illustrates a structural view of the development process
that presents each development activity along with their structural connections
to other activities. This process is in line with the V-Model. Our contribution is
represented in grey by the two additional activities, i.e., SFMECA/SFTA and
AADL analyses, that cut across multiple development phases. The lines between
each activity schematically represent not only the process ow, but also the
artifact exchange between activities. For instance, technical requirements
analysis is preceded by the software architecture design. Ideally, each requirement
is known and accessible at the architectural level. This enables the creation of
traces (or the traceability information) that link architectural elements to their
corresponding requirements. The traceability information between di erent
development phases is essential as it enables early requirements validation. Note
that the process is inherently iterative and one can always go back to an earlier
activity. This information was dropped from gure 1 for readability purposes.</p>
        <p>Requirements</p>
        <p>Baseline
Rational DOORS</p>
        <p>Technical
Requirements
Rational DOORS</p>
        <p>Software Architecture</p>
        <p>Design
MagicDraw
Software Component</p>
        <p>Design</p>
        <p>MagicDraw
Traceability
information
Artefact or process
flow</p>
        <p>SFMECA/SFTA
Safety Architect</p>
        <p>Architectural
Dependability Analysis</p>
        <p>AADL - OSATE
Implementation</p>
        <p>Eclipse (C++
editor, compiler)</p>
        <p>Validation
(Acceptance)
Rational DOORS
Verification
(Test Cases)
Rational DOORS</p>
        <p>Verification
(Integration Tests)</p>
        <p>VectorCAST
Verification
(Unit Tests)</p>
        <p>VectorCAST</p>
        <p>
          For the dynamics of this process we leverage the Dynamic System
Development Method (DSDM) Atern agile project delivery framework used for software
development. The idea behind DSDM is to develop a solution iteratively starting
from global view of the product. For a detailed description of DSDM Atern, we
refer the interested readers to [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
We further brie y outline the tools currently utilised within Space Applications
Services that support the presented structural process. We also provide
information how software development artifacts are interchanged between the tools.
Figure 2 presents the tools for each activity. Note that some Space Applications
Services' customers require the use of Rational DOORS during the software
development. However, all other tools can be freely replaced by alternatives.
        </p>
        <p>Requirements Baseline
Technical Requirements</p>
        <p>Validation</p>
        <p>Rational DOORS
Software Architecture Design
Software Component Design
MagicDraw/Cameo DataHub</p>
        <p>SFMECA/SFTA
Safety Architect</p>
        <p>Verification
(Unit Tests, Integration Tests)</p>
        <p>VectorCAST
traces
Artefact flow</p>
        <p>Architectural Dependability Analysis</p>
        <p>Code Generation
Implementation</p>
        <p>MERgE Platform
(OSATE, MOFScript, CDT)</p>
        <p>IBM Rational DOORS tool is used for the the Requirement Baseline,
Technical Requirements and Validation Activities.</p>
        <p>
          MagicDraw tool is used for the Software Architecture Design and Software
Component Design phases. The data interchange between Rational DOORS and
MagicDraw is realised by the Cameo DataHub tool that features a complete
synchronisation of requirements as well as traceability links between the tools. Note
that MagicDraw features a built-in functionality to both export and import all
modelling artifacts to the Eclipse Modelling Framework (EMF). EMF [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
provides the common infrastructure and a de facto UML standard implementation
for the model interchange between various tools.
        </p>
        <p>
          Safety Architect is used for the SFMECA/SFTA Analyses activities [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Eclipse
EMF is used as a common language to interchange models.
        </p>
        <p>
          MERgE Platform is an Eclipse-based toolset that provides an integrated
collection of plug-ins. We leverage the MOFscript [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] plug-in for transforming
the UML models into their AADL representation. We use the UML MARTE
pro le for annotating the UML model elements with real-time and embedded
properties [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The AADL model is used by the OSATE tool for performing
Architectural Dependability Analysis. We also use MOFScript to generate
skeleton C code that is further incrementally re ned into a working implementation.
Eclipse CDT plug-in provides the necessary tools for the C code
implementation. VectorCAST is used for the three Veri cation phases it automates unit
and integration testing activities.
3.3
        </p>
      </sec>
      <sec id="sec-2-7">
        <title>Evaluation</title>
        <p>
          In collaboration with Space Applications Services, we have performed an
initial evaluation of the proposed process and toolchain on the case study of an
On-Board Control Procedure Engine. The MDSD process is considered to be
complete in the sense that it covers all phases from a software development
lifecycle required from the Space Applications Services point of view. The software
artefacts integration throughout the various phases is either provided by the tool
(e.g., Requirements and Technical requirements in Rational DOORS, or Software
Architecture and Software component Design in MagicDraw) or automatically
transformed by additional tools (e.g., MOFScript). Moreover, all the transitions
support the incremental nature of the complete process. This is essential as
existing artefacts shall not break by subsequent iterations (e.g., manual re nements
to the AADL models or the generated code must be preserved). We have
successfully integrated a number of AADL analyses by implementing ideas presented
in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The integration of safety-related analyses (i.e., SFMECA and SFTA) are
currently work in progress. Finally, we have provided an initial implementation
towards tackling the traceability challenge. The traceability of various elements
between Rational DOORS and MagicDraw are actually provided by the tools.
The traceability between MagicDraw and the MERgE Platform is implemented
by incorporating references to the MagicDraw modelling elements as comments
both in the generated AADL model as well as in the generated code.
        </p>
        <p>
          While the proposed approach seems pragmatic and e ective in tackling the
challenges described in section 2.3 we still face a number of challenges that are
work in progress. At the toolchain level, we are still working towards integrating
the SFMECA/SFTA analyses in the Safety Architect tool. At the process level,
we are facing the challenge of having a process that contains many implicit
constraints. If these constraints are not correctly followed the process may become
completely useless. For instance, source code should not be manually re ned
without encoding that information into the detailed design as subsequent
iterations may break the manual code. This problem can be e ciently tackled by
using a Process Modelling Language (PML), such as OMG SPEM [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. However,
even if such constraints are made explicit it is impossible to capture all
possible situations. Furthermore, developers always deviate from the process model
either because of lack of experience or the imperfections of the proposed
process. Da Silva et al [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] present a systematic approach agnostic to a particular
PML selection to deal with such deviations. Our end-to-end MDSD approach
could substantially bene t from an integration with such a systematic
framework. Finally, a challenge both at the process and at the toolchain level remains
the management of the traceability information between various entities across
di erent abstraction levels, which is currently somewhat implicit. Ideally, a
systematic approach should allow the transparent management of all traces within
a separate view.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        A number of research e orts focused on architecture optimisation are
complementary to our work as they would enhance the Software Architecture Design
and Architectural Dependability Analysis phases. Etemaadi et al have presented
an approach with a supporting toolkit named AQOSA to support architecture
optimisation with respect to quality attributes [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Meedeniya et al have
addressed the problem of evaluating reliability based on software architectures in
the presence of uncertainty [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Brosch et al have introduced a reliability
modeling and prediction technique that considers the relevant architectural factors
of software systems by explicitly modeling the system usage pro le and
execution environment and automatically deriving component usage pro les [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. As
opposed to these research initiatives our approach is focused more on the overall
development process rather than a speci c development phase.
      </p>
      <p>
        Several research initiatives are focused on providing a systematic methodology
for tool integration. Balogh et al have proposed a work ow-driven tool
integration framework using model transformations that allows one to formally specify
contracts for each transition between tools in the tool chain [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Klar et al have
created a meta-model-driven environment that allows to integrate tools by
focusing on traceability links between dependent tool artifacts [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The approach we
have proposed in this work could be seen as a case study for the tool integration
frameworks.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>
        Developing software for the avionics domain is an extremely challenging task
given the strict dependability and safety requirements. The advent of
ModelDriven Software Development (MDSD) standards and tools has substantially
improved the current state-of-the-art by introducing a number of systematic
disciplines throughout various stages of the software development lifecycle.
Unfortunately, these techniques are currently fragmented and it remains unclear
how these could be combined into an integrated end-to-end software
development process. In this experience paper, we have proposed a complete MDSD
process inspired by the V-model that integrates the various standards and tools
into a single integrated software development process. The proposed process
is based on the needs and experiences within Space Applications Services, an
industrial aerospace company. The MDSD process integrates transparently a
number of standards from the aeronautics domain, such as architectural
analysis and design language (AADL), software failure modes, e ects and criticality
analysis (SFMECA) and software fault tree analysis (SFTA). Finally, the
endto-end MDSD provides an initial answer to the traceability requirements within
Space Applications Services. In the future we plan to integrate the MDSD
process with a systematic process modelling and deviation detection and resolution
framework. We are also looking to improve the integration of traceability
information. Finally, we plan to further validate the proposed process on the case
study of an On-Board Control Procedure Engine.
The presented research is partially funded by the Research Fund KU Leuven and
the Flemish agency for Innovation by Science and Technology (IWT 120085).
The research activities were conducted in the context of ITEA2-MERgE
(MultiConcerns Interactions System Engineering, ITEA2 11011), a European
collaborative project with a focus on safety and security [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. France, R.,
          <string-name>
            <surname>Rumpe</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Model-driven development of complex software: A research roadmap</article-title>
          .
          <source>In: Proceedings of the 29th International Conference on Software Engineering</source>
          , IEEE Computer Society (
          <year>2007</year>
          )
          <volume>37</volume>
          {
          <fpage>54</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. All4Tec:
          <article-title>Safety architect</article-title>
          . (http://all4tec.net/index.php/en/model-based-safetyanalysis)
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>ECSS</given-names>
            <surname>Space Engineering: Safety. ECSS-E-ST-40C. Misc</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Consortium</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>The DSDM Atern Handbook</article-title>
          .
          <source>DSDM Consortium</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>ECSS</given-names>
            <surname>Space</surname>
          </string-name>
          <article-title>Engineering: Spacecraft on-board control procedures</article-title>
          .
          <string-name>
            <surname>ECSS-E-ST-</surname>
          </string-name>
          70
          <string-name>
            <surname>- 01C. Misc</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>ECSS</given-names>
            <surname>Space</surname>
          </string-name>
          <article-title>Engineering: Software dependability and safety</article-title>
          .
          <string-name>
            <surname>ECSS-Q-HB-</surname>
          </string-name>
          80-03A.
          <source>Misc</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Jet Propulsion Laboratory:
          <article-title>Software Fault Analysis Handbook</article-title>
          . (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Eclipse:
          <article-title>Eclipse modeling framework (EMF). (http://www</article-title>
          .eclipse.org/emf/)
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>9. SINTEF: MOFScript. (http://modelbased.net/mofscript/)</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Faugere</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bourbeau</surname>
          </string-name>
          , T.,
          <string-name>
            <surname>de</surname>
            <given-names>Simone</given-names>
          </string-name>
          , R.,
          <string-name>
            <surname>Gerard</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : MARTE:
          <article-title>Also an uml pro le for modeling AADL applications</article-title>
          . In: ICECCS, IEEE Computer Society (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <source>OMG: Software Process Engineering Metamodell SPEM 2.0. Technical report, OMG</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. da Silva,
          <string-name>
            <given-names>M.A.A.</given-names>
            ,
            <surname>Bendraou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Blanc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            ,
            <surname>Gervais</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.P.</surname>
          </string-name>
          :
          <article-title>Early deviation detection in modeling activities of mde processes</article-title>
          . In: MoDELS. (
          <year>2010</year>
          )
          <volume>303</volume>
          {
          <fpage>317</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Etemaadi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lind</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heldal</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaudron</surname>
            ,
            <given-names>M.R.V.</given-names>
          </string-name>
          :
          <article-title>Quality-driven optimization of system architecture: Industrial case study on an automotive sub-system</article-title>
          .
          <source>Journal of Systems and Software</source>
          (
          <year>2013</year>
          )
          <volume>2559</volume>
          {
          <fpage>2573</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Meedeniya</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moser</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aleti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grunske</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Architecture-based reliability evaluation under uncertainty</article-title>
          .
          <source>In: Proceedings of the Joint ACM SIGSOFT Conference. QoSA-ISARCS '11</source>
          , New York, NY, USA, ACM (
          <year>2011</year>
          )
          <volume>85</volume>
          {
          <fpage>94</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Brosch</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koziolek</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buhnova</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reussner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Architecture-based reliability prediction with the palladio component model</article-title>
          .
          <source>Transactions on Software Engineering</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Balogh</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bergmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Csertan</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Gonczy, L.,
          <string-name>
            <surname>Horvath</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Majzik</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pataricza</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polgar</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rath</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varro</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varro</surname>
          </string-name>
          , G.:
          <article-title>Work ow-driven tool integration using model transformations</article-title>
          .
          <source>In: Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science</source>
          , Springer (
          <year>2010</year>
          )
          <volume>224</volume>
          {
          <fpage>248</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Klar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rose</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Schurr, A.:
          <article-title>TiE - a tool integration environment</article-title>
          .
          <source>In: Proceedings of the 5th ECMDA Traceability Workshop</source>
          . Volume WP09-09
          <source>of CTIT Workshop Proceedings</source>
          . (
          <year>2009</year>
          )
          <volume>39</volume>
          {
          <fpage>48</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. MERgE Consortium:
          <article-title>MERgE: Multi-concerns interactions system engineering</article-title>
          . (http://www.merge-project.
          <source>eu)</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>