<!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>STS-Tool 3.0: Maintaining Security in Socio-Technical Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mattia Salnitri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elda Paja</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mauro Poggianella</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Giorgini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Trento</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we present STS-Tool 3.0: a software tool that helps security requirement engineers in maintaining high level of security in socio-technical systems. STS-Tool 3.0 allows to specify social/organizational security requirements and to enforce them in part of the implementation of socio-technical systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Socio-technical systems are an interplay of social (human and organizations) and
technical subsystems, which interact with one another to reach their objectives. Examples of
socio-technical systems are smart cities, air traffic management systems and payment
systems, i.e. systems where banks, payment services and e-shops interact to transfer
monetary values.</p>
      <p>Subsystems in socio-technical systems are autonomous, heterogeneous and weakly
controllable, but they highly depend on each other. For example, in the payment system
the banks and payment services are autonomous but without interacting with each other,
both of the systems will not be able to transfer monetary values.</p>
      <p>In such interconnected environment is central maintaining a high level of security:
a security issue of one subsystem may cause a chain reaction and impact many other
subsystems. For example, in a payment socio-technical system, a security issue on the
information integrity of the payment orders in one of the banks might compromise the
entire system: all the banks and payment services that use the compromised bank may
have received payment orders containing unauthorized modifications.</p>
      <p>Therefore, it is essential maintaining the level of security specified by the
stakeholders, i.e. being sure that security requirements are enforced in socio-technical systems’
implementation.</p>
      <p>
        In previous work [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], we have proposed a framework for specifying security
requirements, checking their enforcement in business processes executed in such
systems and generating a part of the implementation. Specifically, the framework permits
to: (i) specify social-organizational security requirements; (ii) generate, from
socialorganizational models, business processes, i.e., specifications of how subsystems
operate and interact; (iii) generate procedural security policies from social-organizational
security requirements; (iv) verify security policies against business processes; (v)
generate part of the implementation. We provide methodological guidance for each and
every activity. The detailed process and phases are presented in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        In this paper we illustrate STS-Tool 3.0, the tool that supports the framework
proposed in [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. Specifically, the paper describes how STS-Tool 3.0 supports each
phase and the salient new features of STS-Tool 3.0.
      </p>
      <p>The paper is structured as follows. Section 2 introduces the architecture and the
implementation of STS-Tool 3.0, while Section 3 describes the content of the
demonstration. Section 4 contains the related work and Section 5 concludes.
2</p>
    </sec>
    <sec id="sec-2">
      <title>STS-Tool 3.0: architecture and implementation</title>
      <p>STS-Tool 3.0 has the ambitious objective of supporting the generation of the
implementation of socio-technical systems that enforces of social/organizational security
requirements.</p>
      <p>Such security requirements are based on high-level of abstraction concepts, such
as goals/objectives of actors and delegation of goals/objectives, but, due to the
conceptual gap between these concepts and the implementation, it is not possible to directly
generate the code that enforces the security requirements.</p>
      <p>
        STS-Tool 3.0 uses business process models to bridge the conceptual gap. It
generates business processes, from social/organizational models, that are refined by security
requirement engineers and then it transforms such business processes in the
implementation. Specifically it uses using STS-ml [
        <xref ref-type="bibr" rid="ref4 ref7">4, 7</xref>
        ], a goal-based modeling language, for
social/organizational models, and SecBPMN2-ml [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], a modeling language for business
processes and security, for business process models.
      </p>
      <p>The generation of a secure implementation of socio-technical systems needs
business processes that enforce the social/organizational security requirements. STS-Tool
3.0 verifies the enforcement of security requirements by transforming them in security
policies, i.e., security requirements in terms of business process elements, and it verifies
such policies against the business processes.</p>
      <p>STS-Tool 3.0 extends version 2.0, with a number of features, the most relevant are
specified below:
– generation of business processes from the social/organizational perspective;
– generation of procedural security policies from social/organizational security
requirements;
– verification of business processes against procedural security policies;
– generation of part of implementation of socio-technical system.
Model
editors</p>
      <p>Model
transformers
Automated
reasoners</p>
      <p>STS-ml
editor</p>
      <p>SecBPMN2-ml
editor</p>
      <p>SecBPMN2-Q</p>
      <p>editor
SecBPMN2-ml
generator</p>
      <p>SecBPMN2-Q</p>
      <p>generator</p>
      <p>STS-ml
consistency
verifier</p>
      <p>SecBPMN2
enforcement</p>
      <p>verifier
SecBPMN2-ml editor It permits to specify and to modify business processes with
security aspects, using SecBPMN2-ml. This components extends BPMN2 Modeler1: an
Eclipse2 plug in for drawing BPMN 2.0 diagrams
SecBPMN2-Q editor It permits to model security policies using SecBPMN2-Q. This
component, like SecBPMN2-ml editor, extends BPMN2 Modeler.</p>
      <p>SecBPMN2-ml generator It automatically generates SecBPMN2-ml diagrams from
STS-ml diagrams. SecBPMN2-ml diagrams are generated already filled with
SecBPMN2-ml elements that can be derived from STS-ml diagram.</p>
      <p>SecBPMN2-Q generator It generates SecBPMN2-Q security policies from security
requirements specified in STS-ml diagram.</p>
      <p>Transformation rules editor This component permits to visualize and modify
transformation rules, i.e. set of rules used to generate the SecBPMN2-ml and SecBPMN2-Q
models from, respectively, STS-ml models and the list of social/organizational security
requirements.</p>
      <p>
        SecBPMN2 enforcement verifier It is a verification engine that verifies if
SecBPMN2Q security policies are enforced in SecBPMN2-ml business processes. It generates a list
of SecBPMN2-ml elements that do not satisfy the security policy and a list of STS-ml
elements that are connected to the business process that does not satisfy the security
policy. These elements are highlighted in the editors to facilitate their identification.
River generator It generates part of socio-technical system implementations. The
component uses River [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a scripting language for specifying business artifacts and the
business logic associated to such artifacts. The generated code implements the
management of the data used in the business processes. STS-Tool 3.0 does not generate
the functional part of the implementation, i.e. the part of the implementation that
executes the actions modelled by the activities of the business processes. The information
contained in the strings which identify each activity, is not enough to generate the
implementation that execute the activity. For further details, see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
1 https://www.eclipse.org/bpmn2-modeler/
2 https://www.eclipse.org
2.1
      </p>
      <p>
        SecBPMN2 enforcement verifier component
The SecBPMN2 enforcement verifier, described in this subsection, is the core part of
STS-Tool 3.0. We used DLV K [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for verifying SecBPMN2-ml business processes
against SecBPMN2-Q security policies. DLV K is a planner: a software engine, based
on DLV [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], that generates plans, i.e., sequences of actions, that achieve a set of goals
and do not violate given constraints. We transformed business processes in constraints
and security policies in goals. Therefore, if DLV K generates a plan, the security
policies are satisfied against the business processes. For further details see [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>Figure 2 shows the architecture of the component: grey boxes are software
components, white boxes are input/output artifacts, while dashed arrows connect the
inputs/outputs of the component to internal components.</p>
      <p>STS
project</p>
      <p>SecBPMN2-Q
diagram</p>
      <p>STS-ml
diagram</p>
      <p>SecBPMN2-ml
diagram</p>
      <p>Mapping</p>
      <p>STS-ml</p>
      <p>SecBPMN2</p>
      <p>SecBPMN2
enforcement verifier</p>
      <p>SecBPMN2-Q</p>
      <p>Parser</p>
      <p>SecBPMN2-ml</p>
      <p>Parser
Mapping
SecBPMN2</p>
      <p>Goal</p>
      <p>Plan</p>
      <p>Knowledge</p>
      <p>Base
DLV software
engine</p>
      <p>Configuration
parameters
Output parser</p>
      <p>Strategy</p>
      <p>List
SecBPMN2ml elements</p>
      <p>Mapper</p>
      <p>STS-ml
List STS-ml
elements</p>
      <p>SecBPMN2 enforcement verifier receives in input STS project that is composed of:
STS-ml diagram, SecBPMN2-ml diagram, SecBPMN2-Q diagram and Mapping
STSml-SecBPMN2. The latter part of the input contains the links between STS-ml elements
and SecBPMN2-ml elements. It is created during the generation of SecBPMN2-ml
diagrams from STS-ml diagrams. SecBPMN2-ml parser receives in input a
SecBPMN2ml diagram and it creates a Plan and the Knowledge base, i.e., the list of elements
of the business process. Similarly SecBPMN2-Q parser component receives in input
a SecBPMN2-Q diagrams and it creates a set of Goals. The DLV software engine has
1
6
Requirements</p>
      <p>document
strict limitations on the names of the variables and constants, therefore, the
SecBPMN2ml parser and SecBPMN2-Q parser generate names that are compliant with the DLV
limitations and store in a file called Map IDs SecBPMN2 the relations between the name
of activities, in SecBPMN2-ml diagrams, and the generated names. The DLV software
engine checks the Goal against the Plan using the Knowledge based and it generates,
if possible, a plan, i.e. a list of actions. Output parser uses the MapIDs SecBPMN2 to
generate, from the plan, a sequence of SecBPMN2-ml elements that, if executed, will
satisfy the security policies. Finally, Mapper STS-ml uses the list and Mapping
STS-mlSecBPMN2 to generate the list of STS-ml elements.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Demonstration content</title>
      <p>We illustrate STS-Tool 3.0 with the payment engine example (Example 1) following
the phases of the process shown in Fig. 3.</p>
      <p>River
projects</p>
      <p>SecBPMN2-Q
security policy</p>
      <p>
        Example 1 (Payment Engine). SAP Payment Engine (PE) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] is a software system
created to perform payments for e-commerce shops or, more in general, for services
that allow users to pay with electronic methods. Usually, to support the electronic
payments, the e-shops implement interfaces to communicate with all the banks they intend
to use as source/destination of the payments. But each bank requires a different set of
protocols and security measures. Therefore the e-shops are forced to put a noticeable
amount of effort to implement different interfaces, and for medium/small companies it
is not acceptable investing large quantity of time and money just to allow people to pay
the goods/services they offer. The PE minimizes such effort: it contains a set of
interfaces with the most known banks in the word that can be used out of the shelf. E-shop
Model Social/
organizational
security aspects
2
      </p>
      <p>Tranform S/O</p>
      <p>model in
procedural model</p>
      <p>Model procedural
security aspects
STS-ml
Diagram</p>
      <p>SecBPMN2-ml</p>
      <p>Diagram
Enforce
procedural
security aspects</p>
      <p>Verify security 5
policies against
procedural
aspects</p>
      <p>Transform
security
requirements in
security policies
3
4</p>
      <p>STS-ml
security
requirements
programmers only have to create one interface to transmit the required data to the PE
system. The payment system is a socio-technical system since it involves customers,
banks, the PE, etc., which interact with each other to perform payments.
Phase 1 It supports the modeling of socio/organizational aspects of the socio-technical
system under consideration. Figure 4 shows a screen shot of STS-Tool 3.0 with an
STS-ml diagram in the upper part. Such modelling language focuses on representing
the main stakeholders (e.g. PE and Bank in Fig. 4), their objectives, as well as their
interactions (e.g. Fig. 4 the objective Transfer performed is delegated from the PE to
Bank). Most importantly, it captures security requirements. For example, in Fig. 4 Auth
(authorization) and Ava (availability) security requirements are specified.
Phase 2 It deals with the transformation of social/organizational models to business
processes, receiving in input a social/organizational diagram and generating a procedural
diagram of the system-to-be. STS-Tool 3.0 uses SecBPMN2-ml as modelling language
for business process with security aspects. It permits to model participants (e.g., PE and
Bank in SecBPMN2-ml diagram shown in Fig. 4) that execute activities (e.g., Perform
transfer in Fig. 4) and exchange messages (e.g. Transfer order in Fig. 4). Such
modeling language permits to specify security concepts using security annotations, such as the
orange solid circle in Fig. 4 that represents confidentiality of the message transmitted
in the communication between the two participants.</p>
      <p>Phase 3 Social/organizational models do not contain the information required to
generate complete SecBPMN2-ml models. Therefore, this phase is executed to enrich the
SecBPMN2-ml models generated by phase 2 with details such as the temporal aspects
and security choices on the executed processes.</p>
      <p>Phases 1-3 are repeated until security requirement engineers decide they have captured
all important (security) details and the procedural model is complete and accurate.
Phase 4 It generates procedural security policies from social/organizational security
requirements. This phase permits to translate security requirements, defined in terms
of social/organizational concepts, in more operational constraints, as the ones specified
in security policies. STS-Tool 3.0 uses SecBPMN2-Q as modeling language for
security policies. Figure 4 shows an example of SecBPMN2-Q diagram. Such modelling
language extends SecBPMN2-ml, since it permits to use relations such as path,
represented with a dashed arrow in Fig. 4.</p>
      <p>Phase 5 It deals with the verification of procedural security policies, generated in phase
4, against the procedural model, enriched in phase 3. This phase validates
SecBPMN2ml models by verifying if they enforce the security requirements specified in the
social/organizational model. If all security policies are enforced, then the security
requirement engineers have the proof that the procedural model meets the security
requirements. If the procedural model does not satisfy all procedural security policies,
the process starts from the beginning.</p>
      <p>
        Phase 6 It consists in generating part of the implementation from the enriched and
verified procedural model. The resulting application will enforce the social/organizational
security requirements, because social/organizational security requirements define the
security policies that are verified against the procedural model. Therefore, because the
transformation enforces all the security aspects defined in the procedural model, the
implementation can be considered secure. For further details, see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
A number of software tools, e.g., [
        <xref ref-type="bibr" rid="ref1 ref17 ref2">17, 1, 2</xref>
        ], can be used by security requirement
engineers for specifying or for designing part of secure socio-technical systems. For
example Secure Tropos [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and STS-Tool 2.0 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] are focused on specifying security
requirements at social/organizational level. While other software tools, such as
Adonis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or SNP-BPA [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] are focused on the analysis of business processes. For what
concerns the implementation of business processes, Altova [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Alfresco [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
permit to define and execute business processes executed both by technical components
and humans. But they do not generate part of the implementation: they, instead, call a
service for each activity that is not executed by humans.
      </p>
      <p>As far as our knowledge goes, no software tool assists security requirement
engineers in enforcing security requirements from their early specification until the
implementation in socio-technical systems.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and future work</title>
      <p>
        STS-Tool 3.0 is ready for public use. This version of the tool is the result of an
iterative development process, having been tested on multiple case studies and evaluated
with practitioners [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. It has proven suitable to model and reason over models of a
large size from different domains [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ], such as Air Traffic Management Control
and Telecommunications. Future work about STS-Tool 3.0 includes: (i) integration of
other languages for the generation of the implementation of socio-technical systems;
(ii) implementing a plug in management system that allows for adding functionalities
to STS-Tool 3.0.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgement</title>
      <p>This research was partially supported by the ERC advanced grant 267856, ‘Lucretius:
Foundations for Software Evolution’, www.lucretius.eu.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Adonis</given-names>
            <surname>Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.boc-group.com/it/products/adonis/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Alfresco</given-names>
            <surname>Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.alfresco.com.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Altova</given-names>
            <surname>Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.altova.com.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , E. Paja, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          . Security Requirements Engineering via Commitments.
          <source>In STAST'11</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Faber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Pfeifer, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          .
          <article-title>Planning under incomplete knowledge</article-title>
          .
          <source>In CL '00</source>
          , pages
          <fpage>807</fpage>
          -
          <lpage>821</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          , G. Pfeifer,
          <string-name>
            <given-names>W.</given-names>
            <surname>Faber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <given-names>S.</given-names>
            <surname>Perri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Scarcello</surname>
          </string-name>
          .
          <article-title>The DLV system for knowledge representation and reasoning</article-title>
          .
          <source>ACM Trans. Comput. Logic</source>
          ,
          <volume>7</volume>
          (
          <issue>3</issue>
          ):
          <fpage>499</fpage>
          -
          <lpage>562</lpage>
          ,
          <year>July 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>E.</given-names>
            <surname>Paja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>Managing Security Requirements Conflicts in SocioTechnical Systems</article-title>
          . In ER '
          <volume>13</volume>
          , pages
          <fpage>270</fpage>
          -
          <lpage>283</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>M.</given-names>
            <surname>Salnitri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brucker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini. From Secure Business Process Models to Secure</surname>
          </string-name>
          Artifact-Centric Specifications.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Salnitri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>Modeling and Verifying Security Policies in Business Processes</article-title>
          .
          <source>BPMDS '14</source>
          , pages
          <fpage>200</fpage>
          -
          <lpage>214</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Salnitri</surname>
            , E. Paja, and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>Preserving compliance with security requirements in socio-technical systems</article-title>
          .
          <source>In Proc. of CSP</source>
          , pages
          <fpage>49</fpage>
          -
          <lpage>61</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>M. Salnitri</surname>
            , E. Paja, and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>From socio-technical requirements to technical security design: an sts-based framework</article-title>
          .
          <source>Technical report</source>
          , DISI - University of Trento,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Salnitri</surname>
            , E. Paja, and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Giorgini</surname>
          </string-name>
          .
          <article-title>Maintaining secure business processes in light of sociotechnical systems' evolution</article-title>
          .
          <source>Technical report</source>
          , DISI - University of Trento,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. SAP Payment Engine Website.
          <source>Last visited March</source>
          '
          <volume>15</volume>
          . www.sap.com/ servicessupport/svc/custom-app-development/cnsltg/prebuilt/payment-engine/index.html.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>SAP</given-names>
            <surname>SE. SAP River Developer</surname>
          </string-name>
          <string-name>
            <surname>Guide</surname>
          </string-name>
          ,
          <year>2014</year>
          .
          <source>Document Version 1</source>
          .
          <fpage>0</fpage>
          - 2014-08-21, SAP HANA SPS 08, revision 82.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>SNP-BPA Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.snp-bpa.com.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>STS-Tool Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.sts-tool.eu.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>Tropos</given-names>
            <surname>Website</surname>
          </string-name>
          . Last visited May '
          <volume>15</volume>
          . http://www.troposproject.org.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>