<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Viewpoint-Based Approach for Formal Safety &amp; Security Assessment of System Architectures</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Julien Brunel</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Chemouil</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Laurent Rioux</string-name>
          <email>laurent.rioux@thalesgroup.com</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mohamed Bakkali</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frédérique Vallée</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>All4Tec F-53001 Laval</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Onera/DTIM F-31055 Toulouse</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Thales Research &amp; Technology F-91767 Palaiseau</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We propose an model-based approach to address safety and security assessment of a system architecture. We present an integrated process where system engineers design the model of the system architecture, safety and security engineers specify the propagation of failures and attacks inside each component of the architecture using their dedicated tool. They also define the failure modes that have to be merged from both disciplines. The underlying analyses are then performed using Alloy. We instantiate this approach with the system engineering tool Melody from Thales, and the risk analysis supporting tool Safety Architect from All4Tec. We illustrate this work on a system that implements a landing approach of an aircraft.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Safety and security are commonly identified disciplines in system and software
engineering. In critical embedded system engineering, the fact to spend a lot of effort in
safety engineering is a common practice, in particular because these systems generally
need to be certified. Standards specify a complete and precise safety process to follow
in order to be certified. More recently, architects have begun considering security with
more attention. Indeed malicious attacks on the system may cause failures and
catastrophic events. So, there is a need to not only assess the safety properties but also the
security properties of critical embedded systems to create a dependable system
architecture. However, the literature shows the difficulties to combine these disciplines in
engineering [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we showed that it is possible to assess some properties of a critical embedded
system architecture by using the lightweight formal language Alloy. This is a
promising solution but industrial companies may not accept to require safety and security
engineers to create and maintain Alloy formal models. One problem is then to rely on
Alloy for formal analysis while hiding it to end-users. On the other hand, safety
standards are also evolving to encourage the use of design models (MBSE, Model based
System Engineering), as well as formal techniques and tools to assess properties inside
these models (MBSA, Model based System Assessment).
      </p>
      <p>
        This article introduces a proposal for a viewpoint-based approach to integrate formal
assessment with Alloy in a modelling context. Remark that we focus on the feasibility
of the whole approach rather than on viewpoint-based engineering per se (e.g.
overall consistency, name management, abstraction layers...) hence our approach is quite
simple w.r.t. the current state-of-the-art on viewpoints [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>Now since safety engineering and security engineering rely on specific tools, we
propose a solution with 3 viewpoints:
– A design layer where system architects design the system architecture (here with
the Thales in-house tool called “Melody”);
– A safety/security layer where safety engineers and security engineers (based on
extensions for security of the “Safety Architect” tool) can model their safety and
security properties (dysfunctional and security attack model);
– A third layer which consists in a formal model (here an Alloy model) to assess
safety and security properties of the system architecture.</p>
      <p>Our approach is currently done by hand as this work is a feasability study, the purpose of
which is mainly to focus on viewpoints and formal validation, rather than implementing
model transformations which would be rather simple here. Notice that, as of today, the
feedback of the assessment results to the system architecture design are still under study
and then not addressed in this article.
2</p>
    </sec>
    <sec id="sec-2">
      <title>LPV case study</title>
      <p>This case-study is concerned by the architecting of a new Thales Avionics aircraft
embedded system designed to support an LPV landing approach. Localizer Performance
with Vertical guidance (LPV) is the highest precision GNSS aviation instrument
approach procedure currently available without specialized aircrew training requirements.
LPV is designed to provide 16 meter horizontal accuracy and 20 meter vertical accuracy
95 percent of the time. Its architecture is represented by Fig. 2.</p>
      <p>We can summarize the behavior of this sub-system as follows. Two Global
Navigation Satellite Systems (GPS and GALILEO) send a signal to SBAS processing
functions. After correlations of both positions information, the SBAS sends the aircraft
position (lateral and vertical) to two occurrences of the LPV processing function. The
data produced by LPV processing functions are sent to three displays (three
occurrences of a function Acquire). In each display, a comparison of the data received from
LPV1 and LPV2 is performed. In case of inconsistency, an alarm is triggered by a
function Monitor. The crew chooses which of the two LPV processings is used by
each display (function SelectSource, not represented in Fig 2). Besides, each display
receives the data computed by the other two displays. Then, the function Crosscheck
compares the data of the current display with the data of the two others and resets the
current display in case it differs from the other two displays.</p>
      <p>This initial architecture was designed taking into account a number of safety
requirements; two of these are recalled below.
Safety 1 Loss of LPV capability. No single failure must lead to the loss of LPV
capability.</p>
      <p>Safety Misleading information integrity. The architecture must control the value of the
LPV data provided by each calculator and between each screen and find mitigation
in case of erroneous data.</p>
      <p>We also want to ensure that the above architecture is resilient to a number of
malevolent attacks. Any combination of the following attacks has been considered.
Attack 1 One malicious GPS signal (a fake signal that SBAS considers to come from</p>
      <p>GPS).</p>
      <p>Attack 2 One constellation satellite signal is scramble.</p>
      <p>Attack 3 The RNAV ground station is neutralized, meaning that no more RNAV signal
can be send to the plane.</p>
      <p>We will see in Sect. 5 that these requirements are easily expressible (and checked)
in Alloy.
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Model Based Safety &amp; Security Assessment</title>
      <sec id="sec-3-1">
        <title>Model Based System Engineering (MBSE)</title>
        <p>System Engineering of aerospace electronic devices and systems (e.g. avionics, flight or
aircraft systems control, mission computers . . . ) is submitted to high constraints
regarding safety, security, performance, environment, human factors and more; all of these
deeply influence systems architecture design and development, and are to be reconciled
in a relevant system architecture. The model-based system engineering (MBSE) is an
efficient approach to specifying, designing, simulating and validating complex systems.
This approach allows errors to be detected as soon as possible in the design process, and
thus reduces the overall cost of the product. Uniformity in a system engineering project,
which is by definition multidisciplinary, is achieved by expressing the models in a
common modeling language.</p>
        <p>
          Due to its position of large mission-critical systems supplier for aerospace,
defense &amp; security markets, THALES invests a lot in system engineering.In particular,
THALES has developed its own MBSE method named ARCADIA [
          <xref ref-type="bibr" rid="ref10 ref11">11,10</xref>
          ]. ARCADIA
is based on architecture-centric and model-driven engineering activities, supported by
a tool called Melody.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Model Based Safety Assessment</title>
        <p>Model-based safety assessment is nowadays more and more considered in order to
improve the safety analysis of complex systems. It relies on the idea that safety assessment
activities can follow the design process in a parallel flow using the system functional
and physical architectures as a common basis. The system model, either functional or
physical, is used to capture the overall architecture and the interactions between its
components. This abstract view of the system may be enriched with safety information
using dedicated annotations in order to describe possible dysfunctional behaviors.</p>
        <p>Safety Architect is a tool achieving risk analysis of complex systems using
functional or physical architectures. Safety Architect allows the user to automatically
generate the Fault Tree through a “local analysis” (see Fig. 2). The local analysis consists in
linking with logical links (“and”, “or”) failure modes of the outputs of each component
to the failure modes identified on the component inputs. During the local analysis, the
user can also describe the component internal failures effects on its outputs.</p>
        <p>In parallel, the user can also identify safety barriers that prevent the development
of a single fault up to particular failure mode that could lead to a hazardous event,
participating thus to the safety objectives compliance. The user must also define which
failure modes of the system outputs have to be considered as hazardous events. These
events are the subject of the “global analysis” provided by the tool Safety Architect.</p>
        <p>During the global analysis, a dysfunctional simulation of the system is executed
by propagating failures along the dataflow dependencies of components and until a
hazardous event is reached. The results of this propagation are formulated through Fault
Trees, the roots of which are all the previously identified hazardous events.
Formal techniques can be used to support safety and security assessment. Thanks to
their mathematical foundation, they allow to prove some requirements, which provide
a better confidence than more classical validation activities such as testing and manual
review. A number of verification techniques have been developed over the last decades.
They may differ on their expressiveness, their computational complexity and their
application domain.</p>
        <p>
          In this work, we have chosen Alloy [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], which is a formal system-modelling
language amenable to automatic analyses. Alloy has recently been used in the context of
security assessment, for instance to model JVM security constraints [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], access control
policies [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], or attacks in crytogrpahic protocols [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Besides, we proposed in earlier
work a preliminary study of the safety assessment of the LPV system with the study of
a few security attacks [
          <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
          ].
        </p>
        <p>
          The AltaRica [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] language, which is widely use for safety assessment, would have
been another possible choice. However, we decided to take benefit from the
modelbased aspect of Alloy and its expressiveness for the specification of the properties to
check. Indeed, Alloy allows to define easily the metamodel of the avionic architectures
we will analyze instead of encoding them in terms of AltaRica concepts. Moreover, the
specification of the properties we want to check are expressed in relational first-order
logic with many features adapted to model-based reasoning.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Proposed approach for MBS&amp;SA</title>
      <sec id="sec-4-1">
        <title>Main principles</title>
        <p>The approach we propose in this article consists in decoupling the system architecture
model from safety &amp; security models. This way, every engineer (be it an architect, a
security or a safety engineer) can focus on her concerns solely, with dedicated tools and
terminology. As of now, we chose to use two separate models: one for the safety
concern and the second for the security concern. The main motivation for this separation is
that safety and security domains are quite different in terms of practices, concepts used
and wording. As the safety and security models rely on the system architecture model,
we extract required information (e.g. functions interactions, ports and their links, data)
from the architecture model and we set up initial safety and security models in Safety
Architect. Starting from this, safety and security engineers complete their model by
adding safety and security dysfunctional behavior. The safety and security models
contain two kinds of information: the dysfunctional behavior and the properties (safety or
security) to be validated. For us, a safety dysfunctional behavior represents how errors
are propagated in the system architecture and a security dysfunctional behavior
represent how security attacks are propagated in the system architecture. And the safety
and security properties are mainly safety and security requirements that the system
architecture must satisfy (e.g. integrity of the output data must be preserved even under
specific attacks). Finally, these two models are combined to produce a formal Alloy
model containing all the necessary input. Then, the Alloy Analyzer can formally
validate the safety and security properties. If a property is violated, the Alloy Analyzer will
show a readable corresponding counter-example. This way, the engineers can identify
the best way to correct the architecture to solve this identified issue.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Melody to Safety Architect</title>
        <p>The first model transformation yields an initial Safety Architect model from the system
design model. This transformation is trivial as it only reflects the structural part of the
architecture. Melody functions are mapped to Safety Architect in functions. Ports give
input and output ports, while data links yield data links.
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Safety Architect to Alloy</title>
        <p>We now present (a fragment of) the Alloy formalization of the language used in Safety
Architect. Essentially, we define sets and relations between them: the former are called
signatures in Alloy while the latter are described as fields inside the said signatures.
First, we define a notion of status which is a signature the elements of which
represent types of failures: Absent, Err (erroneous) and Mal (malicious) while OK just
represents that no failure happened.
enum Status { OK, Err, Abs, Mal }
Then, blocks are mapped to functions endowed with possibly-many input and output
ports as well as one status which is used to represent the notion of internal failure from
Safety Architect:
Finally, ports also come with a status and can either be input or output ports. An output
port may be connected to many input ports, as expressed by the field flow:
abstract sig Port { status: Status }
abstract sig IPort extends Port {}
abstract sig OPort extends Port { flow: set IPort }
Notice that the notion of internal failure from Safety Architect is mapped to the status
in Function, although other formalizations would have been possible.</p>
        <p>Along with these signatures, we have some Alloy facts which enforce static
invariants on possible instances of this formalization. We do not describe them here as they
are rather obvious (e.g. a block should have at least one port; if two ports are connected,
then they should bear the same value and status...).
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Case study evaluation</title>
      <p>The LPV model is imported into Safety Architect modeler as shown in Fig. 4. The
objective is to have either the safety view or the security view or the combination of
both views as needed.
The safety analyses are based on logical equations using three generic failure modes
proposed by Safety Architect on each input (in green) of a block:
A Absent (Absent data while it should be present)
E Erroneous (Non correct supplied data)
U Untimely (Data supplied while it shouldn’t be)</p>
      <p>If necessary, specific failure modes can also be defined on the input. The Untimely
failure mode is defined by default but we did not use it in this case study.</p>
      <p>For example we can say for the Safety analysis (Fig. 5, left) that one of the two
ways to observe the “Erroneous” failure mode on the output “oLPVprocessing1” is to
have the “Erroneous” failure mode on the input “iLPVprocessing1” and the “Absent”
failure mode on the input “BaroAltimeter1” or the “Absent” failure mode on the input
“RNAV1”.
For security analysis, Safety Architect proposes three other generic failure modes on
each input of a block:
A Absent (Absent data due to an external attack)
M Malicious (Data injected during an external attack)
E Erroneous (Malicious detected data)</p>
      <p>Let us consider for example the security analysis of the block SBAS1 illustrated by
Fig. 5 (middle). It covers “attack 4” (an attack combining attack 1 and attack 2 scenarios
i.e. when SBAS considers a fake signal coming from GPS and one constellation signal
is scrambled). One can see that the “Erroneous” failure mode of the output “oSBAS1”
is obtained iff the “Malicious” failure mode on the input “GPS” or the “Malicious”
failure mode on the input “Galileo” holds.
5.3</p>
      <sec id="sec-5-1">
        <title>Safety and security model</title>
        <p>The safety and security model combines both the safety and security views. By default,
this is implemented as follows (but the user may modify this discretely depending on
domain knowledge):
– Failure modes with the same name are identified;
– The set of logical equations of the resulting model is the union of the sets (of logical
equations) of the safety and security views. However, if an equation in the safety
view concerns the same output port and failure mode than an equation in the
security view, there is only one resulting equation: the disjunction of both equations.
The rationale is that we want to keep the two different ways for the output port to
propagate the said failure.</p>
        <p>An example is shown in Figure 5 (right). Combining the safety and security views
in one model allows us to merge the two propagations into a unique propagation. The
latter shows the intersection between both views; it also allows the safety or the security
engineer to identify which safety or security (or both) failure modes may contribute to
the appearance of a Feared Event.
We already presented in Sect. 4.3 how Safety Architect concepts (blocks, ports, failure
modes) are translated into Alloy. We now show what is the Alloy representation of (an
excerpt of) our case study and how to specify safety and security requirements.</p>
        <p>Let us consider the block illustrated in Sect. 5.3 (SBAS1). Firstly, we have to
declare it (as a Function) and its three ports.
one sig SBAS1 extends Function {}
one sig oSBAS1 extends OPort {}
one sig iGPS_SBAS1, iGalileo_SBAS1 extends IPort {}</p>
        <p>We then express the connections between (ports of) functions as an Alloy constraint
(a conjunction of equality between ports). Then we translate the failure propagation
inside the block as Alloy facts as follows.
let oSBAS1 = { GPS = Abs and Galileo = Abs implies Lost
else GMS = Mal or Galileo = Mal implies Err
else OK }</p>
        <p>Finally, we can express requirements to check directly as Alloy assertions. Note that
from the identification of feared event in the Safety Architect model, we could easily
generate patterns of requirements that would express that no single failure leads to this
feared event, of that no attack of a certain type lead to this feared event, or that no
combination of failure and attack lead to this event, etc.</p>
        <p>For instance, the following assertion states that a fake GPS signal (attack 1 described
in Sect. 2) has no bad influence on the system (the data sent by the three displays,
represented by variables oSelectedi, are still correct).
assert fake-GPS-has-no-bad-influence {
(all f: Function | f.status=OK and GPS.status=Mal)
implies oSelected1.status = OK and oSelected2.status = OK
and oSelected3.status = OK }</p>
        <p>This requirement can be verified by Alloy Analyzer with the command
check fake-GPS-has-no-bad-influence.</p>
        <p>We have expressed and checked the safety requirements described in Sect. 2 and the
security requirement relative to the attacks described in Sect. 2 in a similar way. It turns
out that the system is robust to any single failure and to any simple attack (attack 1, 2
or 3). We also checked the consequences of any combination of two attacks: depending
on the considered combination, either the system is robust or an alarm, not represented
in this article, is launched. The same conclusion holds for any combination of an attack
and a function failure.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>In this article, we proposed a model-based approach to address safety and security
assessment of a system architecture. We proposed a way to make system engineers, safety
engineers and security engineers collaborate in order to perform safety and security
assessment in the easiest possible way.</p>
      <p>Now we see the feasibility and the interest of this approach, the next step is to
implement it. We will need to address classical but important problems, such as the
traceability between the Safety Architect models and the Melody model. For instance,
after an evolution of the system architecture performed under Melody, we will have to
ensure that the failure propagation inside blocks described with Safety Architect does
not need to be entirely redefined.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Arnold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Point</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Griffault</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Rauzy</surname>
          </string-name>
          .
          <article-title>The altarica formalism for describing concurrent systems</article-title>
          .
          <source>Fundamenta Informaticae</source>
          ,
          <volume>40</volume>
          (
          <issue>2</issue>
          ,3):
          <fpage>109</fpage>
          -
          <lpage>124</lpage>
          , Aug.
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.</given-names>
            <surname>Brunel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chemouil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mélédo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Ibanez</surname>
          </string-name>
          .
          <article-title>Formal modelling and safety analysis of an avionic functional architecture with alloy</article-title>
          .
          <source>In Embedded Real Time Software and Systems (ERTSS</source>
          <year>2014</year>
          ), Toulouse, France,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Brunel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rioux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Paul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Faucogney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Vallée</surname>
          </string-name>
          .
          <article-title>Formal safety and security assessment of an avionic architecture with alloy</article-title>
          .
          <source>In Proceedings Third International Workshop on Engineering Safety and Security Systems (ESSS</source>
          <year>2014</year>
          ), volume
          <volume>150</volume>
          <source>of Electronic Proceedings in Theoretical Computer Science (EPTCS)</source>
          , pages
          <fpage>8</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>D. G.</given-names>
            <surname>Firesmith. Engineering</surname>
          </string-name>
          safety
          <article-title>- and security-related requirements for softwareintensive systems: tutorial summary</article-title>
          .
          <source>In International Conference on Software Engineering - Volume 2 (ICSE</source>
          <year>2010</year>
          ), pages
          <fpage>489</fpage>
          -
          <lpage>490</lpage>
          . ACM Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. IEEE Architecture Working Group.
          <source>ISO/IEC/IEEE 42010 Systems and software engineering - Architecture description. The latest edition of the original IEEE Std 1471:2000, Recommended Practice for Architectural Description of Software-intensive Systems</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>D.</given-names>
            <surname>Jackson</surname>
          </string-name>
          .
          <article-title>Software Abstractions: Logic, Language, and Analysis</article-title>
          . The MIT Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bond</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Clulow</surname>
          </string-name>
          .
          <article-title>Modeling partial attacks with alloy</article-title>
          . In B.
          <string-name>
            <surname>Christianson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Crispo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Malcolm</surname>
          </string-name>
          , and M. Roe, editors,
          <source>Security Protocols</source>
          , volume
          <volume>5964</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>20</fpage>
          -
          <lpage>33</lpage>
          . Springer Berlin Heidelberg,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Reynolds</surname>
          </string-name>
          .
          <article-title>Lightweight modeling of java virtual machine security constraints</article-title>
          . In M. Frappier,
          <string-name>
            <given-names>U.</given-names>
            <surname>Glässer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khurshid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Laleau</surname>
          </string-name>
          , and S. Reeves, editors,
          <source>Abstract State Machines</source>
          , Alloy, B and
          <string-name>
            <surname>Z</surname>
          </string-name>
          , volume
          <volume>5977</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>146</fpage>
          -
          <lpage>159</lpage>
          . Springer Berlin Heidelberg,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Toahchoodee</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Ray.</surname>
          </string-name>
          <article-title>Using alloy to analyse a spatio-temporal access control model supporting delegation</article-title>
          .
          <source>Information Security, IET</source>
          ,
          <volume>3</volume>
          (
          <issue>3</issue>
          ):
          <fpage>75</fpage>
          -
          <lpage>113</lpage>
          ,
          <year>Sept 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>J.-L. Voirin</surname>
          </string-name>
          .
          <article-title>Method and tools to secure and support collaborative architecting of constrained systems</article-title>
          .
          <source>In 27th Congress of the International Council of the Aeronautical Science (ICAS</source>
          <year>2010</year>
          ),
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>J.-L. Voirin</surname>
            and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Bonnet</surname>
          </string-name>
          . Arcadia:
          <article-title>Model-based collaboration for system, software and hardware engineering</article-title>
          .
          <source>In Complex Systems Design &amp; Management</source>
          , poster workshop (CSD&amp;M
          <year>2013</year>
          ),
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>