<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">SOPHIA: a Modeling Language for Model-Based Safety Engineering</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Daniela</forename><surname>Cancila</surname></persName>
							<email>daniela.cancila@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Francois</forename><surname>Terrier</surname></persName>
							<email>francois.terrier@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Fabien</forename><surname>Belmonte</surname></persName>
							<email>fabien.belmonte@transport.alstom.com</email>
						</author>
						<author>
							<persName><forename type="first">Hubert</forename><surname>Dubois</surname></persName>
							<email>hubert.dubois@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Huascar</forename><surname>Espinoza</surname></persName>
							<email>huascar.espinoza@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Sébastien</forename><surname>Gérard</surname></persName>
							<email>sebastien.gerard@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Arnaud</forename><surname>Cuccuru</surname></persName>
							<email>arnaud.cuccuru@cea.fr</email>
						</author>
						<author>
							<persName><forename type="first">Cea</forename><surname>List ⋆</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Alstom</forename><surname>⋆⋆</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">CEA LIST</orgName>
								<orgName type="laboratory" key="lab2">Laboratoire d&apos;Ingénierie dirigée par les modèles pour les Systèmes Embarqués Point</orgName>
								<address>
									<addrLine>Courrier 94, Gif</addrLine>
									<postCode>F-91191</postCode>
									<settlement>sur-Yvette</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution" key="instit1">⋆⋆</orgName>
								<orgName type="institution" key="instit2">Alstom Transport Information Solution</orgName>
								<address>
									<addrLine>48 rue Albert Dhalenne</addrLine>
									<postCode>93482</postCode>
									<settlement>Saint-Ouen</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SOPHIA: a Modeling Language for Model-Based Safety Engineering</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">ADA895E3AB7CBE53FD89BC3E661111E3</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-19T16:04+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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) <ref type="bibr" target="#b18">[19]</ref>. 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.</p><p>as UML or SysML <ref type="bibr" target="#b22">[24]</ref>. At the profile level, we propose to use some suitable concepts from MARTE, the OMG's UML profile for real-time embedded systems <ref type="bibr" target="#b23">[25]</ref>, 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><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) <ref type="bibr" target="#b0">[1]</ref>, P. <ref type="bibr">Feiler and al.</ref> introduce a framework to model the error state propagations in a hierarchical architecture <ref type="bibr" target="#b16">[17]</ref>. 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" <ref type="bibr" target="#b16">[17]</ref>). In order to limit, or even avoid, the error propagation, the authors provide suitable filters (guards), for example between the interconnection of components. In <ref type="bibr" target="#b16">[17]</ref>, 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 <ref type="bibr" target="#b5">[6]</ref>), some European industries and academics have defined an architecture description language, so called EAST-ADL <ref type="bibr" target="#b4">[5]</ref>. 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 <ref type="bibr" target="#b9">[10]</ref>, 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 <ref type="bibr" target="#b14">[15]</ref>, de Miguel and al. propose an approach similar to work <ref type="bibr" target="#b9">[10]</ref>. Therefore, it has similar advantages and drawbacks. Finally, in <ref type="bibr" target="#b24">[26]</ref>, 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Safety Engineering</head><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 <ref type="bibr" target="#b10">[11]</ref>, EN 50128 <ref type="bibr" target="#b11">[12]</ref> and EN 50129 <ref type="bibr" target="#b12">[13]</ref> 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:</p><p>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</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">SOPHIA Fundamental Concepts</head><p>The concepts of SOPHIA (and their relationships) are based on Alstom Ontology <ref type="bibr" target="#b6">[7]</ref> and on Alstom works such as <ref type="bibr" target="#b7">[8,</ref><ref type="bibr" target="#b2">3]</ref>, 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:</p><p>• 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 <ref type="figure" target="#fig_0">1</ref> 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" <ref type="bibr" target="#b2">[3]</ref>.</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 <ref type="bibr" target="#b2">[3]</ref>. 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 <ref type="figure">5</ref>, 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. Next, we discuss the strategies to integrate the safety conceptual concepts defined above with a given general-purpose modelling language, in this case SysML.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Integration Strategies for SOPHIA and SysML</head><p>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 <ref type="bibr" target="#b15">[16]</ref>, 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 <ref type="bibr" target="#b23">[25]</ref>. 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>One single</head><p>In spite of SysML role for requirements and system's architecture (requirement and block diagrams), SysML lacks in the specification of temporal attributes <ref type="bibr" target="#b3">[4]</ref>. Several European research projects are therefore willing to define a combined usage of both SysML and MARTE.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>MoDELS'09 ACES-MB Workshop Proceedings</head><p>Denver, CO, USA, October 6, 2009</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" <ref type="bibr" target="#b23">[25]</ref>. 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). Figure <ref type="figure" target="#fig_2">3</ref> shows the overall structure. We have two main domains: end user domain and language engineering domain, which is in turn subdivided in two levels, Profile and Fundamental Concept. End user domain corresponds to M1 level in the OMG four-level hierarchy <ref type="bibr">[23]</ref>. Designers only work in the modeling level. The language engineering domain corresponds to M2 level in the OMG four-level hierarchy. In the Profile level, we specify namesake profiles. In the Fundamental Concept level, we have UML metamodel and data (Fundamental Concepts for safety and MARTE in the figure). In the following, we discuss the overall structure, as illustrated in Figure <ref type="figure" target="#fig_2">3</ref>.</p><p>At Modelling level, designers specify the model of a system. In order to specify the architecture of a system and associated requirements, designers need to apply SysML to their UML model. Next, designers annotate the model with safety attributes by applying the SOPHIA profile. In order to specify temporal attributes, designers exploit the MARTE stereotypes that are already imported by SOPHIA.</p><p>At Profile level, we have suitable languages of (at least) three families (profiles): SysML, SOPHIA and MARTE. One of our on-going works is to identify the minimum subset of SysML and MARTE to specify the requirements given by Alstom.</p><p>SysML is a UML profile. In Figure <ref type="figure" target="#fig_2">3</ref>, UML stereotype "reference" shows such a relationship <ref type="bibr" target="#b25">[27]</ref>. Note that SysML is only introduced as a UML extension and, then, SysML intentionally has not a fundamental concepts level.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>MoDELS'09 ACES-MB Workshop Proceedings</head><p>Denver, CO, USA, October 6, 2009 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 <ref type="bibr" target="#b26">[28]</ref>.</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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">SOPHIA, a UML profile for safety</head><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 <ref type="figure" target="#fig_2">3</ref> 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 <ref type="figure" target="#fig_3">4</ref> 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 <ref type="figure">5</ref> 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 <ref type="figure" target="#fig_3">4</ref>) and the occurrence rates of the different consequences of an accident case (stereotype AccidentConsequences in Figure <ref type="figure" target="#fig_3">4</ref>). 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 <ref type="figure">5</ref>, 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 <ref type="figure">.</ref>) 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 <ref type="table">b</ref>:" 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 TAR value for this accident case. In Figure <ref type="figure">5</ref>, the TAR value the studied accident case is 1x10-8.</p><p>Figure <ref type="figure">6</ref> 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 <ref type="figure">6</ref> 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 <ref type="figure">5</ref>), we introduce the Boolean attribute isThreshold in Figure <ref type="figure">6</ref>. 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 <ref type="bibr" target="#b23">[25]</ref>. 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 <ref type="table">b</ref>:" by Figure <ref type="figure" target="#fig_5">7</ref>, 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 (1) </p><p>Frequent Fig. <ref type="figure">5</ref>.  Although it is written in pseudo-code, it can be implemented in Java code and easly introduced in a static profile implementation of SOPHIA.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Discussion</head><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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>SOPHIA is based on four capital pillars:</head><p>-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. 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 <ref type="bibr" target="#b14">[15]</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions</head><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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. SOPHIA : AccidentCase</figDesc><graphic coords="6,203.98,116.08,207.20,273.23" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. Strategies to integrate safety modeling language in the system architecture</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Overall Structure</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. SOPHIA: focus on TAR</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 7 .</head><label>7</label><figDesc>Fig. 7. package PARAMETERS: SOPHIA and MARTE for "Table b:"</figDesc><graphic coords="12,169.39,116.07,276.36,155.20" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">MoDELS'09 ACES-MB Workshop Proceedings Denver, CO, USA,October 6, 2009  </note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">Denver, CO, USA,October 6, 2009  </note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgment</head><p>This work has been performed in the context of the IMOFIS project of the System@tic Paris Région 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 <ref type="bibr" target="#b19">[20]</ref> and the reviewers of ACES M B Workshop for their valuable suggestions.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><surname>Aadl</surname></persName>
		</author>
		<ptr target="www.aadl.info/aadl/currentsite/index.html" />
		<title level="m">Architecture Analysis &amp; Design Language</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">The B-book: assigning programs to meanings</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">R</forename></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
			<publisher>Cambridge University Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<author>
			<persName><surname>Alstom</surname></persName>
		</author>
		<title level="m">MODTRAIN, MODCONTROL Sub-Project</title>
				<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
	<note>Guidance for safety analysis</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Time Modeling in MARTE</title>
		<author>
			<persName><forename type="first">C</forename><surname>André</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">FDL&apos;07 Forum on specification and Design Languages</title>
				<meeting><address><addrLine>Barcelona, Spain</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.atesst.org" />
		<title level="m">Advancing Traffic Efficiency and Safety through Software Technology. ATESST STREP -FP6 project</title>
				<imprint/>
		<respStmt>
			<orgName>ATESST Project</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<ptr target="www.autosar.org" />
		<title level="m">Automotive Open System Architecture</title>
				<imprint/>
		<respStmt>
			<orgName>AUT@SAR</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">F</forename><surname>Belmonte</surname></persName>
		</author>
		<title level="m">T1.1 guide de modélisation</title>
				<imprint>
			<publisher>Alstom Transport</publisher>
			<date type="published" when="2009">2009</date>
		</imprint>
		<respStmt>
			<orgName>Projet IMOFIS</orgName>
		</respStmt>
	</monogr>
	<note>, System@tic</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Comment améliorer les méthodes d&apos;analyse de risques et l&apos;allocation des THR, SIL et autres objectifs de sécurité</title>
		<author>
			<persName><forename type="first">A</forename><surname>Blas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Boulanger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lambda-Mu, 16e Congrès de Maîtrise des Risques et de Sûreté de Fonctionnement</title>
				<meeting><address><addrLine>Avignon, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The Algebra of Connectors -Structuring Interaction in BIP</title>
		<author>
			<persName><forename type="first">S</forename><surname>Bliudze</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sifakis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Int. Conf. EMSOFT</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="11" to="20" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Build Safety-Critical Designs with UML-based Fault Tree Analysis-Defining a Profile</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">P</forename><surname>Douglass</surname></persName>
		</author>
		<ptr target="www.embedded.com/design/opensource/217200312?pgno=1" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<author>
			<persName><surname>Cenelec</surname></persName>
		</author>
		<author>
			<persName><surname>En</surname></persName>
		</author>
		<idno>-50126</idno>
		<title level="m">Application ferroviaires -Spécification et démonstration de Fiabilité, Disponibilité, Maintenabilité et Sécurité (FMDS). Norme, CENELEC</title>
				<imprint>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><surname>Cenelec</surname></persName>
		</author>
		<author>
			<persName><surname>En</surname></persName>
		</author>
		<idno>-50128</idno>
		<title level="m">Applications ferroviaires -Système de signalisation, de télécommunication et de traitement -Logiciels pour systèmes de commande et de protection ferroviaire</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
	<note>Norme, CENELEC</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Application ferroviaires -système de signalisation, de télécommunication et de traitement -systèmes électroniques relatifs à la sécurité pour la signalisation</title>
		<author>
			<persName><surname>Cenelec</surname></persName>
		</author>
		<author>
			<persName><surname>En</surname></persName>
		</author>
		<idno>-50129</idno>
	</analytic>
	<monogr>
		<title level="m">Norme, CENELEC</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Interface automata</title>
		<author>
			<persName><forename type="first">L</forename><surname>Alfaro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">A</forename><surname>Henzinger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering</title>
				<meeting>the Ninth Annual Symposium on Foundations of Software Engineering</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="109" to="120" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Integration of satety analysis in model-driven software development</title>
		<author>
			<persName><forename type="first">M</forename><surname>De Miguel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Briones</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Alonso</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Challenges in Combining SysML and MARTE for Model-Based Design of Embedded Systems</title>
		<author>
			<persName><forename type="first">H</forename><surname>Espinoza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Selic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Cancila</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gérard</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of Int. Conf. on Model Driven-Architecture Foundations and Applications (ECMDA 09)</title>
				<meeting>of Int. Conf. on Model Driven-Architecture Foundations and Applications (ECMDA 09)</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">5562</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Dependability Modeling with the Architecture Analysis &amp; Design Language</title>
		<author>
			<persName><forename type="first">P</forename><surname>Feiler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Rugina</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>AADL</publisher>
		</imprint>
		<respStmt>
			<orgName>Software Engineering Institute, Carnegie Mellon</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Designing fault-tolerant component based applications with a model driven approach</title>
		<author>
			<persName><forename type="first">B</forename><surname>Hamid</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Radermacher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lanusse</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Jouvray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gerard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Terrier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IFIP Workshop on Software Technologies for Future Embedded and Ubiquitos Systems</title>
		<title level="s">Springer LNCS</title>
		<meeting><address><addrLine>SEUS</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<idno>IEC. 61508</idno>
		<title level="m">Functional Safety of Electrical, Electronic and Programmable Electronic Systems</title>
				<imprint>
			<date type="published" when="1998">1998. 2000. 2000</date>
		</imprint>
	</monogr>
	<note>part 1 to 7</note>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<ptr target="www.imofis.org/" />
		<title level="m">Ingénierie des MOdèle de FonctIons Sécuritaires</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Tailoring IEEE 1471 for MDE Support</title>
		<author>
			<persName><forename type="first">E</forename><surname>Jouenne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Normand</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">UML Modeling Languages and Applications</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">Fault trees</title>
		<author>
			<persName><forename type="first">N</forename><surname>Limnios</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2007">2007</date>
			<publisher>ISTE</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<title level="m" type="main">Systems Modeling Language SysML</title>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="www.sysml.org" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded systems</title>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="www.omgmarte.org" />
	</analytic>
	<monogr>
		<title level="j">Beta</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="www.omg.org" />
		<title level="m">UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics &amp; Mechanisms (QoS &amp; FT profile</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<monogr>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target=".www.uml.org" />
		<title level="m">Unified Modeling Language (UML) Specification: Infrastructure</title>
				<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
	<note>Version 2.0</note>
</biblStruct>

<biblStruct xml:id="b26">
	<monogr>
		<title level="m" type="main">UML Profile for Schedulability, Performance, and Time Specification</title>
		<author>
			<persName><surname>Omg</surname></persName>
		</author>
		<ptr target="www.uml.org" />
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">ADONA: an open Integration Platform for Automative Systems Development Tools</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ougier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Terrier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Euopean Congress Embedded real Time Software (ERTS)</title>
				<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Model-driven engineering</title>
		<author>
			<persName><forename type="first">D</forename><surname>Schmidt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Computer</title>
		<imprint>
			<biblScope unit="page" from="25" to="31" />
			<date type="published" when="2006-02">February 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">From Model-Driven Development to Model-Driven Engineering</title>
		<author>
			<persName><forename type="first">B</forename><surname>Selic</surname></persName>
		</author>
		<ptr target="http://feanor.sssup.it/ecrts07/keynotes/k1-selic.pdf" />
	</analytic>
	<monogr>
		<title level="m">Keynote talk at ECRTS&apos;07</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">MDE benefits for distributed, real-time and embedded systems</title>
		<author>
			<persName><forename type="first">F</forename><surname>Terrier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Gerard</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">From Model-Driven Design to Resource Management for Distributed Embedded Systems, IFIP TC 10 Working Conference on Distributed and Parallel Embedded Systems</title>
				<meeting><address><addrLine>DIPES</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2006">2006. 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<ptr target="http://www.users.globalnet.co.uk/~rxv/CBDmain/cbdfaq.htm" />
		<title level="m">Component-based Development FAQ</title>
				<imprint>
			<date type="published" when="2008-02">February 2008</date>
		</imprint>
	</monogr>
	<note>Veryard Projects</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
