<!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>
      <journal-title-group>
        <journal-title>Denver, CO, USA, October</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>SOPHIA: a Modeling Language for Model-Based Safety Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniela Cancila</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francois Terrier</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabien Belmonte</string-name>
          <email>fabien.belmonte@transport.alstom.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hubert Dubois</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Huascar Espinoza</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>S´ebastien G´erard</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arnaud Cuccuru</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>CEA LIST⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ALSTOM⋆⋆</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>LIST, Laboratoire d'Ing ́enierie dirig ́ee par les mod`eles pour les Syst`emes Embarqu ́es Point Courrier 94, Gif-sur-Yvette</institution>
          ,
          <addr-line>F-91191</addr-line>
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <volume>6</volume>
      <issue>2009</issue>
      <fpage>11</fpage>
      <lpage>25</lpage>
      <abstract>
        <p>Development of increasingly more sophisticated safety-critical embedded systems requires new paradigms, since manual approaches are reaching their limits. Experiences have shown that model-driven engineering is an approach that can overcome many of these limitations. Using model-based approaches however lead to new challenges regarding the cohesive integration of both safety engineering and system design along the system development process. In this paper, we present SOPHIA, a modelling language that formalizes safety-related concepts and their relations with system modelling constructs. We particularly focus on accident models and on how to achieve confidence that the frequency of possible accidents will be tolerable. In addition, we explore some strategies to implement SOPHIA as a complementary modelling language to SysML and reuse some useful constructs form the UML MARTE profile.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In order to cope with the increasing design complexity of safety-critical systems,
safety assurance should be considered as early as possible in the design process.
Among other goals, safety assurance allows achieving confidence that the
frequency of accidents will be acceptable. For this purpose, safety engineers need
to specify all possible safety parameters that directly impact the software
architecture design, and then to determine the probability rates of the deviation from
fulfilling the system functions. The Safety Integrity Level (SIL) attribute is an
example of such a parameter. The design of a given system and its subsystems
changes according to the value of the SIL associated with each functionality
of the system. Possible values range between “0” (less critical) and “4” (most
critical) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Thus, a system architecture including SIL4-functionalities must
guarantee the maximum level of safety integrity, which would for example imply
to add redundant hardware nodes.
⋆ CEA
      </p>
      <p>
        Recently, the railway safety community has proposed a new methodological
guidance to enhance safety evaluation. In this proposal, SIL-to-function
allocations exploit a new attribute named Tolerable Accident Rate (TAR). The TAR is
defined as the “threshold between what is tolerable and what is undesirable with
respect to the consequence of an accident” [
        <xref ref-type="bibr" rid="ref3 ref8">8, 3</xref>
        ]. In current industrial practice,
the TAR is manually calculated, typically by using pre-defined tables. As the
value of TAR influences the value of SIL, it may impact the architecture of a
system. More precisely, the value of the TAR for a given accident (e.g. the
headon collision between trains) is used to calculate the value of the tolerable hazard
for the same accident. Hence, we have a 1:1 correspondence between tolerable
hazard and SIL. (We refer the reader interested in the technical details to [
        <xref ref-type="bibr" rid="ref3 ref8">8, 3</xref>
        ].)
      </p>
      <p>
        Most of current practices on system safety assurance rely mainly on manual
processes. They are therefore very dependent of the skill and experience of the
engineers. This problem is exacerbated by the fact that safety engineering and
software design domains have developed their own techniques and
methodologies. Let us consider the example of the railway application domain. On the one
hand, safety actors adopt standards that provide recommendations for safety
assessment. Illustrative examples are fault tree analysis [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] and formal verification
techniques, such as the B method [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. On the other hand, actor from the
software design and development community follow component-based techniques,
such as [
        <xref ref-type="bibr" rid="ref14 ref33 ref9">33, 9, 14</xref>
        ]. In this context, defining the “right mapping” between safety
models and models for software design/development is an essential challenge.
      </p>
      <p>
        In order to avoid error-prone processes and to integrate both safety
engineering and system design, we adopt a model-based safety engineering process.
Model-Driven Engineering (MDE) [
        <xref ref-type="bibr" rid="ref30 ref31">30, 31</xref>
        ] is being successfully adopted in several
industrial research projects [
        <xref ref-type="bibr" rid="ref18 ref21 ref29 ref32">21, 18, 32, 29</xref>
        ]. Two kinds of approaches are actually
put into practice. In the first case, safety engineers and system designers share
the same model of the system while using different views of it. In the second
case, they use different models with clearly and formally defined relationships
(using for example model transformation descriptors). In both cases, the direct
benefits of MDE concern the possibility of automating part of the process of
safety assurance, e.g. by automatically calculating certain information such as
TAR parameters from the input safety parameters. This capability does not only
simplify the process. It also enables to save time and, more importantly, it makes
safety assurance as explicit part of an iterative design process. Indeed, new
results can be more easily generated once the model has been changed. Moreover,
the fact that models are more formally defined reduces the probability of
introducing errors or omitting important details, since the analysis information is
linked to the architectural model of the system.
      </p>
      <p>
        As a main contribution within this paper, we introduce for the first time
SOPHIA, a modelling language for safety concerns. SOPHIA provides an
answer to safety industrial concerns by allowing designers to specify the safety
attributes in a software design model. Our paper focuses on the infrastructure of
SOPHIA, which is similar to that of MARTE [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]: It is based on a metamodeling,
a profiling and a modeling space. As a result, SOPHIA has an independent
language specification that can complement more general-purpose languages such
as UML or SysML [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. At the profile level, we propose to use some suitable
concepts from MARTE, the OMG’s UML profile for real-time embedded
systems [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], in particular the Value Specification Language (MARTE::VSL).
      </p>
      <p>In Section 2, we discuss some related works and we identify fundamental criteria
and principles for model-based safety engineering. In Section 3, we explain our
industrial motivations. We also provide a rationale for SOPHIA as well as a description of
its Fundamental Concepts. Moreover, we investigate the strategies regarding the
integration of safety and software design. Section 4 is the central part of the paper. For the
first time, we discuss the whole structure of SOPHIA: from its Fundamental Concepts
to the implementation. In Section 5, we compare our approach with those given in
Section 2. Finally, conclusions and on-going works are presented.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>Integrating safety concerns in general-purpose modelling process is a big challenge that
has been explored in many directions. In this section, we focus on a few works which
are receiving specific attention in the MDE community.</p>
      <p>
        In order to study dependability in AADL (Architecture Analysis &amp; Design
Language) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], P. Feiler and al. introduce a framework to model the error state propagations
in a hierarchical architecture [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Error propagation can occur at component level (by
composition of the components), at the hardware level (by interconnecting processors)
and between the hardware and the components (“due to their binding to the execution
platform” [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]). In order to limit, or even avoid, the error propagation, the authors
provide suitable filters (guards), for example between the interconnection of components.
In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], P. Feiler and al. addresses error modelling as a complementary view to system
architecture, which is an important topic related to safety. However, it does not cope
with the problem of accident case modelling and the specification of safety attributes
such as the SIL.
      </p>
      <p>
        In order to complement AUTOSAR (the European industrial standard to specify
component-based software infrastructures in automotive applications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]), some
European industries and academics have defined an architecture description language, so
called EAST-ADL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This includes requirements modelling, feature content at the
level of a vehicle description, architecture variability, functional structure of
applications, middleware, plant (environment), abstract hardware architecture, and
preliminary functional allocation. In addition, EAST-ADL enables the modelling of system
failure behaviour and allows analysis of that behaviour using safety analysis tools. In
particular, EAST-ADL aimed at using a safety design flow compatible with that
defined by the upcoming ISO 26262 standard, including support for concepts such as
hazards, safety goals and requirements, and the representation of ASILs (Automotive
SILs). Many of these concepts were represented in the first version of EAST-ADL, but
there were many others not considered, e.g. accident and its consequences, or ASIL
decomposition.
      </p>
      <p>
        FTA is one of the main safety analysis tools. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Douglass introduces a UML
safety profile defining notions such as fault, hazard, and traceability of requirements.
Such notions allow us to create fault tree analysis (FTA) diagrams and, hence, to
study how “conditions and faults combine to create hazard”. One of the main
contributions of this approach is to adopt UML and its profiling mechanism to provide a
common specification language to integrate safety and design activities. This facilitates
the collaboration and common understanding between safety engineering teams and
system design teams. The underlying approach is the following. First, designers create
a model with safety attributes, from which FTA is automatically generated. Engineers
then study FTA and then they may manually change the model architecture. In other
words, this approach does not deal with “safety reverse engineering”. As a result, safety
analysis is made a posteriori. When we deal with real industrial cases, a model quickly
increases in complexity and in number of components. Consequently, it also occurs in
the related FTA. The study of FTA is then a very complex work. In order to reduce
such a complexity, one possible way is to iteractivly integrate safety engineering into
model-based engineering of an architectural system. The underlying process is to have
an automatic propagation of safety attributes in the architectural model such that it
is correct with respect to “given safety requirements”.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], de Miguel and al. propose an approach similar to work [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Therefore, it has
similar advantages and drawbacks. Finally, in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], the authors introduces the UML
profile for quality of service and fault tolerance analysis, called QoS&amp;FT profile. In
this profile, some aspects of safety analysis are covered (such that fault, errors, fault,
non desirable events, etc). Notions, such as accidents and SIL are however not here
considered.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Safety Engineering</title>
      <p>This section provides some background information that have been taken into account
for the definition of SOPHIA. Before describing the safety fundamental concepts, we
want to discuss the high-level requirements for safety modelling from an industrial
perspective.</p>
      <p>
        Standards EN 50126 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], EN 50128 [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and EN 50129 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] define a safety process
plan for programmable electronic signalling devices including risk evaluation, SIL to
function mapping and the life cycle recommendations by SIL. In particular, these
standards recommend applying fully formal specification to ensure SIL 4. It means that
engineers must provide mathematical proven demonstration for the safety properties
of a given component.
      </p>
      <p>Typically, in industry there is a gap between formal methods and textual system
specifications, as well as between subsystem specifications. The main reason for this gap
is that there is no standard and common language can be used to capture the different
aspects. Semi-formal modelling approaches can bring a common basis to interconnect
these different specification aspects. This is the main motivation for formalizing safety
attributes into system models, from the early phases of the development process.</p>
      <p>Therefore, SOPHIA has the following objectives:
1. enabling the specification of safety attributes in the architectural model of as sytem;
2. automating the calculation of some safety parameters in order to afford
modelbased engineering of safety;
3. providing an environment for system development in which coherence
(compatibility of all requirements at the same level of abstraction, i.e., horizontal
development) and correction (“good” decomposition of parent requirements into children
requirements abstraction, i.e., vertical development) properties can be guaranteed
by construction and/or verified a posteriori.</p>
      <p>Provided these general needs, we present in the next section an excerpt of some
fundamental concepts of SOPHIA related to accident case concerns
3.1</p>
      <sec id="sec-3-1">
        <title>SOPHIA Fundamental Concepts</title>
        <p>
          The concepts of SOPHIA (and their relationships) are based on Alstom Ontology [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
and on Alstom works such as [
          <xref ref-type="bibr" rid="ref3 ref8">8, 3</xref>
          ], which model their safety domain knowledge. In this
section, we will use metamodels to describe the Fundamental Concepts of SOPHIA.
They are organized into a set of packages and libraries. We use packages to introduce
notions and their relationships, and we use libraries to specify data types. The package
SOPHIA Fundamental Concepts contains two main subpackages, so called respectively
SystemDesing and SafetyConcepts. Package SystemDesing specifies the relationships
between safety concepts and model elements of a system. Package SafetyConcepts contains
the following packages:
• package ACCIDENTS, which describes notions and relationships that are involved
in an accident.
• package MITIGATIONS, which describes notions and relationships about
mechanisms (barriers) to mitigate an accident ;
• package FaultContainmentRegion, which describes notions and relationships that
are involved in error propagations.
        </p>
        <p>In this paper, we focus on package ACCIDENTS. Our intent is to show the details
of the whole language design chain, from the formalization of the TAR attribute in the
SOPHIA Fundamental Concepts, to the language implementation details. The result
of our work is a first, but firm step towards model-based safety engineering.</p>
        <p>Figure 1 shows some notions of package ACCIDENTS. Among them, we depict the
TAR attribute. The notions are represented as metaclasses.</p>
        <p>
          Hazard is “an event observable at the system boundary, which has potential either
directly or in combination with other factors (external to the system), for giving rise
to an accident at railway system level” [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>AccidentCase is an unintended event with undesirable outcomes. AccidentCase leads
to AccidentConsequenques. An AccidentCase is identified by the following properties: a
unique ID; an AccidentType chosen from a statically pre-defined list;
AutomaticTolerableAccidentRate and TolerableAccidentRate.</p>
        <p>
          AutomaticTolerableAccidentRate is the maximum rate of occurrence that is tolerable
for a likely Accident [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. It is specified by a number of events per hour (real number)
and it is derived from the frequency and the severity of an accident.
        </p>
        <p>TolerableAccidentRate and AutomaticTolerableAccidentRate are similar properties.
The only difference is that TolerableAccidentRate is manually set by safety engineers
when they have to deal with exceptional cases (i.e., for which a pre-defined table is
not available). In Figure 5, Table “a:” identifies the Risk Tolerability of an accident.
It is described with combinations of the following properties: severity of the
consequences and frequency of the accident. TolerableAccidentRate is undefined by default.
However, if TolerableAccidentRate is set to a different value than undefined, then it has
a higher priority with respect to AutomaticTolerableAccidentRate. The importance of
having both properties (i.e., one automatically specified and the other one manually
set), is that: 1.) the modelling process can be automated in a correct way that respects
table Risk Tolerability, 2.) we have traced to the computation, which is automatically
derived from table Risk Tolerability. Furthermore, we can identify the divergence points
specified by the exceptional cases. In case of divergence, designers must motivate their
choices with respect to the value automatically calculated from table Risk
Tolerability. From an implementation standpoint, designers could motivate their decisions in a
suitable dialog box. The implementation of this latter is part of our ongoing work.</p>
        <p>AccidentConsequences is the result of a given AccidentCase. It is defined by the
severity of the consequences with respect to the given AccidentCase. Severity may take
only one of the following four predefined values: Catastrophic, Critical, Marginal, or
Insignificant. These values of severity are captured by an enumeration which is part of
our SOPHIA Fundamental Model library.</p>
        <p>Next, we discuss the strategies to integrate the safety conceptual concepts defined
above with a given general-purpose modelling language, in this case SysML.
SysML was chosen by Alstom since it is an OMG standard specification for modelling of
complex systems. Although SysML provides a formalism to manage requirements and
system design together, SysML is lacking of concepts for dealing with specific concerns
of safety. We have three possible strategies to integrate SOPHIA and SysML.</p>
        <p>Strategy a defines SOPHIA as an extension to SysML. It has the advantage to be
optimally tailored to the aimed integration with SysML. One of the main drawbacks of
this strategy is that safety concepts will strongly depend on SysML. Then, any
modification of SysML might lead to a modification in the SOPHIA extensions. In addition,
safety concepts and SysML are conceptually disjoint, although complementary, and
directly extending SysML does not make sense in our context.</p>
        <p>
          Strategy b defines SOPHIA from scratch, i.e. as a pure domain-specific modeling
specification language (DSML) (i.e. independently of UML) and then combining this
metamodel with SysML. Consequently, Strategy b surmounts the drawbacks of
Strategy a: safety concepts are independent not only of SysML but also of UML. It provides
a framework that is fully dedicated to safety concepts and it is independent from other
formalisms. As discussed in work [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], Strategy b has the following drawback: having
safety models defined using two independent formalisms leads to strong difficulties for
interfacing both types of models of the same system. This is particularly problematic
for tracing safety information with the system architecture models. This problem is
mainly reflected at tool level, since traceability always imply an important endeavour.
        </p>
        <p>
          Strategy c proposes to firstly introduce SOPHIA as a package of Fundamental
Concepts via a metamodel, in a way that is independent of the UML formalism. In a second
stage, this metamodel (also called domain model ) is implemented as a UML profile. In
this way, we overcome the drawbacks of Stategies a and b, because the concepts are
defined independently of UML, and, thereby, gain the benefits of a domain-specific
approach. Moreover, this approach improves tool interoperability and facilitates the
interface and traceability between different modelling aspects of the same system. SOPHIA
and SysML languages (which are both designed as UML profiles) may indeed be used
jointly in the same UML tool. A successful example of this approach is MARTE [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
strategy a
strategy b
strategy c
        </p>
        <sec id="sec-3-1-1">
          <title>Language Engeneering</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Domain</title>
        </sec>
        <sec id="sec-3-1-3">
          <title>Metamodel NO YES YES</title>
        </sec>
        <sec id="sec-3-1-4">
          <title>Profile YES NO YES</title>
        </sec>
        <sec id="sec-3-1-5">
          <title>End User Domain Tool environment</title>
        </sec>
        <sec id="sec-3-1-6">
          <title>One single Model</title>
        </sec>
        <sec id="sec-3-1-7">
          <title>One single Tool YES NO YES</title>
          <p>YES
NO
YES</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>From SOPHIA Safety Concepts to Implementation</title>
      <sec id="sec-4-1">
        <title>SOPHIA Architecture</title>
        <p>We adopt Strategy c and we develop it further. First af all, we strategically use the
definition of profile, firstly introduced by S. Cook, and successfully adopted by other
researchers: a profile is a family of related languages. It suggests the idea of exploiting
the composition of pre-existing profiles. Indeed, our intent is not to define completely
“new” metamodel and profile, covering all concepts from safety to architectural design.
Our intend is indeed to reuse the existing work as much as possible, so that we can
take advantage of pre-existing works and related tools.</p>
        <p>
          In spite of SysML role for requirements and system’s architecture (requirement and
block diagrams), SysML lacks in the specification of temporal attributes [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Several
European research projects are therefore willing to define a combined usage of both
SysML and MARTE.
        </p>
        <p>
          In the context of SOPHIA, we were particularly interested in MARTE to define
nonfunctional properties (MARTE::NFP) and MARTE::VSL to valuate these properties. The
MARTE::NFP package allows designers to annotate a UML model with non-functional
properties. VSL stands for Value Specification Language and allows designers to specify
“parameters/variables, constants, and expressions in textual form” [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Moreover, VSL
supports arithmetic and logical expressions. Beyond the benefits of the SOPHIA
alignment with a recognized international standard, the main advantage of this integration
is the ability to support a well-formed syntax and semantics for safety parameters
and to consequently enable automated derivation of dependent safety variables (See
Section 4.2).
        </p>
        <p>LANGUAGE
ENGINEERS</p>
        <p>DOMAIN</p>
        <p>END</p>
        <p>USER
DOMAIN</p>
        <p>FUNDAMENTAL</p>
        <p>CONCEPT</p>
        <p>LEVEL
PROFILE</p>
        <p>LEVEL
MODELING</p>
        <p>LEVEL</p>
        <p>UML</p>
        <p>SOPHIA
foundamental
concepts</p>
        <p>MARTE
foundamental</p>
        <p>concepts
&lt;&lt;reference&gt;&gt;</p>
        <p>&lt;&lt;reference&gt;&gt;
&lt;&lt;mapping&gt;&gt;</p>
        <p>&lt;&lt;mapping&gt;&gt;
SysML
(subset)</p>
        <p>MARTE
SOPHIA &lt;&lt;import&gt;&gt; (subset)</p>
        <p>&lt;&lt;apply&gt;&gt;
USER</p>
        <p>MODEL</p>
        <p>
          SOPHIA is a UML profile for safety modelling modelling whose definition is based
on SOPHIA Fundamental Concepts. In UML, there is not a specific symbol between
a profile and its fundamental concepts. To explicitly capture this relationship, we use
a dashed arrow annotated with the word “mapping”, following the OMG notation
introduced in work [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ].
        </p>
        <p>Like SOPHIA, MARTE extends UML and it is based on MARTE Fundamental
Concepts, so-called MARTE Domain Model.</p>
        <p>At fundamental concepts level, we have UML metamodels respectively denoting
SOPHIA Fundamental Concepts and MARTE Fundamental Concepts.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>SOPHIA, a UML profile for safety</title>
        <p>In this section, we describe the UML profile for SOPHIA. It consists of a set of UML
extensions and libraries concretized through stereotypes and data types. They map to
the SOPHIA Fundamental Concepts (see Figure 3 for a big picture). Similarly to the
SOPHIA Fundamental Concepts packages, the corresponding UML profile the profile is
designed following a modular approach by grouping language constructs into individual
packages, with the ability to select only those packages that are of direct interest in a
given model. Due to space limitations, it is not possible to provide details covering the
all profile. Therefore, we will focus on the SOPHIA package ACCIDENTS described in
Section 3.1.</p>
        <p>In the package ACCIDENTS every fundamental concept will directly result in a
UML stereotype with its corresponding properties. In this case, there is a 1:1
mapping between the Fundamental Concepts and the profile element. The bottom package
in Figure 4 defines how the metaclasses of the UML metamodel are extended with
SOPHIA concepts, while the top-hand package shows a subset of the SOPHIA library
with some enumeration types of interest.</p>
        <p>Before describing the details of how SOPHIA exploits MARTE::VSL, let us introduce
a real industrial railway example of risk assessment.</p>
        <p>Example Figure 5 shows a typical example of risk assessment tables used in the railway
domain. Such tables are used to identify the tolerable accident rate (TAR) of a given
accident case (stereotype AccidentCase in Figure 4) and the occurrence rates of the
different consequences of an accident case (stereotype AccidentConsequences in Figure 4).
Typically, these tables are standardized by the territory authorities. For the sake of
simplicity, we focus on the calculation of the TAR and the consequence occurrence rate
parameters for a given country.</p>
        <p>Starting from “Table a:” of Figure 5, safety engineers define a severity level for
every accident case. This information allows for identifying the threshold of the accident
case risk. (annotated with “T” in the figure.) The threshold risk identifies the upper
limit of a tolerable risk. For instance, let us consider a Critical severity level. The
corresponding threshold risk can be identified in the fourth row of the Critical column.
This corresponds to the Undesirable risk level. The obtained threshold risk level can
then be used to identify a corresponding threshold frequency of the accident case. In
our example, such frequency level is Remote. This yields an input value for “Table b:”.</p>
        <p>“Table b:” describes a mapping of frequencies of accident cases and numerical
information about the magnitude order of such frequencies. This magnitude order
is specified as an interval of real numbers. The lower bound value of this interval,
corresponding to the threshold frequency level of a given accident case, represents the
LIBRARY
&lt;&lt;enumeration&gt;&gt;</p>
        <p>SeverityKind
Catastrophic
Critical
Marginal</p>
        <p>Insignificant
ACCIDENTS
&lt;&lt;enumeration&gt;&gt;
FrequencyKind
Frequent
Probable
Occasional
Remote
Improbable
Incredible
&lt;&lt;enumeration&gt;&gt;</p>
        <p>RiskKind
Intolerable
Undesiderable
Tolerable</p>
        <p>Negligeable
&lt;&lt;import&gt;&gt;
PARAMETERS &lt;&lt;apply&gt;&gt;
(see fig. 5)</p>
        <p>MARTE
(subset)
&lt;&lt;import&gt;&gt;
(uml)</p>
        <p>ACTOR
&lt;&lt;stereotype&gt;&gt;</p>
        <p>Hazard</p>
        <p>&lt;&lt;stereotype&gt;&gt;</p>
        <p>AccidentConsequences
tolerableAccidentRate : THR severity: SeverityKind
\automaticTolerableAccidentRate : THR \automaticOccurenceRate: FrequencyMagnitudoMap
(uml)</p>
        <p>UseCase
&lt;&lt;stereotype&gt;&gt;</p>
        <p>AccidentCase
iD: Identification
accidentType: AccidentTypeKind
tolerableAccidentRate : TAR
\a\utomaticTolerableAccidentRate : TAR</p>
        <p>Fig. 4. SOPHIA: focus on TAR
TAR value for this accident case. In Figure 5, the TAR value the studied accident case
is 1x10-8.</p>
        <p>Figure 6 shows the model representation of “Table a:”. In a:RiskTolerabilityAccident,
each line of attribute RiskMapping represents a line of “Table a:”. Consider “Table a:”.
We can read it as: we taken two values, one for colomn and one for row, then, we
uniquely identify one cell, which contains the value of the risk. For example, for the
colomn we select severity = critical and, for the row, frequency = Incredible Hence, we
achieve a unique cell, which contains risk = N egligeable. The first line in Figure 6
represents the list of these attributes and their values. In instance a:RiskTolerabilityAccident,
each line is given by the above procedure. In order to model the threshold between
what is tolerable and what is undesiderable (noted by “T” in Figure 5), we introduce
the Boolean attribute isThreshold in Figure 6. Therefore, if severity = critical, then
risk = U ndesiderable, because isThreshold = T rue.</p>
        <p>
          a:RiskTolerabilityAccident is an instance of class RiskTolerabilityAccident, which
contains one attribute riskMapping of type RiskMappingType. We stereotype RiskMappingType
with VSL::TupleType. As might be expected, the VSL package (which contains a set of
stereotypes extending the data type of UML) is applied to some of the SOPHIA data
types. By definition, a TupleType is a data type that combines different types into a
single aggregated type [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. This allows instances of these tuple types to be annotated
as composite values following the textual syntax defined for VSL tuple specifications.
        </p>
        <p>Similarly to Table “a:”, we represents “Table b:” by Figure 7, where some
predefined MARTE data types are imported and reused in SOPHIA constructs. For
instance, RealInterval (a MARTE’s data type stereotyped VSL::IntervalType) is typing the
magnitudoOrder property of FrequencyMapType. This allows instances of IntervalType to</p>
        <p>severity
frequency Insignificant Marginal Critical Catastrophic</p>
        <p>Frequent Intolerable Intolerable Intolerable Intolerable</p>
        <sec id="sec-4-2-1">
          <title>Probable TUndesiderable Undesiderable Intolerable Intolerable</title>
          <p>(3)ORcceamsiootneal TNoelgelriagbelaeble TUnTdoelseirdaebrlaeble TUUnnddeessiiddeerraabbllee(2)IUnntodleesriadbelreable</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Improbable Negligeable Negligeable Tolerable TUndesiderable</title>
          <p>Incredible Negligeable Negligeable Negligeable Tolerable</p>
          <p>(1) input designer
b:
frequency real interval (6)
Frequent 1E−3 &lt;= F AutomaticTolerableRateAccident
Probable 1E−5 &lt;= F &lt; 1E−3</p>
          <p>Occasional 1E−7 &lt;= F &lt; 1E−5
(4) Remote 1E−8(5&lt;)= F &lt; 1E−7</p>
          <p>Improbable 1E−9 &lt;= F &lt; 1E−8</p>
          <p>Incredible F &lt; 1E−9
be specified with the VSL syntax for interval values, as depicted in b:FrequencyMagnitudoMap.
Algorithm to calculate the TAR parameter: In the sequel, we describes the
algorithm used to derivate the TAR parameter.</p>
          <p>GLOBAL VAR RiskTolerableAccident : ARRAY[SEVERITY KIND][FREQUENCY KIND]:
[risk:RISK KIND,IsThereshold:BOOLEAN];</p>
          <p>GLOBAL VAR FrequencyMagnitudeMap: ARRAY[FREQUENCY KIND]: REAL INTERVAL;
AutomaticTARCalculate (UserSeverityValue:SEVERITY KIND): TAR;
VAR MyFrequency: FREQUENCY KIND;
VAR MyInterval: REAL INTERVAL;
VAR j: INTEGER;
j := 0;</p>
          <p>WHILE (RiskTolerableAccident [UserSeverityValue][j].IsThereshold hi TRUE)</p>
          <p>DO j := j+1;
MyFrequency := FREQUENCY KIND[j];
MyInterval := FrequencyMagnitudeMap[MyFrequency];</p>
          <p>RETURN AutomaticTARCalculate := MyInterval.LowerBound;</p>
          <p>Although it is written in pseudo-code, it can be implemented in Java code and
easly introduced in a static profile implementation of SOPHIA.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Discussion</title>
      <p>In Section 2, we have discussed some works on safety that have a great impact in the
MDE community. Most of them provide both a way to specify the safety attributes in
the design model, and tool support for safety analysis. Often, we have faced on two
different models: one for safety and another one for design modelling. The focus is then
on the “right mapping” and in the a-posteriori verification of the safety attributes.</p>
      <p>SOPHIA is based on four capital pillars:
– SOPHIA Fundamental Concepts;
– reuse of pre-existing profiles (and then their tool support);
– automation on the propagation of the safety attributes in the design model;
– a-priori verification of the safety attributes in a correct way regarding to pre-defined
risk tables.</p>
      <p>In the sequel, we discuss each SOPHIA pillar with respect to some of the works
presented in Section 2.</p>
      <p>Altough SOPHIA is a UML profile, SOPHIA Fundamental Concepts have been
created as free as possible from considerations related to specific solution technologies
so as to not embody any premature decisions that may hamper later language use.</p>
      <p>
        This means that the fundamental concepts model can be concretized not only as a
UML profile, but also as an independent modelling language, possibly implemented as
an Ecore metamodel or an XML schema, as well. Note that, although the SOPHIA
Fundamental Concepts are specified in the form of a metamodel with a textual semantic
description (like in MARTE), it represents only conceptualization entities synthesizing
the “universe of discourse”. This pillar is similar to that presented in work [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] in
which the authors first define a safety conceptual model of safety-aware
componentbased architectures and just then define a safety UML profile.
      </p>
      <p>The second pillar introduces SOPHIA as a UML profile, by adopting the definition
of profile firstly given by S. Cook. As a result, SOPHIA profile strategically reuses some
packages of MARTE and can be easily integrated in a SysML system architecture.</p>
      <p>The third pillar put the strength in improving the automation of the modelling
process. In particular, SOPHIA provides a framework to automatically generate the
value of TAR and the frequency of an accident, from the specification of only one
attribute by users, which is the severity attribute of a consequence. This attribute is
given by engineers by choosing one of four possible values.</p>
      <p>Finally, the fourth pillar’s objective is to enable safety ensurance calculation along
the development process, in a way that is correct with respect to pre-defined tables.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>In this paper, we present for the fist time SOPHIA, a model-based safety engineering
approach. SOPHIA responds to industrial needs regarding the integration of safety
engineering and system design. SOPHIA provides a metamodeling and profiling
infrastructure to specify and propagate the safety information on design models. We have
particularly focused on the TAR calculation, which is the first step of the risk evaluation
of an accident. The result of some safety attributes, such as TAR, influences the SIL
and, hence, changes the model architecture. Such safety information is a-priori correct
regarding to pre-defined risk tables. Currently we are performing tests on industrial
real cases. We are applying the same process (as discussed for TAR) to other safety
attributes. We also intend to mathematically formalize correctness of the automatic
propagation of the safety attributes in the design model.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgment</title>
      <p>
        This work has been performed in the context of the IMOFIS project of the System@tic
Paris R´egion Cluster. It is sponsored by the ”Safe, reliable and adapted transportation”
program (PREDIT) of the “Agence Nationale pour la Recherche”. The authors would
like to thank the all member of the IMOFIS project [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and the reviewers of ACESMB
Workshop for their valuable suggestions.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>AADL. Architecture</given-names>
            <surname>Analysis</surname>
          </string-name>
          &amp;
          <article-title>Design Language</article-title>
          . www.aadl.info/aadl/ currentsite/index.html.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Abrial</surname>
          </string-name>
          .
          <article-title>The B-book: assigning programs to meanings</article-title>
          . Cambridge University Press,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Alstom</surname>
          </string-name>
          .
          <article-title>Guidance for safety analysis</article-title>
          .
          <source>MODTRAIN, MODCONTROL Sub-Project</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Andr´e. Time Modeling in MARTE</article-title>
          .
          <source>In FDL'07 Forum on specification and Design Languages</source>
          , Barcelona, Spain,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>ATESST</given-names>
            <surname>Project</surname>
          </string-name>
          .
          <article-title>Advancing Traffic Efficiency and Safety through Software Technology. ATESST STREP - FP6 project</article-title>
          . http://www.atesst.org.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. AUT@SAR.
          <article-title>Automotive Open System Architecture</article-title>
          .
          <source>www.autosar.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>F.</given-names>
            <surname>Belmonte</surname>
          </string-name>
          .
          <source>T1</source>
          .1 guide de mod´elisation.
          <string-name>
            <surname>Projet</surname>
            <given-names>IMOFIS</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alstom</surname>
            <given-names>Transport</given-names>
          </string-name>
          , System@tic,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Blas</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          .
          <article-title>Comment am´eliorer les m´ethodes d'analyse de risques et l'allocation des THR, SIL et autres objectifs de s´ecurit´e</article-title>
          . In Lambda-Mu, 16e Congr`es de Maˆıtrise des Risques et de Suˆret´e de Fonctionnement, Avignon, France,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>S.</given-names>
            <surname>Bliudze</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          .
          <source>The Algebra of Connectors - Structuring Interaction in BIP. In Int. Conf. EMSOFT</source>
          , pages
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>B.P.</given-names>
            <surname>Douglass</surname>
          </string-name>
          .
          <article-title>Build Safety-Critical Designs with UML-based Fault Tree AnalysisDefining a Profile. www</article-title>
          .embedded.com/design/opensource/217200312?pgno=
          <fpage>1</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. CENELEC. EN-
          <volume>50126</volume>
          : Application ferroviaires -Sp´ecification et d´emonstration de Fiabilit´e, Disponibilit´e, Maintenabilit´e et S´ecurit´e (FMDS). Norme,
          <string-name>
            <surname>CENELEC</surname>
          </string-name>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. CENELEC. EN-
          <volume>50128</volume>
          : Applications ferroviaires - Syst`eme de signalisation, de t´el´ecommunication et de traitement - Logiciels pour syst`emes de commande et de protection ferroviaire. Norme,
          <string-name>
            <surname>CENELEC</surname>
          </string-name>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. CENELEC. EN-
          <volume>50129</volume>
          : Application ferroviaires - syst`eme de signalisation, de t´el´ecommunication et de traitement
          <article-title>- syst`emes ´electroniques relatifs `a la s´ecurit´e pour la signalisation</article-title>
          . Norme,
          <string-name>
            <surname>CENELEC</surname>
          </string-name>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. L. de Alfaro and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>Interface automata</article-title>
          .
          <source>In Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering</source>
          , pages
          <fpage>109</fpage>
          -
          <lpage>120</lpage>
          . ACM Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>M. de Miguel</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Briones</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Silva</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Alonso</surname>
          </string-name>
          .
          <article-title>Integration of satety analysis in model-driven software development</article-title>
          .
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. H.
          <string-name>
            <surname>Espinoza</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Selic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Cancila</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <article-title>G´erard. Challenges in Combining SysML and MARTE for Model-Based Design of Embedded Systems</article-title>
          .
          <source>In In Proc. of Int. Conf. on Model Driven-Architecture Foundations and Applications (ECMDA 09)</source>
          , volume
          <volume>5562</volume>
          . LNCS,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>P.</given-names>
            <surname>Feiler</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Rugina</surname>
          </string-name>
          .
          <article-title>Dependability Modeling with the Architecture Analysis &amp; Design Language (AADL)</article-title>
          .
          <source>Technical report, Software Engineering Institute</source>
          , Carnegie Mellon,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>B.</given-names>
            <surname>Hamid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Radermacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lanusse</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jouvray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gerard</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Terrier</surname>
          </string-name>
          .
          <article-title>Designing fault-tolerant component based applications with a model driven approach</article-title>
          .
          <source>In IFIP Workshop on Software Technologies for Future Embedded and Ubiquitos Systems (SEUS</source>
          <year>2008</year>
          ), Springer LNCS.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. IEC.
          <volume>61508</volume>
          :
          <year>1998</year>
          and
          <article-title>2000, part 1 to 7. Functional Safety of Electrical, Electronic and Programmable Electronic Systems</article-title>
          .,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>IMOFIS</given-names>
            <surname>Project</surname>
          </string-name>
          .
          <article-title>Ing´enierie des MOd`ele de FonctIons S´ecuritaires</article-title>
          . www.imofis. org/.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>E.</given-names>
            <surname>Jouenne</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Normand</surname>
          </string-name>
          .
          <article-title>Tailoring IEEE 1471 for MDE Support</article-title>
          .
          <source>In UML Modeling Languages and Applications</source>
          , LNCS, Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>N.</given-names>
            <surname>Limnios</surname>
          </string-name>
          .
          <article-title>Fault trees</article-title>
          .
          <source>ISTE</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>23. OMG. http://www.omg.org/.</mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>OMG</surname>
          </string-name>
          .
          <article-title>Systems Modeling Language SysML</article-title>
          . www.sysml.org.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. OMG.
          <article-title>UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded systems, Beta 3</article-title>
          . www.omgmarte.org.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. OMG.
          <article-title>UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics &amp; Mechanisms (QoS &amp; FT profile)</article-title>
          .
          <source>www.omg.org.</source>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>OMG. Unified Modeling Language (UML) Specification</surname>
          </string-name>
          : Infrastructure. Version 2.0. www.uml.org,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. OMG.
          <article-title>UML Profile for Schedulability, Performance, and Time Specification</article-title>
          . www. uml.org,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>F.</given-names>
            <surname>Ougier</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Terrier</surname>
          </string-name>
          .
          <article-title>ADONA: an open Integration Platform for Automative Systems Development Tools</article-title>
          .
          <source>In Euopean Congress Embedded real Time Software (ERTS)</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>D.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <article-title>Model-driven engineering</article-title>
          . IEEE Computer, pages
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>February 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <given-names>B.</given-names>
            <surname>Selic</surname>
          </string-name>
          .
          <article-title>From Model-Driven Development to Model-Driven Engineering</article-title>
          . Keynote talk at ECRTS'
          <volume>07</volume>
          . http://feanor.sssup.it/ecrts07/keynotes/k1-selic.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <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>MDE benefits for distributed, real-time and embedded systems. In From Model-Driven Design to Resource Management for Distributed Embedded Systems</article-title>
          ,
          <source>IFIP TC 10 Working Conference on Distributed and Parallel Embedded Systems (DIPES</source>
          <year>2006</year>
          ),
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <given-names>Veryard</given-names>
            <surname>Projects</surname>
          </string-name>
          .
          <article-title>Component-based Development FAQ</article-title>
          . http://www.users. globalnet.co.uk/~rxv/CBDmain/cbdfaq.htm,
          <year>February 2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>