<!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>On the Transition from Design Time to Runtime Model-Based Assurance Cases</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ran Wei</string-name>
          <email>ran.wei@york.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tim Kelly</string-name>
          <email>tim.kelly@york.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Model Driven Engineering, Models at Runtime, Structured Assur-</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Reich</string-name>
          <email>jan.reich@iese.fraunhofer.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simos Gerasimou</string-name>
          <email>simos.gerasimou@york.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fraunhofer Institute for Experimental</institution>
          ,
          <addr-line>Software Engineering (IESE)</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of York</institution>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>ance Case Metamodel, System Assurance</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <abstract>
        <p>System assurance cases are used to demonstrate confidence in system properties of interest (e.g. safety and/or security). They are key artefacts for safety and/or security acceptance for systems before they become operational. Cyber-Physical Systems (CPS) form a new technological frontier for their vast economic and societal potentials in various domains. CPS are often safety-critical systems. Thus, their safety and/or security need to be assured using system assurance cases. However, due to the open and adaptive nature of CPS, the need for system assurance at runtime is imperative. Therefore, assurance cases are expected to be exchanged, integrated and verified at runtime to ensure the dependability of CPS when they intend to execute a cooperative behaviour. In this position paper, we identify the importance of model-based system assurance, we discuss the paradigm shift of assurance cases from being manually created artefacts to (semi-)automatically created models. We discuss the application of model-based assurance cases in ensuring the dependability of CPS.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>CCS CONCEPTS</title>
      <p>• General and reference → Reliability;</p>
    </sec>
    <sec id="sec-2">
      <title>INTRODUCTION</title>
      <p>
        Systems/services used to perform critical functions require
justiifcations that they exhibit necessary properties (i.e. safety and/or
security). Assurance cases provide an explicit means for justifying
and assessing confidence in these critical properties. An assurance
case is a document that facilitates information exchange between
various system stakeholders (e.g. between operator and regulator),
where the knowledge related to the safety and/or security of the
system is communicated in a clear and defendable way [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Assurance cases are key artefacts for safety/security acceptance for
systems/services before they become operational.
      </p>
      <p>
        The physical and digital worlds are gradually merging into a
largely connected globe. This is backed by the emergence of
concepts such as Cyber-Physical Systems (CPS). Openness and
adaptivity are core properties of CPS as constituent systems dynamically
connect to each other and have to adapt to a changing context at
runtime [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. CPS harbour the potential for vast economic and
societal impact in domains such as automotive, health care, and home
automation due to their open and adaptive nature [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The majority
of application domains of CPS are safety-critical, such as car2car
scenarios and collaborative autonomous mobile systems. If these
systems fail, they may cause harm and lead to temporary collapse
of important infrastructures, with catastrophic consequences for
industry and society. Therefore, it is imperative to ensure the
dependability of CPS in order to realise their full potential. However,
the open and adaptive nature of CPS poses significant challenges
to assuring such systems, as it is nearly impossible to anticipate
the concrete CPS structure, its capabilities and the environmental
context suficiently at design time.
      </p>
      <p>Therefore, existing design time system assurance activities are
inappropriate to enable dynamic system assurance for CPS at
runtime. Thus, a paradigm shift for system assurance activities from
design time to runtime is needed to assure dependability properties
of CPS. One important aspect of this shift is the transition from
design time assurance cases crafted from manually created
documents to runtime assurance case models being (semi-)automatically
synthesized and evaluated.</p>
      <p>In this position paper, we discuss the notion of assurance cases
and the importance of a model-based approach in system assurance,
motivated by open adaptive safety-related systems. We discuss the
state of practice in system assurance cases and the importance of
system assurance case models@runtime for CPS. We discuss in
detail our vision of runtime system assurance cases and how they
help CPS to reason about the safety and/or security at runtime
by themselves. We point out potential research directions towards
model-based system assurance at runtime.
2</p>
    </sec>
    <sec id="sec-3">
      <title>ASSURANCE CASES</title>
      <p>
        The concept of assurance cases has been long established in the
safety-related domain, where the term safety case is normally used.
For many industries, the development, review and acceptance of a
safety case are key elements of regulatory processes. This includes
the nuclear [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], defence [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], civil aviation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and railway [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
industries. The concept of safety case is defined in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as follows: A safety
case communicates a clear, comprehensible and defensible argument
that a system is acceptably safe to operate in a particular context.
      </p>
      <p>
        Historically, safety arguments were typically communicated in
safety cases through free text. However, problems are experienced
when text is the only medium available for expressing complex
arguments [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. One problem of using free text is that if the
language used in the text is unclear and poorly structured, there is no
guarantee that system engineers would produce safety cases with
clear and well-structured language. To overcome these problems,
graphical argumentation notations were developed. Graphical
argumentation notations are capable of explicitly representing the
elements that form a safety argument (i.e. requirements, claims,
evidence and context), and the relationships between these elements
(i.e. how individual requirements are supported by specific claims,
how claims are supported by evidence and the assumed context
that is defined for the argument). Amongst the graphical notations,
the Goal Structuring Notation (GSN) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] has been widely accepted
and adopted [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The key benefit experienced by
companies/organisations of adopting GSN is that it improves the comprehension of
the safety argument amongst all key project stakeholders, therefore
improving the quality of the debate and discussion amongst the
stakeholders and reducing the time taken to reach agreement on
the argument approaches being adopted. An example safety case
created using GSN is provided in Figure 1, which comes from the
European Train Control System (ETCS) engineering story of the
DEIS project [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. It demonstrate that graphical argumentation
notations make it easier to identify safety goals and evidence/artefacts
that satisfy those goals.
      </p>
      <p>
        The concept of structured argumentation is also used in other
domains, particularly for demonstrating system security [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Thus,
the term Assurance Case is a broader definition, that an assurance
case is used to demonstrate confidence in system safety and/or
security.
3
      </p>
    </sec>
    <sec id="sec-4">
      <title>MODEL-BASED ASSURANCE CASES</title>
      <p>In the current state of practice, assurance cases are manually created
documents rather than models. This is due to the nature of the
intended usage of assurance cases – that they are meant to be
reviewed by safety/security experts and are used to improve the
quality of discussion.</p>
      <p>
        In recent years there has been a tendency for system assurance
tools to adopt Model-Driven Engineering (MDE) in order to benefit
from improved eficiency and consistency provided by MDE. In
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], the authors identified the need for model-based solutions for
      </p>
      <p>SACM
Base</p>
      <p>AssuranceCase
Artifact</p>
      <p>Argumentation</p>
      <p>Terminology
GSN pattern instantiation. GSN patterns are abstract safety case
templates which capture good practice of system assurance, and
can be instantiated by linking system information (model) with
the elements in the GSN pattern to create a concrete safety case.
The authors proposed the use of an intermediate model called the
weaving model to link external model elements with GSN model
elements for pattern instantiation.</p>
      <p>
        To promote standardisation and interoperability, the Object
Management Group (OMG) specified and issued the Structured
Assurance Case Metamodel (SACM) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. SACM provides a sound solution
for model-based system assurance case construction, in the sense
that it provides mechanisms to model evidence and related
information used in a structured assurance case. As shown in Figure 2,
SACM provides packages that allow practitioners to group their
structured argumentations (via the Argumentation package),
corresponding evidences (via the Artifact package) and controlled
languages (via the Terminology) into atomic packages, and
incorporates them into assurance case packages. In this sense, SACM
is more powerful than GSN for its ability to reference and relate
various kinds of artefacts (e.g. system design models) and its ability
to use controlled vocabularies.
      </p>
      <p>In summary, in the current state of practice, assurance cases are
still manually created design time documents to certify the safety
and/or security of systems. There are tools that adopt MDE to aid
the creation of assurance cases. The Structured Assurance Case
Metamodel (SACM) is still in its infancy and there is currently no
tool available implementing SACM.
4</p>
    </sec>
    <sec id="sec-5">
      <title>THE NEED FOR MODEL-BASED</title>
    </sec>
    <sec id="sec-6">
      <title>ASSURANCE CASES AT RUNTIME</title>
      <p>It can be seen that MDE factors in approaches for system assurance
mainly focusing on exploiting the benefits of MDE for improved
eficiency and automation. However, the increasing complexity of
Cyber-Physical Systems (CPS) boosts the need for model-based
approaches for system assurance. The premise of pervasive
applications of CPS to realise its economic and societal impact is that
the safety and/or security of CPS are ensured, so that failures of
such systems do not cause damage of diferent severities (ranges
from moderate to catastrophic).</p>
      <p>CPS are typically loosely connected systems and come together
as temporary configurations of constituent systems, which dissolve
and give place to other configurations. Therefore, the configurations
a CPS may assume over its lifetime are unknown and potentially
infinite. This makes currently available approaches for system
assurance insuficient to assure the safety and/or security of CPS, due
to the fact that system assurance activities are typically required at
runtime for CPS.</p>
      <p>
        Runtime system assurance for CPS has been identified as one
of the major challenges towards the application of CPS [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. One
common vision toward runtime system assurance is the exchange
of models@runtime, which is the upcoming paradigm for the
development of CPS. As it is not possible to anticipate the runtime
context for CPS at design time, Models@Runtime follows the idea
of making important models available at runtime in order to enable
the system itself to reflect on its current (safety) state based on
monitoring the runtime context. By generating context-awareness
in this manner, potentially required adaptation strategies can be
planned and executed in order to maintain safe or achieve optimized
CPS behaviour.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the authors identified models on four abstraction levels,
which can be exchanged at runtime, as shown in Figure 3. The
most abstract model that CPS can exchange are safety certificate
models. The idea of certification at runtime was introduced in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
Safety certificates at runtime describe a formal safety interface
using contract-like interface specifications defining, which safety
properties can be guaranteed by the system under the assumption
that specific safety demands are fulfilled by the integration context.
In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], the authors introduce a concrete form of runtime safety
certificates called Conditional Safety Certificates (ConSerts), which
are modular and contract-based definitions of safety certificates
factoring in variants through Boolean mappings between diferent
sets of safety guarantees and demands.
      </p>
      <p>Sometimes it is imperative to know at runtime, how a CPS
reaches the conclusion that the safety properties provided at
runtime are guaranteed. In such cases, it is necessary to exchange
assurance case models at runtime, such that the argumentation
leading to the guarantees of the safety properties can be accessed
and reviewed in an automated way.</p>
      <p>In case the system adaptations lead to invalid evidence, a
revalidation of evidence can be triggered at runtime. This implies that
a set of pre-defined V&amp;V (Verification &amp; Validation) activities need
to be performed at runtime. V&amp;V models can be used to execute
V&amp;V activities (regression testing, generation of test cases, etc.)
at runtime. However, it is a significant challenge to have V&amp;V
models at runtime, typically because it is a rather dificult step for
developers at development time, the dificulties to shift this step to
runtime would be multi-fold. In addition, it is almost impossible
AssuranceCasePackageInterface
AssuranceCasePackageBinding
+interface
0..*
+participantPackage 2..*
0..*
+assuranceCasePackage
+terminologyPackage Terminology::TerminologyPackage</p>
      <p>0..*</p>
      <p>Base::ArtifactElement
+implements 1</p>
      <p>AssuranceCasePackage
+argumentPackage 0..*</p>
      <p>Argumentation::ArgumentPackage
+artifactPackage 0..*</p>
      <p>Artifact::ArtifactPackage
to perform extensive V&amp;V activities at runtime, provided that real
time requirements may be in place for CPS.</p>
      <p>If requirements are modified at development, from a safety
engineering perspective, Hazard Analysis and Risk Assessment
activities (HARA) need to be performed. Hence, the idea of HARA
models at runtime. However, since HARA is a very creative process
and often relies on the experience of system safety experts, it is
very unlikely that HARA can be performed at runtime.</p>
      <p>Apart from the works previously mentioned on safety certificate
models at runtime, no work has been done in the line of assurance
case models at runtime. This is due to the fact that system engineers
still perceive assurance cases as design time artifacts. However, as
discussed in this section, the need for assurance case models at
runtime is imperative.
5</p>
    </sec>
    <sec id="sec-7">
      <title>SACM TOWARDS RUNTIME ASSURANCE</title>
    </sec>
    <sec id="sec-8">
      <title>CASE MODELS</title>
      <p>In this section, we discuss the intended usage of Structured
Assurance Case Metamodel (SACM) since we have been involved, to
a large extent, in the specification of SACM, and it has not been
suficiently explained since the release of SACM v2.0.</p>
      <p>In SACM, an assurance case model contains a number of
packages as shown in Figure 4. SACM organises assurance cases in
packages to promote modularity. An assurance case package can
contain a number of argument packages, artifact packages and
terminology packages. Argument packages store information about
the argumentation part of an assurance case, where
safety/security claims are broken down into sub claims until they are directly
backed by evidence. Evidence used in the argument packages can be
modeled and organised in artifact pakcages. For example, a hazard
analysis model can be recorded in an artifact package, the user may
also specify when the analysis is performed, who participated in
the analysis process and what techniques are used in the process.</p>
      <p>SACM also provides the mechanisms to create controlled natural
languages so that the users can establish a finer grade of reference
to system models. The terminology package of SACM provides
the mechanisms to create Expressions, Categories and Terms. An
example of controlled language is shown in Figure 5. The upper
part of the figure is a claim: Hazard H1 is suficiently mitigated.
In this claim, the user can refer to expression elements in their
terminology packages. For example, Hazard may refer to a
Category in the terminology package, which in turn points to a hazard
log meta-model through its externalReference property. In this way,
hazard log meta-model provides a definition of what a Hazard is.
Then, hazard H1 can refer to a Term in the terminology package,
which in turn refers to an instance hazard log model (that conforms
to the hazard log meta-model). The hazard log model may then
contain information on how H1 is identified, its causes and
consequences, etc. The Expression suficiently mitigated is recorded in
the terminology package so that it can be reused. The user is also
free to add any explanatory information to the Expression so that it
better explains what suficiently mitigated means. Finally, an overall
Expression which references the three previous elements is created.
This expression can be referenced in the argumentation package
(e.g. as a description of a Claim).</p>
      <p>SACM promotes modularity, in the sense that elements are
organised in diferent packages. To refine modularity, SACM provides
three diferent types of packages. Figure 6 shows a segment of the
meta-model for the argument package of SACM, illustrating the
three types of packages in the argumentation package of SACM.
ArgumentPackage is the main package in which structured
argumentation is stored. The users can disclose part of the argumentation
externally with the use of ArgumentPackageInterfaces. To do this,
in ArgumentPackageInterfaces, citation elements need to be
created which cite to original elements in ArgumentPackages. Figure 7
shows a segment of SACM for the citation mechanism. All
SACMElements have the capability of citing other SACMElements via the
+citedElement reference. If an element cites another, it automatically
becomes abstract and citation via its +isAbstract and +isCitation
features. ArgumentPackageInterface only contains citation elements,
it should be enforced by constraints on the meta-model.</p>
      <p>
        An example use of ArgumentPackageInterface is illustrated in
Figure 8, this example is taken from the DEIS project [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for the
ETCS (European Train Control System) use case. The ETCS use case
contains a CPS examined in the DEIS project, which consists of two
major constituent systems at runtime: the on-board system which
is installed on trains and the trackside system, which is installed on
important nodes at the track side (such as stations and junctions).
The left-hand side of the figure shows the ArgumentPackage of
the ETCS on-board system (only top level Claim is shown here).
The right-hand side of the figure shows the
ArgumentPackageInterface, where a citation Claim is created to cite Claim C1 in the
ArgumentPackage.
      </p>
      <p>ArgumentPackageBinding is used to bind ArgumentPackages
together by referencing elements stored in their
ArgumentPackageInterfaces. To integrate ArgumentPackages, integration engineer needs
to create an ArgumentPackageBinding, and create again citation
elements in the ArgumentPackageBinding, which in turn cite the
elements in ArgumentPackageInterfaces from the
ArgumentPackages. An example of the use of ArgumentPackageBinding is shown
in Figure 9.
The upper part of Figure 9 is the ArgumentPackage of the ETCS
on-board system, and the lower part of Figure 9 is the
ArgumentPackage of the ETCS Trackside system. The
ArgumentPackageBinding (rendered in yellow) is created to bind the ArgumentPackages
of the ETCS parts. Within the ArgumentPackageBinding, an overall
Claim C3 is created, which are backed by the citation Claims C1
and C2, which in turn cites the citation Claims in ETCS On-board
safety case and ETCS Trackside safety case, respectively.</p>
      <p>The use of packages, interfaces and bindings are the key
mechanisms for the integration of SACM packages. All packages (artifact,
terminology, argument and assurance case) can be integrated using
this approach.</p>
      <p>For assurance case models created using SACM to be exchanged
at runtime, there is also a need for automated system integration.
At the moment, arguments in assurance cases are described
using natural language. To enable automation, machine-processable
languages needs to be incorporated in the argument in assurance
cases. With regards to this need, in SACM v2.0 the notion of
MultiLangString is introduced. Using MultiLangString enables the user to
describe one claim using diferent languages, including computer
languages. This gives the possibility of automated reasoning for
safety cases.</p>
      <p>In addition, for CPS to integrate, there is also a need to express
supply and demand of services for CPS. The supply of service is
provided by default in assurance cases, as assurance cases created
using SACM are able to relate to system models. To express demand
of services, SACM enables the users to create Claims with
declarations. For example, to express demand, a Claim can be declared as
needsSupport. To quantify demand and supply, SACM enables the
user to also create ImplementationConstraints and associate them
to elements in the assurance case. By using
ImplementationConstraints, system assurance engineers are able to express what kind
of guarantees are provided/needed.</p>
      <p>The DEIS project, which aims at assuring the dependability of
CPS, uses SACM as the backbone for its core concept - the Open
Dependability Exchange (ODE) meta-model. The ODE is a versatile
meta-model, which enables CPS developers to capture various
aspects of CPS, including architecture models, HARA models, failure
logic models as well as assurance case models (via usage of SACM).</p>
      <p>In our vision, the runtime integration of two CPS (A and B)
includes the following steps:
(1) Exchange of assurance case interfaces for CPS A and CPS
B, which includes the demand/supply of services, as well as
the guarantees needed/provided for these services;
(2) If CPS A questions the soundness of the guarantees provided
by CPS B, CPS B would provide its assurance case;
(3) CPS A performs reasoning of the assurance case of CPS B;
(4) If the assurance case of CPS B is sound, connection between
CPS A and CPS B will be established. An assurance case
binding will be created and maintained locally for both CPS
A and CPS B until they decide to disconnect from each other;
(5) If CPS A continues to question the soundness of the
assurance case of CPS B, CPS B can choose to send further
evidence, such as related architecture or failure logic models
(6) If the evidence provided by CPS B is sound, step (4) will be
performed. Otherwise, the adaptation process ends.</p>
    </sec>
    <sec id="sec-9">
      <title>6 CONCLUSION</title>
      <p>In this paper, we talked about the need to shift assurance cases from
conventionally design time documents to automatically exchanged
and integrated runtime models for CPS. We discussed and presented
our knowledge on the Structure Assurance Case Metamodel and
how it can be used to create model-based assurance cases.</p>
      <p>SACM lays a foundation for system assurance of CPS at runtime.
Assurance case models for CPS are living models in the sense that
monitoring devices provide essential evidence for assurance cases
and the validity of the assurance cases are constantly verified.</p>
      <p>In case an assurance case is invalidated, the CPS carrying it
should make note of it. Therefore, it is anticipated that a CPS would
carry a repository of assurance cases, which helps CPS developers
to better understand what goes wrong at runtime.</p>
      <p>CPS system assurance is a new research frontier and has gained
increasing popularity in recent years. Runtime assurance cases
provide a promising solution for assuring safety-related CPS. The
MRT community should be aware of the complexity of CPS and
the need for assurance case models at runtime.</p>
      <p>Acknowledgements This work is supported by the European
Union’s Horizon 2020 research and innovation programme through
the DEIS project (grant agreement No 732242).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Richard</given-names>
            <surname>Hawkins</surname>
          </string-name>
          , Ibrahim Habli, Tim Kelly,
          <string-name>
            <given-names>and John</given-names>
            <surname>McDermid</surname>
          </string-name>
          .
          <article-title>Assurance cases and prescriptive software safety certification: A comparative study</article-title>
          .
          <source>Safety science</source>
          ,
          <volume>59</volume>
          :
          <fpage>55</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Mario</given-names>
            <surname>Trapp</surname>
          </string-name>
          , Daniel Schneider, and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Liggesmeyer</surname>
          </string-name>
          .
          <article-title>A safety roadmap to cyber-physical systems</article-title>
          .
          <source>In Perspectives on the future of software engineering</source>
          , pages
          <fpage>81</fpage>
          -
          <lpage>94</lpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Ran</given-names>
            <surname>Wei</surname>
          </string-name>
          , Tim P Kelly, Richard Hawkins, and
          <string-name>
            <given-names>Eric</given-names>
            <surname>Armengaud</surname>
          </string-name>
          . Deis:
          <article-title>Dependability engineering innovation for cyber-physical systems</article-title>
          .
          <source>In Federation of International Conferences on Software Technologies: Applications and Foundations</source>
          , pages
          <fpage>409</fpage>
          -
          <lpage>416</lpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <article-title>[4] Health and Safety Executive (HSE). Safety Assessment Principles for Nuclear Facilities</article-title>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>UK</surname>
          </string-name>
          <article-title>Ministry of Defence (MoD)</article-title>
          .
          <source>Defence Standard 00-56 Issue 4: Safety Management Requirements for Defence Systems</source>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Safety</given-names>
            <surname>Regulation Group Civil Aviation</surname>
          </string-name>
          <article-title>Authority (CAA)</article-title>
          .
          <source>CAP 670 - Air Trafic Services Safety Requirements</source>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Rail</given-names>
            <surname>Safety</surname>
          </string-name>
          and
          <string-name>
            <given-names>Standards</given-names>
            <surname>Board</surname>
          </string-name>
          .
          <source>Engineering Safety Management (The Yellow Book)</source>
          .
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Tim</given-names>
            <surname>Kelly</surname>
          </string-name>
          and
          <string-name>
            <given-names>Rob</given-names>
            <surname>Weaver</surname>
          </string-name>
          .
          <article-title>The goal structuring notation-a safety argument notation</article-title>
          .
          <source>In Proceedings of the dependable systems and networks 2004 workshop on assurance cases, page 6</source>
          .
          <string-name>
            <surname>Citeseer</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>GSN</given-names>
            <surname>Working Group Online - The Goal</surname>
          </string-name>
          Structuring Notation. http://www. goalstructuringnotation.info/. Accessed:
          <fpage>26</fpage>
          -
          <lpage>04</lpage>
          -
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Paul</given-names>
            <surname>Chinneck</surname>
          </string-name>
          , David Pumfrey,
          <string-name>
            <given-names>and Tim</given-names>
            <surname>Kelly</surname>
          </string-name>
          .
          <article-title>Turning up the heat on safety case construction</article-title>
          .
          <source>In Practical Elements of Safety</source>
          , pages
          <fpage>223</fpage>
          -
          <lpage>240</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Robin</given-names>
            <surname>Bloomfield</surname>
          </string-name>
          and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Bishop</surname>
          </string-name>
          .
          <article-title>Safety and assurance cases: Past, present and possible future-an adelard perspective</article-title>
          .
          <source>In Making Systems Safer</source>
          , pages
          <fpage>51</fpage>
          -
          <lpage>67</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Richard</surname>
            <given-names>Hawkins</given-names>
          </string-name>
          , Ibrahim Habli, Dimitris Kolovos, Richard Paige, and
          <string-name>
            <given-names>Tim</given-names>
            <surname>Kelly</surname>
          </string-name>
          .
          <article-title>Weaving an assurance case from design: a model-based approach</article-title>
          .
          <source>In High Assurance Systems Engineering (HASE)</source>
          ,
          <source>2015 IEEE 16th International Symposium on</source>
          , pages
          <fpage>110</fpage>
          -
          <lpage>117</lpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Structured</given-names>
            <surname>Assurance Case Metamodel</surname>
          </string-name>
          , Object Management Group. https://www. omg.org/spec/SACM/About-SACM/. Accessed:
          <fpage>06</fpage>
          -
          <lpage>04</lpage>
          -
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>John</given-names>
            <surname>Rushby</surname>
          </string-name>
          .
          <article-title>Runtime certification</article-title>
          .
          <source>In International Workshop on Runtime Verification</source>
          , pages
          <fpage>21</fpage>
          -
          <lpage>35</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Schneider</surname>
          </string-name>
          and
          <string-name>
            <given-names>Mario</given-names>
            <surname>Trapp</surname>
          </string-name>
          .
          <article-title>A safety engineering framework for open adaptive systems</article-title>
          .
          <source>In Self-Adaptive and Self-Organizing Systems (SASO)</source>
          ,
          <year>2011</year>
          Fifth IEEE International Conference on, pages
          <fpage>89</fpage>
          -
          <lpage>98</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>