<!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>Extending Software Development Methodologies to Support Trustworthiness-by-Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nazila Gol Mohammadi</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Torsten Bandyszak</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sachar Paulus</string-name>
          <email>s.paulus@hs-mannheim.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Per Håkon Meland</string-name>
          <email>per.h.meland@sintef.no</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thorsten Weyer</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Klaus Pohl</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mannheim University of Applied Sciences</institution>
          ,
          <addr-line>Paul-Wittsack-Straße 10, 68163 Mannheim</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SINTEF ICT</institution>
          ,
          <addr-line>Strindveien 4, N-7465 Trondheim</addr-line>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>paluno - The Ruhr Institute for Software Technology, University of Duisburg-Essen</institution>
          ,
          <addr-line>45127 Essen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>People are increasingly concerned about the trustworthiness of software that they use when acting within socio-technical systems. Ideally, software development projects have to address trustworthiness requirements from the very early stages of development using constructive methods to enable trustworthiness-by-design. We analyze the development methodologies with respect to their capabilities for supporting the development of trustworthy software. Our analysis reveals that well-established development methodologies do not specifically support the realization of trustworthy software. Based on findings, we propose a generic mechanism for extending development methodologies by incorporating process chunks that represent best practices and explicitly address the systematical design of trustworthy software. We demonstrate the application of our approach by extending a design methodology to foster the development of trustworthy software for socio-technical systems.</p>
      </abstract>
      <kwd-group>
        <kwd>Trustworthiness</kwd>
        <kwd>Trustworthiness-by-design</kwd>
        <kwd>Software Development Methodology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Trustworthiness is a major issue for the development of software-intensive
sociotechnical systems [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. For instance, for the users of today’s web applications and
services it becomes increasingly difficult to track or control who stores personal and
business-critical data. Thus, software-intensive systems need to be trustworthy to
address concerns of their users and thereby foster the trust in these systems.
Understanding how to address trustworthiness in early design phases is crucial for the
successful development of software systems. Software development methodologies and
processes should address the different challenges of engineering trustworthy software.
Trustworthiness is an important quality that needs to be engineered. There is a strong
dependency between the degree of trustworthiness an information system exhibits and
the suitability of the applied development methodology [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        There are limited contributions that approach the trustworthiness issues other than
those related to security. Most existing approaches assume that one-dimensional
properties of services lead to trustworthiness of such services, and even to trust in it
by users, such as a certification (e.g., Common Criteria [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), the presence of certain
technologies (e.g., encryption), or the use of certain methodologies (e.g., SSE-CMM
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). In contrast, the Trusted Software Methodology [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] as a comprehensive and
holistic methodology that explicitly focuses on trustworthiness is not flexible, since it is
based on a certain development process. Though in principle the application of any
development process model may result in trustworthy products, commonly used and
well-established methodologies, such as user-centered [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or test-driven development
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], do not specifically foster the systematic establishment of trustworthiness
properties within the system. In order to address this gap, we believe that specific techniques
and developer guidance should be defined as generic and reusable process building
blocks. Defining reusable process chunks that can be integrated into well-established
development methodologies instead of defining yet another development
methodology brings flexibility, enables a powerful process modeling tool support, and reduces
the complexity of tailoring already established development processes.
      </p>
      <p>
        First, we review and analyze well-established software development
methodologies by studying their characteristics that are promising to build trustworthy
information systems, and the ones indicating improvement potential. In this paper, we
build upon an outline of our approach sketched in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and provide a generic
mechanism for enhancing software development by incorporating process chunks that
explicitly address and enable trustworthiness-by-design. In particular, we propose an
extension of the Software Process Engineering Meta-model (SPEM) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which allows
for integrating and tailoring certain “trustworthy” process chunks into different
development methodologies. These capability patterns can represent a broad range of
trustworthiness-related practices, such as the preparation for run-time maintenance
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. As an example, we analyzed the User-Centered Design (UCD) methodology [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
with respect to trustworthiness potentials and drawbacks as an example. Based on
these findings, we demonstrate our approach by exemplarily extending the UCD
process model.
      </p>
      <p>The remainder of this paper is structured as follows: Section 2 provides a brief
overview on the fundamental notions of trust and trustworthiness of STS. Section 3
presents our approach for extending development methodologies by
trustworthinessby-design capabilities and illustrates its application by showing how a popular
engineering methodology can be extended to support trustworthiness-by-design. Section 4
summarizes the paper and gives an outlook on future work.
2</p>
      <p>
        Fundamentals and Related work
Trust is defined as “a bet about the future contingent actions of others” [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Regarding software-intensive socio-technical systems (STS), which include humans,
organizations, and the information systems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the scope of this definition can be broadened
in order to include these systems as potential trustees. Because of delegation of tasks
to STS, it can be said that the trustworthiness of such systems is a key concern that
needs to be fostered and even engineered into these systems to maintain high levels of
trust within society. Trustworthiness requirements are project-specific, and depend on
domain and application. Software trustworthiness is highly dependent on the
prescribed, yet evolving, set of requirements, technical decisions, and management
decisions throughout the development process life cycle. A comprehensive list of
trustworthiness attributes (e.g., correctness, reliability, safety, usability, security) should
be taken into consideration when developing trustworthy software [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Hence, we
focus on a multitude of software quality attributes that contribute to trustworthiness as
analyzed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For example, trustworthiness may be evaluated with respect to the
availability, confidentiality and integrity of stored information, the response time, or
accuracy of outputs [
        <xref ref-type="bibr" rid="ref12 ref13 ref14">12, 13, 14</xref>
        ].
      </p>
      <p>
        To the best of our knowledge, the Trusted Software Methodology (TSM) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is the
only comprehensive approach that describes processes and guidance for engineering
and assessing trustworthy software. It covers multiple quality attributes, and focuses
on processes instead of evaluating development artifacts. TSM provides a set of Trust
Principles, which describe established development practices or process
characteristics that enhance software trustworthiness. A development process can be assessed by
means of five different levels of trustworthiness, according to the conformance to the
trust principles. This also constitutes the basis for process improvement with respect
to trustworthiness. Though the principles constitute general best practices, the
methodology, however, is assumed to be applied following a military standard for software
development [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. In contrast, our focus is on enhancing a broad spectrum of general
software development methodologies in order to incorporate the consideration of
trustworthiness and use them to create trustworthy software.
      </p>
      <p>
        Yang et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] review a set of software development methodologies in order to
derive a meta-model for trustworthy development processes. They define process
trustworthiness as “the degree of confidence that the software process produces expected
trustworthy work products that satisfy their requirements” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The meta-model
includes, for example, trustworthy products that depend on a trustworthy process. It also
depicts the connection to trustworthiness requirements. For modeling process
trustworthiness, they adopt the Process Area concept from CMMI [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] and extend it by
the Trust Principles, then constituting Trustworthy Process Areas (TPAs) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The
TPAs, in turn, can be refined by three categories, i.e. regarding trustworthiness
assurance, trustworthiness monitoring, and trustworthiness engineering process areas.
Thus, the approach covers the whole system life-cycle. Yang et al. also present their
efforts towards designing a comprehensive Trustworthy Process Management
Framework, which e.g., additionally involves a measurement model based on metrics
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In contrast, our approach relies on the SPEM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which provides a meta-model for
describing software development processes. In our approach, we will use the Delivery
Process and Capability Pattern concepts from SPEM. Capability patterns are process
building blocks that are independent of specific process phases, and represent best
development practices to be incorporated into a process [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The Delivery Process and
Capability Pattern concepts originate from the SPEM. SPEM provides adequate
concepts that allow for describing capability patterns on a fine-granular level, i.e.
assigning concrete tasks, responsible roles, guidance, or involved artifacts.
      </p>
      <p>
        The concepts introduced can be compared to the work of Yang et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. However,
we propose a different structure and different concepts, e.g., using SPEM capability
patterns instead of CMMI process areas (cf. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]), or combining design and
assessment in one meta-model.
3
      </p>
      <p>
        Integrating Trustworthiness-by-Design in Development
Methodologies
Characteristics of Trustworthiness-by-Design Processes. In order to incorporate
the notion of trustworthiness-by-design into development methodologies, we consider
and extend the SPEM meta-model [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] by specializing the Delivery Process concept so
that it subsumes trustworthiness-by-design processes. We also utilize the concept of
Capability Patterns. We define a Trustworthy Product (i.e. work product,
development artifact) as a product that holds a range of its trustworthiness attributes for
satisfying its trustworthiness requirements. Fig. 1 shows a corresponding ontology for
Trustworthiness-by-Design Processes. The meta-model presented here shows the
concepts that we have introduced in addition to SPEM (highlighted in grey in Fig. 1),
specifically: Trustworthiness-by-design Process is a specialization of a delivery
process and contains a set of capability patterns. A properly applied
trustworthiness-bydesign process will create a Trustworthy Product that exhibits certain trustworthiness
attributes to meet its Trustworthiness Requirements. Trustworthiness requirements
specify requirements that a Trustworthy Product should fulfill. Assessment Model
verifies if the trustworthiness requirements have been met. Metrics could be used to
evaluate the products. Trustworthiness Evidence is some kind of evidence to show
that a trustworthiness-by-design process has been followed. Though this will not
guarantee trustworthiness, it is at least an indication that planned measures have been
taken into account to ensure it.
      </p>
      <p>
        We define capability patterns that particularly address trustworthiness to improve
existing design process models. For describing capability patterns, we provide the
necessary content, e.g., concrete tasks, responsible roles, guidance, and involved
artifacts [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>An exemplary capability pattern for trustworthiness-by-design is the identification
of threats and mitigating controls. This capability pattern involves analyzing system
models or specifications in order to anticipate risks that might corrupt the system’s
trustworthiness across the whole life-cycle (e.g., also considering system operation).
To provide tool support for designing, tailoring and sharing trustworthy development
processes, we use the Eclipse Process Framework (EPF1), which has an underlying</p>
      <p>Eclipse Process Framework Project (EPF), http://www.eclipse.org/epf/
meta-model based on SPEM. The EPF is a customizable software process-engineering
framework for authoring, tailoring, and deploying development processes. All our
capability patterns are organized in a plug-in that can be imported into any EPF
project, which again can be exported to online process handbooks.</p>
      <p>Content
Element</p>
      <p>Describable</p>
      <p>Element</p>
      <p>Guidance
Deliverable
Outcome
Artifact</p>
      <p>Role
Task
performs</p>
      <p>CapabilityPattern
Trustworthinessby-Design Process
WorkProduct
Trustworthy
WorkProduct</p>
      <p>depends
Trustworthy</p>
      <p>Product
+trustworthiness
Attributes</p>
      <p>Phase
Iteration
Process
Delivery
Process
has</p>
      <p>Method
Element</p>
      <p>Work</p>
      <p>Definition</p>
      <p>Activity
Trustworthiness</p>
      <p>Requirement</p>
      <p>Trustworthiness</p>
      <p>Evidences
evaluated by
Assessment</p>
      <p>
        Model
based on
Extending the User-centered Design Methodology. The nature of engineering of
trustworthy systems is different from simply engineering usable software. The key
here is that trustworthiness is a subjective value judgment of stakeholders in a STS.
There is a need to understand what trustworthiness attributes of the system will
enhance the trust of a stakeholder in that system and how system design can thus help to
circumvent any distrust-related concerns that the stakeholders have about the service.
This makes it necessary to not only elicit requirements with respect to the way in
which people will use the system, as would be done in a standard UCD [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] process,
but also to draw up a set of requirements about which trustworthiness attributes will
address the potential trust issues that the end users of the system highlight.
      </p>
      <p>In order to assess the product with respect to the satisfaction of trustworthiness
requirements the overall structure of the UCD approach can remain the same, with the
only difference that in the process, besides usability and usefulness, trust and
trustworthiness needs are specifically addressed.</p>
      <p>We suggest the following extensions of the four major phases of the UCD
methodology:
• In the initial specify context of use phase (Phase 1 in Fig. 2), a usability expert
elicits from the future end users what the potential trust concerns are that they have
with respect to using the system.
• In the specify user requirements phase (Phase 2 in Fig. 2), these concerns can then
be turned into use case descriptions of situations in which the trust issues become
apparent to the user. To this end, the Trustworthiness Capability Pattern
“Identification of threats and mitigation controls” should be incorporated into UCD. By
means of the involved analysis tools, threats to trustworthiness can be derived. It
should also be determined which controls can be applied in the design to mitigate
the identified trustworthiness and trust issues.
• The produce design solutions phase (Phase 3 in Fig. 2) should then implement
(e.g., in a prototype) the identified trustworthiness requirements.
• The “Measurement of end-to-end trustworthiness” capability pattern can enhance
the evaluation against requirements phase by providing appropriate metrics and
measurement approaches to validate that the system satisfied the required
trustworthiness level (this can enhance Phase 4 in Fig. 2).</p>
      <p>
        Name: User-Centered Design Process
Description: User-centered design processes [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] consist of the following general phases:
1) Knowledge elicitation and attempt at understanding the context of use;
2) Defining user requirements;
3) Prototyping the system and
4) Evaluation, which provides input for the refinement of the design.
      </p>
      <p>This process model is generally used iteratively and by going through the process multiple
times, developers converge on a user-friendly system.</p>
      <p>Elements interesting for trustworthiness:
• User-centered design is a specialization of incremental development and therefore shares
the same trustworthiness characteristics.
• By using an incremental user-centered process, it is possible that throughout the design
process the design is validated to establish whether the trustworthiness attributes designed
into the system appropriately address any concerns with respect to trust that the system
users might have.</p>
      <p>Improvement potential:
• Documenting trustworthiness requirements and thereafter generation of trustworthiness
evaluation results for explicit documentation of trustworthiness evidences in order to
support designers when making design decisions. Additionally, these documents bring
awareness about the designed system to the end-users.
• Involvement of end-user to derive their trustworthiness expectations and to evaluate the
system design towards the satisfaction of those expectations.</p>
      <p>Usability for modeling trustworthiness: The user centered design processes are unrelated
to trustworthiness modeling. Only the use of modeling techniques in general for a user
centered design will enable to also model trustworthiness requirements.
Existing software design methodologies have some capacities in ensuring security and
a few other trustworthiness attributes. However, the treatment of a complete set
trustworthiness attributes and requirements in software development is not yet well
studied. We analyzed development methodologies for trustworthy development.</p>
      <p>As a result, we concluded that none of them fully assures or addresses the
development of trustworthy software. Consequently, individual activities, so-called
“trustworthy development practices”, must be identified and tailored into these processes in
order to proceed towards systematically developing trustworthy software. The
concept and an initial set of reusable, trustworthiness-enhancing process chunks in the
form of Capability Patterns have been introduced. We have observed that the usage of
appropriate trustworthiness capability patterns increases the confidence that the
software development processes will result in trustworthy software.</p>
      <p>Our work is still in progress, and the main ideas and findings will be further
investigated. Further work is needed to evaluate the recommended extensions to these
2 Based on http://www.sapdesignguild.org/editions/edition10/ucd_overview.asp
methodologies, how to combine capability patterns and investigate how
trustworthiness attributes can be treated in a measurable and comparable way.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Whitworth</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Brief Introduction to Socio-technical Systems</article-title>
          .
          <source>In: Encyclopedia of Information Science and Technology</source>
          , pp.
          <fpage>394</fpage>
          -
          <lpage>400</lpage>
          . IGI Global (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Gol</given-names>
            <surname>Mohammadi</surname>
          </string-name>
          , N.;
          <string-name>
            <surname>Paulus</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ; Bishr,
          <string-name>
            <given-names>M.</given-names>
            ;
            <surname>Metzger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ;
            <surname>Könnecke</surname>
          </string-name>
          ,
          <string-name>
            <surname>H.</surname>
          </string-name>
          ; Hartenstein,
          <string-name>
            <surname>S.</surname>
          </string-name>
          ; Weyer,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Trustworthiness Attributes and Metrics for Engineering Trusted Internet-based Software Systems</article-title>
          .
          <source>In: Cloud Computing and Service Science</source>
          <year>2013</year>
          (
          <article-title>Selected Papers from CLOSER)</article-title>
          , CCIS, Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Process Trustworthiness as a Capability Indicator for Measuring and Improving Software Trustworthiness</article-title>
          .
          <source>In: Trustworthy Software Development Processes, Int'l. Conf. on Software Process. LNCS</source>
          , vol.
          <volume>5543</volume>
          , pp.
          <fpage>389</fpage>
          -
          <lpage>401</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. International Organization for Standardization:
          <source>ISO 15408-1</source>
          ,
          <string-name>
            <given-names>Common</given-names>
            <surname>Criteria</surname>
          </string-name>
          , Information technology --
          <string-name>
            <surname>Security</surname>
          </string-name>
          techniques -
          <article-title>- Evaluation criteria for IT security</article-title>
          .
          <source>International Standard</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. International Organization for Standardization: ISO/IEC 21827,
          <string-name>
            <surname>Information</surname>
            <given-names>technology</given-names>
          </string-name>
          ,
          <source>Security techniques, Systems</source>
          Security Engineering -- Capability Maturity Model® (SSECMM®).
          <source>International Standard</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sutcliffe</surname>
            ,
            <given-names>A. G.</given-names>
          </string-name>
          :
          <article-title>Convergence or Competition between Software Engineering and Human Computer Interaction</article-title>
          . In:
          <string-name>
            <surname>Human-Centered Software Eng</surname>
          </string-name>
          .
          <article-title>- Integrating Usability in the Software Development Lifecycle, Human-Computer Inter</article-title>
          . Series, vol.
          <volume>8</volume>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>84</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <source>Software Engineering. 9th Edition</source>
          , Pearson, Boston (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Gol</given-names>
            <surname>Mohammadi</surname>
          </string-name>
          , N.;
          <string-name>
            <surname>Bandyszak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Paulus</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ; Håkon Meland,
          <string-name>
            <surname>P.</surname>
          </string-name>
          ; Weyer,
          <string-name>
            <given-names>T.</given-names>
            ;
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Extending Development Methodologies with Trustworthiness-By-Design for SocioTechnical Systems</article-title>
          ,
          <source>In: Proceedings 7th Int'l. Conf. TRUST</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. Object Management Group: Software &amp;
          <string-name>
            <surname>Systems Process Engineering Meta-Model</surname>
            <given-names>Specification</given-names>
          </string-name>
          ,
          <source>Version 2.0. Technical Report</source>
          , Object Management Group (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bandyszak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ; Gol Mohammadi, N.;
          <string-name>
            <surname>Bishr</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Goldsteen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Moffie</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Nasser</surname>
            ,
            <given-names>B. I.</given-names>
          </string-name>
          ; Hartenstein,
          <string-name>
            <given-names>S.</given-names>
            ;
            <surname>Meichanetzoglou</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Cyber-Physical Systems Design for Runtime Trustworthiness Maintenance Supported by Tools</article-title>
          .
          <source>In: 1st Int'l. Workshop on Requirements Engineering for Self-Adaptive systems and Cyber Physical Systems</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Sztompka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Trust:
          <string-name>
            <given-names>A Sociological</given-names>
            <surname>Theory</surname>
          </string-name>
          . Cambridge University Press (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Avizienis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laprie</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Randell</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Landwehr</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Basic Concepts and Taxonomy of Dependable and Secure Computing</article-title>
          .
          <source>In: IEEE Transactions on Dependable and Secure Computing</source>
          , vol.
          <volume>1</volume>
          issue
          <issue>1</issue>
          ,
          <fpage>11</fpage>
          -
          <lpage>33</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gómez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carbó</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benac-Earle</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>An Anticipatory Trust Model for Open Distributed Systems</article-title>
          .
          <source>In: Anticipatory Behavior in Adaptive Learning Systems. LNCS</source>
          , vol.
          <volume>4520</volume>
          , pp.
          <fpage>307</fpage>
          -
          <lpage>324</lpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Yolum</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          :
          <article-title>Engineering Self-Organizing Referral Networks for Trustworthy Service Selection</article-title>
          .
          <source>In: IEEE Trans. on Systems, Man and Cybernetics</source>
          ,
          <string-name>
            <surname>Part</surname>
            <given-names>A</given-names>
          </string-name>
          : Systems and Humans vol.
          <volume>35</volume>
          no.
          <issue>3</issue>
          ,
          <fpage>396</fpage>
          -
          <lpage>407</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. U.S. Department of Defense: Trusted Software Methodology,
          <source>SDI-SD-91-000007, Volumes 1 and 2</source>
          .
          <string-name>
            <given-names>Technical</given-names>
            <surname>Report</surname>
          </string-name>
          , U.S. Department of Defense, Strategic Defense Initiative Organization (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Software Engineering Institute: Capability Maturity Model®
          <article-title>Integration for Software Engineering</article-title>
          , Version 1.1.
          <string-name>
            <surname>Technical</surname>
            <given-names>Report</given-names>
          </string-name>
          , Software Engineering Institute, Carnegie Mellon University (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>