<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Semi-Automated Tool for Requirements Trade-off Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Golnaz Elahi</string-name>
          <email>gelahi@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Yu</string-name>
          <email>yu@ischool.utoronto.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
          ,
          <addr-line>M5S 1A4</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Information, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
          ,
          <addr-line>M5S 3G6</addr-line>
        </aff>
      </contrib-group>
      <fpage>9</fpage>
      <lpage>16</lpage>
      <abstract>
        <p>In designing most systems, requirements analysts face many competing requirements, such as performance, usability, costs, and so forth. Ideally, analysts would like to quantitatively measure consequences of solutions on requirements and risks, and extract stakeholders' preferences in terms of numerical weights. However, during the early stages of requirements and system design, it is hard to quantitatively measure all factors on a similar scale and quantify stakeholders' preferences. This contribution proposes a semi-automated decision aid tool which allows the use of available but potentially incomplete quantitative and qualitative requirements and risk measures. It removed the need to elicit importance weights of requirements. Instead, stakeholders are asked how much they would relax the demand on one objective to better achieve another. The proposed tool extends the Even Swap method with formally defined rules for suggesting the next swap to decision stakeholders.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirements trade-offs</kwd>
        <kwd>qualitative decision analysis</kwd>
        <kwd>preferences</kwd>
        <kwd>quantitative data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Requirements analysts need to make key decisions early in the project, such
as which architectural or design solution to employ [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Each alternative
solution satisfies different functional and non-functional requirements to varying
extents. Selecting a solution among multiple alternatives involves making trade-offs
among requirements, with respect to stakeholders’ preferences and consequences
of alternatives on the requirements. Requirements analysts and project leaders
also require objective risk measures to select good-enough countermeasures. In
practice, however, quantifying risk factors, estimating probability and damage
of risks, and quantifying the mitigating impacts of controls is challenging and
error-prone [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Related Work: Faced with the typical absence of reliable quantitative data,
some Requirements Engineering (RE) techniques, such as i* [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Tropos [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
treat quality goals as soft goals. Goal model evaluation techniques such as [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5–7</xref>
        ],
enable reasoning about the partial satisfaction of soft goals by propagating
qualitative labels such as partially satisfied ( ), sufficiently satisfied ( ), partially
denied ( ), and fully denied ( ). In some other RE approaches, requirements
and alternatives are quantified by using ordinal measures or a probabilistic layer
for reasoning about partial goal satisfaction [
        <xref ref-type="bibr" rid="ref10 ref11 ref8 ref9">8–11</xref>
        ].
      </p>
      <p>
        Some decision analysis methods evaluate consequences of alternative
solutions in terms of precise and meaningful quantitative measures [
        <xref ref-type="bibr" rid="ref1 ref12 ref8">1, 8, 12</xref>
        ]. Some
Multi-Criteria Decision Analysis (MCDA) methods such as Analytical
Hierarchy Process (AHP) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and Even Swaps [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], circumvent the need to measure
requirements and consequences of solutions.
      </p>
      <p>Problems: The main problems when making trade-offs among requirements
to decide over alternative design solutions are:
1. Manual Prioritization: extracting stakeholders’ preferences over multiple
criteria in terms of numerical importance weights is error-prone and
laborintensive.
2. Incomparable Scales: aggregating requirements measures in different scales
is usually error-prone or not possible.
3. Extensive Data Collection: eliciting required information to make an
objective decision usually involves an extensive data collection from stakeholders.
4. Lack of Quantitative Risk Factors: quantitatively measuring the probability
and damage of all risks is challenging, if possible at all.
5. Scalability: the decision problem may become complicated and impossible
to be analyzed manually due to several requirements and/or alternatives.</p>
      <p>
        Contributions: This paper describes a decision aid tool that addresses above
problems. The tool adopts the Even Swaps multi-criteria decision analysis
approach [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] to make trade-offs among requirements. The Even Swaps is a
recently introduced decision analysis method in management science that consists
of a chain of trading one decision criterion for another. These trades are called
swapping. Swaps are even, which means stakeholders are asked to hypothetically
improve one criterion, and in return, reduce another one proportionally (evenly).
The main advantage of this method when dealing with software requirements is
that it does not require extracting numerical importance weights and
satisfaction level of all requirements on the same scale. Requirements can be evaluated
in a mixture of scales and by different measurement methods.
      </p>
      <p>
        Although the Even Swaps method solves the problem 1, 2, and 3 (mentioned
above), it can fail in practice due to scalability issues: when several software
requirements and alternative solutions need to be considered, decision stakeholders
may not be able to determine the best swap among numerous possibilities [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
The main contribution of this paper is introducing an algorithm (and tool) that:
– Semi-automates the Even Swaps process, in the sense that the process is
still interactive with stakeholders while being performed and controlled by
an automated algorithm.
      </p>
      <p>– The tool suggests which requirements to select for the next swap.</p>
    </sec>
    <sec id="sec-2">
      <title>Motivating Example</title>
      <p>
        We illustrate the use of the tool by analyzing a prototypical Digital Rights
Managements (DRM) player [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The player gets an encrypted media and given
a valid user key, decrypts the media, and decodes the digital content to an
analogue audio. The user needs to purchase an activation code for the player,
and the player only works if the activation code is valid at the time of using the
player.
      </p>
      <p>
        The DRM player contains two hard-coded credentials: Valid activation code
and Player key. A software cracker can use the DRM player without buying
activation code, either through static code analysis to extract the valid code or
by tampering the binary code to bypass the license checks. The main protection
strategies against Tampering the binary code attack are [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]:
1. Obfuscation: By obfuscating a program, the code is transformed into a form that
is more difficult for an adversary to understand or change than the original code.
      </p>
      <p>Obfuscation adds an overhead to the code which causes performance drop downs.
2. Tamper Proofing: Tamper proofing algorithms detect that the program has been
modified. Once tampering has been detected, a tamper response is executed which
usually causes the program to fail.
3. Distribution with Physical Token: Physical tokens are hardware-based protections
that try to provide a safe environment for data, code and execution. By employing
a physical token, the user needs to show possession of a token to use the software.</p>
      <p>These alternative security solutions have side-effects on other goals such as
portability, delay, and cost. The corresponding consequence table in Figure 1
contains heterogeneous data, i.e., different goals are evaluated in different scales
and by different techniques. Some of the criteria are measurable variables that
need to be minimized or maximized. For example, stakeholders are able to
estimate Delay (G3) in milliseconds based on the properties and specification of
alternatives. However, enough information is not available to quantitatively
measure the risk of tampering attack, so consequences of alternatives on the damage
and probability of this risk is evaluated in the ordinal scale of Low, Medium
Low, Medium, Medium High, and High.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Basics of the Even Swaps Method</title>
      <p>
        In an even swap, the decision analyst, collaborating with the stakeholders,
hypothetically changes the consequence of an alternative on one requirement, and
compensates this change with a preferentially equal change in the satisfaction
level of another requirement. Swaps aim to either make criteria irrelevant, in the
sense that both alternatives have equal consequences on the criteria, or create a
dominant alternative. Alternative A dominates alternative B, if A is better than
(or equal to) B on every criteria [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Irrelevant goals and dominated alternatives
can both be eliminated, and the process continues until only the most preferred
alternative remains [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>Notation Remark. A swap between two goals gx and gy that changes the
satisfaction value of gx from x to x0 and compensates this change by modifying
the satisfaction level of gy from y to y0 is written as:</p>
      <p>(gx : x → x0 ⇐⇒ gy : y → y0)
Case Study: The DRM Player Decision Scenario. We illustrate the Even
Swaps method by analyzing and comparing the first two alternatives security
solutions for the DRM player ( Figure 1):
1. Compare No security solution (A1) and Code obfuscation (A2)
2. Ask stakeholders: If the RiskDamg could be reduced from High to Medium, how
much Delay they would tolerate instead of 50 ms delay?
(RiskDamg : High → Medium ⇐⇒ Delay : 50ms →?)</p>
      <p>Stakeholders agree with increasing the Delay to 500 ms.
3. Consequences of A1 are revised based on the above swap. The revised alternative
0
is called A1, which is a virtual alternative and subsidence of A1:</p>
      <p>Consequences of A01 = {Medium, Medium, , 500ms, $0}</p>
      <p>Consequences of A2 = {Medium, Medium, , 200ms, $20K}
4. RiskP rob, RiskDamg, and Portability are irrelevant decision criteria and can be
removed:</p>
      <p>Consequences of A01 = {500ms, $0}
Consequences of A2 = {200ms, $20K}</p>
      <p>on {Delay, Cost}
5. Ask stakeholders: If the Delay could be reduced from 500 ms to 200 ms, what Cost
they would pay?
(Delay : 250ms → 200ms ⇐⇒ Cost : $0→?)</p>
      <p>Stakeholders agree to pay $10K for A1.
6. Consequences of A01 are revised based on the above swap.</p>
      <p>Consequences of A01 = {200ms, $10K}
Consequences of A2 = {200ms, $20K}</p>
      <p>on {Delay, Cost}
7. Delay is irrelevant and is removed.
8. With respect to price, A01 dominates A2.
9. A2 is removed from the problem and the process continues by applying the Swap</p>
      <p>Method to A1 and A3.
4</p>
    </sec>
    <sec id="sec-4">
      <title>The Automated Even Swaps Tool</title>
      <p>This paper introduces a semi-automated Even Swaps tool, that given a
consequence table, suggests a chain of swaps to determine the overall best alternative.
The algorithm consists of several Even Swaps cycles. In the beginning of each
cycle, the algorithm selects a pair of alternatives for the next Even Swaps
process. The algorithm suggests a chain of swaps to stakeholders intending to find
the preferred alternative in the pair. The dominant alternative is kept in the
list of solutions, but the dominated alternative is removed. The algorithm then
selects another pair of alternatives to compare and a new cycle starts. These
cycles continue until one alternative remains, which is the best solution overall.
4.1</p>
      <sec id="sec-4-1">
        <title>Automatically Suggesting Swaps</title>
        <p>The decision aid algorithm has two main goals: 1) minimizing the number of
swapping steps required to make one of the alternatives dominant, and 2)
generating swaps that are easy to make for stakeholders. Toward these goals, we
develop a set of rules in the following sections for suggesting the next swap to
stakeholders.</p>
        <p>Goal one: Minimizing the number of swapping steps: The tool minimizes
the number of swapping steps in 2 ways: 1) suggests swaps that help make one of
the alternatives dominant, and 2) reuses previously made swaps to avoid asking
repetitive swap queries from stakeholders.</p>
        <p>Rule 1: Make swaps that help toward creating a dominated alternative.
Swaps make one of the decision criteria irrelevant, which helps remove one goal
from the decision problem in each step. Removing criteria one by one is a
timeconsuming approach to apply the Even Swaps process. The tool suggests swaps
that help toward making one of the alternatives dominated. That means if an
alternative such as A is dominant for n goals like g1, g2, ... gn, and B is a better
solution only for one goal, like g, then we need to remove g by swapping it with
one of those n goals. By removing g, solution A might still be dominant with
respect to all goals (g1, g2, ... gn). However, swapping any two goals from g1,
g2, ... gn will not change the situation between A and B and neither of them
becomes dominated with respect to all relevant and remaining goals.</p>
        <p>In the Even Swaps process, between the pair of A1 and A2 in the DRM player
scenario, with respect to RiskDamg, A2 is a better solution, and with respect to
Delay and Cost, A1 is a better solution. Note that RiskP rb and P ortability are
irrelevant. To reduce the number of swaps needed in the next step, RiskDamg
must be swapped with either Delay or Cost, aiming to remove RiskDamg, so
A1 would dominate A2 with respect to all relevant goals.</p>
        <p>Rule 2: Pick the most reusable swaps. When stakeholders make a swap,
their input can be reused for another alternative, without further consultation
with human stakeholders. This reduces the number of swap queries from
stakeholders. A swap from previous steps can be reused in the current step if the
goals and their values are identical with the previous swap. Assume stakeholders
have made a swap as (gx : x → x0 ⇔ gy : y → y0) in a previous cycle. Now to
decide between two alternatives such as A and B in a different cycle, this swap
is reusable iff:
- Consequences of A on gx and gy are equal to x and y
- Consequences of B on gx is x0
Under these conditions, alternative A can be replaced with A0 where
consequences of A0 on gx and gy are revised to be x0 and y0. Thus gx becomes an
irrelevant goal and can be removed.</p>
        <p>
          Goal Two: Suggesting Easy Swaps: In addition to considering swaps
reusability, the algorithm suggests swaps that decision stakeholders would be willing to
make. Hammond et al. [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] suggest making the easiest swaps first, e.g., money
is an easy goal to swap. What would make a swap easy for stakeholders? For
example, stakeholders may easily agree to improve on a goal that is not
sufficiently satisfied and compensate it with decreasing the satisfaction level of a
requirement that is highly satisfied, to reach a balance among goals.
        </p>
        <p>In addition, if consequences of two alternatives on the first goal of the swap
are close, with an insignificant change, such a goal can become irrelevant. In
this way, the goals that do not differentiate alternatives are eliminated from
the problem earlier. The tool swaps the first goal with another goal for which
consequences of alternatives are highly differentiable, because it would be more
probable that the revised virtual alternative after applying the swap is still better
than the other alternative.</p>
        <p>Rule 3, make the easiest swap: When comparing two alternatives A and
B, two goals such as g1 and g2 are swapped where the satisfaction level of A on
g1 is minimum compared to any other goal, and the satisfaction level of g2 is
the highest level compared to other goals. We define a distance factor between
alternatives on every goal, which aggregates these desired properties into a value.
The distance factor on the goal gx is 4(A, B, gx) and calculated as:
4(A, B, gx) =
|ax − bx| + ax</p>
        <p>maxgx
where ax and bx are the consequences of A and B on gx. maxgx is the maximum
satisfaction level of gx in the consequence table, and by dividing |ax − bx| + ax
to the maximum value, distance factors of different alternatives are normalized
to values in the scale of 0 to 2.</p>
        <p>For example, the max of G4 in Figure 1 is (fully satisfied). For the goals
that need to minimized, the lower their value is, the higher the satisfaction level
would be. Thus, if the consequence of A on gx is ax, then ax is replaced with
maxgx − ax. The tool revises the satisfaction level of goals in the consequence
table in Figure 1 are as:</p>
        <p>RiskP rob
A1 Medium Low
A2 Medium Low
A3 Medium Low</p>
        <p>A4 Medium High
maxg Medium High</p>
        <p>RiskDamg</p>
        <p>0
Medium Low
Medium High
Medium High
Medium High</p>
        <p>G4
These modifications to the consequence table are only used for calculating the
distance factor. Figure 2 shows the distance factors of A1 and A2 on the goals.
(For calculations, the interval scale of Low to High is mapped to the interval
values of 1 to 5, and , , , and are mapped to 3, 2, ,1, 0.)
By applying rule 1, we concluded that RiskDamg must be swapped with
either Delay or Cost. Based on rule 3, the lowest distance factor (RiskDamg)
must be swapped with the highest distance factor (Cost).</p>
        <p>
          Rule 4, Swap goals with tangible scales: Tangible goals that are measured
in absolute values, such as costs or delays, are easier to trade [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The final
rule for suggesting the next swap is selecting goals that are measured in more
granular and tangible scales, because dealing with tangible factors is easier for
stakeholders. For example, costs in terms of money is more tangible than the
risk level expressed as Medium, Low, High. Therefore, the tool prefers goals that
are measured in absolute values to goals measured by percentages, percentages
are preferred to ordinal values, and ordinal values are preferred to qualitative
labels.
4.2
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>The Automated Swaps Suggestion Tool</title>
        <p>
          The automated Even Swaps tool takes a set of goals and a consequence table,
and in each round of the Even Swaps method, identifies a list of potential goals
to be swapped next. The list is first generated by applying rule 1. Then the list
is trimmed by only keeping the most reusable swaps (rule 2). To find the best
swap, the tool applies rule 3, and if still there are more than one possible swap
for the next step, rule 4 is applied. A demo of the proposed tool in this paper is
available at [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. The core features of the tool and a graphical user interface is
developed (in Java), and further improvements and tests are undergoing.
        </p>
        <p>Given m goals, in each round, at most m − 1 swaps are made, and for n
alternatives, at most n − 1 rounds of Even Swaps are needed. Thus, in the worst
case scenario, with m − 1 × n − 1 swaps the best solution is identified. By reusing
swaps and applying rule 1, we aim to minimize this number.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Limitations</title>
      <p>
        In this work, we adopt and enhance the Even Swaps [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] method for analyzing
trade-offs among requirements when multiple alternative design solutions satisfy
different requirements to some extent. The main contribution of this tool is
applying a set of rules for suggesting next swaps to the decision stakeholders.
The algorithm and prototype tool are able to handle different types of input
data: absolute and ordinal values in different scales.
      </p>
      <p>A threat to practicality of the tool is the diversity of evaluation scales in the
consequence table. Stakeholders may not be able to swap a goal measured in
absolute values with a goal that is evaluated by qualitative labels such as and
.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Feather</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. L.</given-names>
            <surname>Cornford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Hicks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Kiper</surname>
          </string-name>
          , and T. Menzies, “
          <article-title>A broad, quantitative model for making early requirements decisions</article-title>
          ,
          <source>” IEEE Software</source>
          , vol.
          <volume>25</volume>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>56</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Security</given-names>
            <surname>Risk Management Guide</surname>
          </string-name>
          , Microsoft Corporation:
          <article-title>Microsoft Solutions for Security and Compliance</article-title>
          and Microsoft Security Center of Excellence,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. E. Yu, “
          <article-title>Modeling Strategic Relationships for Process Reengineering,”</article-title>
          <source>Ph.D. dissertation</source>
          , University of Toronto,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , E. Nicchiarelli, and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          , “
          <article-title>Formal reasoning techniques for goal models</article-title>
          ,
          <source>” Journal of Data Semantics</source>
          , vol.
          <volume>1</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>L.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Nixon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <article-title>Non-Functional Requirements in Software Engineering</article-title>
          . Kluwer Academic,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkoff</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          , “
          <article-title>A Qualitative, Interactive Evaluation Procedure for Goaland Agent-Oriented Models</article-title>
          ,” in CAiSE Forum,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          , “
          <article-title>Goal-oriented requirements analysis and reasoning in the tropos methodology,” Eng</article-title>
          . Appl. Artif. Intell., vol.
          <volume>18</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>159</fpage>
          -
          <lpage>171</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>W.</given-names>
            <surname>Ma</surname>
          </string-name>
          , L. Liu,
          <string-name>
            <given-names>H.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Yin</surname>
          </string-name>
          , “
          <article-title>Preference model driven services selection,”</article-title>
          <source>in Proc. of CAiSE'09</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>216</fpage>
          -
          <lpage>230</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , G. Manson, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Mouratidis</surname>
          </string-name>
          , “
          <article-title>On security requirements analysis for multi-agent systems</article-title>
          .” in SELMAS'
          <volume>03</volume>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Asnar</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , “
          <article-title>Modelling risk and identifying countermeasure in organizations</article-title>
          ,”
          <year>2006</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>66</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>E.</given-names>
            <surname>Letier</surname>
          </string-name>
          and
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          ,
          <article-title>“Reasoning about partial goal satisfaction for requirements and design engineering</article-title>
          ,” in SIGSOFT '04/FSE-12,
          <year>2004</year>
          , pp.
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>H. P.</given-names>
            <surname>In</surname>
          </string-name>
          , D. Olson, and T. Rodgers,
          <article-title>“Multi-criteria preference analysis for systematic requirements negotiation,” in Proc. of the COMPSAC'02, ser</article-title>
          .
          <source>COMPSAC '02</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>887</fpage>
          -
          <lpage>892</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. T. Saaty, The Analytic Hierarchy Process, Planning, Piority Setting,
          <string-name>
            <given-names>Resource</given-names>
            <surname>Allocation</surname>
          </string-name>
          . New york:
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          ,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Hammond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Keeney</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Raiffa</surname>
          </string-name>
          ,
          <article-title>Smart choices : a practical guide to making better life decisions</article-title>
          .
          <source>Broadway Books</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>J.</given-names>
            <surname>Mustajoki</surname>
          </string-name>
          and
          <string-name>
            <surname>R. P.</surname>
          </string-name>
          <article-title>H¨am¨al¨ainen, “Smart-swaps - a decision support system for multicriteria decision analysis with the even swaps method,”</article-title>
          <string-name>
            <given-names>Decis. Support</given-names>
            <surname>Syst</surname>
          </string-name>
          ., vol.
          <volume>44</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>313</fpage>
          -
          <lpage>325</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>C.</given-names>
            <surname>Collberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Nagra</surname>
          </string-name>
          , Surreptitious Software: Obfuscation, Watermarking, and
          <article-title>Tamperproofing for Software Protection</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. (
          <year>2011</year>
          )
          <article-title>Decision analysis tool demo, release 1, dcs</article-title>
          , univ. of toronto, available at http://www.cs.toronto.edu/∼gelahi/Release1/Release1.html.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>