<!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>Similarity-based Reasoning with Quality Goals</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Feng-Lin Li</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lin Liu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Mylopoulos</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alibaba Corp.</institution>
          ,
          <addr-line>Hangzhou</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Tsinghua University</institution>
          ,
          <addr-line>Beijing</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Trento</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>1674</volume>
      <fpage>13</fpage>
      <lpage>18</lpage>
      <abstract>
        <p>During the years, softgoals have enjoyed much attention in the requirement engineering (RE) community for handling non-functional requirements (NFRs). As pointed out by RE researchers in recent years, softgoal may not be the right concept for non-functional requirements since it also captures early functional requirements (FRs) that are vaguely defined, e.g., “increase profit”. Alternatively, quality goals have been proposed. However, existing reasoning techniques on softgoals also have some deficiencies and can not be directly adopted: qualitative approaches lack sufficient accuracy and expressiveness for decision making, while the numbers used in existing quantitative procedures are subjective. This paper proposes a two-staged approach to tackle the problem of reasoning with quality goals: in the first stage we measure the satisfaction of leaflevel quality goals based on prototype values and graded membership, and in the second stage we propagate the satisfaction degree using similarity measurement. Our approach aims to address the aforementioned issues in the current reasoning procedures of quality goals.</p>
      </abstract>
      <kwd-group>
        <kwd>Quality Goals</kwd>
        <kwd>Satisfaction Analysis</kwd>
        <kwd>Graded Membership</kwd>
        <kwd>Similarity Measurement</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Non-functional requirements (NFRs) have been commonly acknowledged as a
critical class of requirements in RE as it significantly influences user satisfaction
and the success of software/services. In the RE community, many techniques
were proposed for dealing with NFRs, and goal-oriented approaches have been
argued to be the major effort in dealing with NFRs in depth [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In goal-oriented requirements engineering (GORE), requirements are
captured as goals that represent state-of-affairs in the world and need to be brought
about by a system-to-be, and non-functional requirements are captured as
softgoals that are vague for success. As one of the key concepts in the NFR
Framework [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and i * [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], softgoal has been popular in dealing with NFRs since its
proposal in the 90’s. However, it turns out that non-functional requirements are
not always “soft”, e.g., “the processing time of a product search shall be less than
1 second” is clear for success. On the other hand, early functional requirements
can also be vague, e.g., “help administers to resolve problems”.
      </p>
      <p>
        That is, softgoals constitute a useful abstraction for early requirements, both
functional and non-functional, rather than just non-functional ones [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. To
address this issue, we have proposed to treat NFRs as qualities and capture them
as quality goals (QGs) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Also, we have proposed a syntax for representing, a
set of operators and a systematic process for refining quality goals [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Copyright © 2016 for this paper by its authors. Copying permitted for private and academic purposes.</p>
      <p>
        With goal-oriented techniques, the AND/OR structure of goal models
naturally lends itself to an analysis of goal satisfaction [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], which has been advocated
to be able to facilitate design decision and alternative selection. During the
years, many goal-oriented frameworks and accompanying reasoning procedures
have been proposed (e.g., the NFR Framework [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], i * [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and Tropos [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]).
However, these techniques are not flawless and can not be directly adopted to our
quality goals. For example, the qualitative procedures in the NFR Framework
and i * lack sufficient expressiveness as they use only five levels of satisfaction
labels and linear aggregation in their propagation rules (e.g., minimum of AND),
and the quantitative procedure in Tropos needs the numbers that indicate the
satisfaction of leaf-level goals to be assigned subjectively and manually.
      </p>
      <p>In this work, we focus on goal satisfaction analysis, more specifically, the
forward satisfaction analysis of quality goals. We propose a two-staged reasoning
procedure: first, we measure the satisfaction of leaf-level QGs based on prototype
values and graded membership; then, we propagate the satisfaction of lower-level
QGs to higher-level QGs based on similarity measurement.</p>
      <p>The rest of this paper is organized as follows. Section 2 briefly reviews related
work on goal satisfaction analysis, Section 3 describes our treatment of NFRs as
requirements referring to qualities, Section 4 presents the two-staged reasoning
procedure, Section 5 concludes the paper and offers suggestions for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        In general, goal satisfaction analysis can be categorized into two classes:
qualitative and quantitative [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The former approach uses qualitative labels to represent
the satisfaction of goals, e.g., satisfied, partially satisfied, unknown, partially
denied, and fully denied, and the contribution strength of a goal to another, e.g.,
help, hurt, make and break. The latter uses numeric values within an interval,
e.g., [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], to represent the satisfaction of and the contribution among goals.
      </p>
      <p>
        Both qualitative and quantitative approaches use some propagation rules to
propagate initial satisfaction labels of lower-level goals to higher-level ones. For
example, the NFR Framework [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] propagates the minimum value for AND
contributions and the maximum value for OR. Quantitative procedures differ from
qualitative ones by assigning numeric values to the satisfaction degree of goals
and the contribution strength of links, then calculating a (normalized) linear
combination of their arithmetic products (multiplying the satisfaction value of
contributing goals by its contribution strength) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. A comprehensive comparison
over goal satisfaction analysis procedures is conducted in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>In our observation, the aggregation from the satisfaction of lower-level goals
to that of higher-level ones is often non-linear. For example, supposing that we
have a softgoal “enjoyable trip” being AND-decomposed into “low cost”,
“enjoyable activities” and “delicious food”, how about if we finally have “enjoyable
activities” and “delicious food” but a “high cost”? It is probably not the minimum
satisfaction value in this case, at least for some classes of users.</p>
      <p>
        A second issue here is how to determine the satisfaction degree of leaf-level
goals, which are often manually assigned in existing qualitative and quantitative
approaches. Letier et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] have also argued against the subjective numbers
used in quantitative approaches, and proposed an approach to reasoning over
the probabilistic satisfaction of non-functional properties. We agree that
probabilistic satisfaction is an important characteristic of NFRs, but we also should
not leave out the gradability of NFRs. For example, if we require the cost of a
trip to take less than 600 Euros, how about it turns out to be 620 Euros?
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>The Theory – NFRs as Qualities</title>
      <p>
        Our treatment of NFRs [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is based on the Unified Foundational Ontology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]:
a quality (e.g., “cost#1”, the cost of a trip) is taken as a mapping function that
maps the subject it inheres in (e.g., “trip#1”, the particular trip) to a value (e.g.,
“550e”), and an NFR is a requirement that requires the value of a quality to be
in a desired region (e.g., “the cost of a trip shall be low”).
      </p>
      <p>
        Vague NFRs are captured as quality goals (QGs) and denoted in the form of
“Q (SubjT ) :: QRG”, which is an abbreviation for “ 8q 2 Q; x 2 SubjT; inheres_
in(q; x) ! has_value_in(q; QRG)”. Using this syntax, the trip example can be
captured as a QG “ Cost (T rip) :: Low”, which is vague and will be further
operationalized as a quality constraint (QC) “ Cost (T rip) :: 600 (Euros)”,
meaning that “for each trip, its cost shall be low (less than 600 Euros)”. Note
that QCs share the same syntax with QGs, but have measurable regions [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        QGs can be refined via its quality, subject, desired region, or a combination
of them [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Two kinds of operators, namely reduce and operationalize, are used
to refine a QG: the former refines a QG (resp. QC) to a set of QGs (resp. QCs),
and the latter operationalizes a QG to a set of QCs. In the case there is only one
element in the resulting set, the refinement is akin to a classical OR; if there is
more than one resulting element, then the refinement emulates a classical AND.
      </p>
      <p>
        We show some example snippets of QG refinement in Fig. 1. There are two
points to be noted. First, we allow alternative operationalizations of a QG. This
is particularly useful when dealing with context, which is captured as part of
the subject of a QG, e.g., a low cost trip means differently to professors versus
students. Second, we do not allow refinements from QCs, which are specification
elements, to QGs, which represent requirements, because our main purpose is
to turn informal stakeholder requirements into an eligible specification; we do
support refinements of QCs to QCs after operationalization (e.g., weakening [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]).
Op: Operationalize
Rd: Reduce
: Joint Point (multi elements)
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Reasoning with Quality Goals</title>
      <p>
        This section presents a two-staged reasoning procedure for the satisfaction
analysis of quality goals. The first stage is previous work on measuring the satisfaction
of leaf-level QGs [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and the second stage is novel contribution on the
propagation of the satisfaction degree of leaf-level QGs to higher-level QGs.
4.1
      </p>
      <p>Measuring the satisfaction of leaf-level quality goals
In general, complex quality goals will be reduced to sub-QGs and finally
operationalized as measurable quality constraints (QCs) during software design. And,
a QC is satisfied if the perceived quality values fall into the expected region, or
unsatisfied otherwise. That is, such a QC is akin to a binary function that returns
1 or 0. This may be too strong a condition since in many cases “good enough”
is sufficient. For example, if one has operationalized “Low” as “ 600 (Euros)”,
how about a cost of 620 Euros? As we can see, the satisfaction degree, not the
make-or-break status, is what actually matters. So, when operationalizing a QG,
we need to derive a smooth function, not a binary one.</p>
      <p>
        To address this issue, we have proposed to measure the satisfaction degree of
leaf-level QGs based on gradable membership [
        <xref ref-type="bibr" rid="ref4 ref6">4, 6</xref>
        ]. This technique assumes that
a conceptual space (e.g., a single-dimensional space for cost) consists of a set of
regions (e.g., low, medium and high), each of which is associated with a concept
C and represented by some prototypical values (e.g., 500e and 700e for low,
800e and 1000e for medium, 1200e and 1500e for high). It starts by
considering the set of all possible selections of exactly one prototypical value from each
region (e.g., the three points 500e, 800e and 1200e form a selection; and we will
have 23 = 8 such selections in this case). Each selection can be used to generate
a Voronoi diagram [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] (a partition of a space into regions/cells based on
distance to pre-set points in the space), in which a Voronoi cell is associated with a
concept represented by a selected prototypical value. In this single-dimensional
example, we use medians to generate partitions, e.g., (500 + 800)=2 = 650,
(800 + 1200)=2 = 1000, and we have (0, 650] for low, (650, 1000] for medium, and
(1000, 1000+) for high. Finally, it defines the membership of a value p belongs to
a concept C as the number of Voronoi diagrams that vote p to the Voronoi cell
associated with C. For instance, in our example, if a cost value is 740e, then it
belongs to low with a degree of 0.75 (6 out of the 8 diagrams vote it to the cell
associated with low) and belongs to medium with a degree of 0.25. Interested
readers can refer to Li [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for the calculation details and the derivation of math
expressions for satisfaction degrees based on prototype values/regions.
      </p>
      <p>The interesting point here is that we can use prototype values to represent a
concept, and then use Voronoi diagrams to reason about the graded membership
without the need of inventing made-up numbers as in existing quantitative goal
satisfaction analysis procedures.
4.2</p>
      <p>Propagating the satisfaction value of quality goals upstream
In practice, a QG may refer to a composite quality that has a set of sub-qualities
as its offsprings, e.g., “Security” has sub-qualities “Confidentiality”, “Integrity”
and “Availability” (see the ISO/IEC 25010:2011 standard for a reference quality
hierarchy), or a complex subject that has many different parts as it components,
e.g, a system. In such cases, we need to first refine the complex QG to simple ones
via its quality/subject, then use the technique discussed in Section 4.1 to measure
the satisfaction of leaf-level QGs, and finally propagate up the satisfaction of
lower-level QGs along the refinement hierarchy.</p>
      <p>Recall that a QG can be reduced to a set of sub-QGs using our reduce
operator. For such a refinement, we represent the QG as a vector of its
subQGs. For example, we denote the refinement of a quality goal QG to QG1 and
QG2 as QG =: [QG1; QG2]. We set the expected satisfaction degree of each
subQG to be 1.0, and express the expected satisfaction of QG as a 1 2 vector:
SatEQG = [SatEQG1 ; SatEQG2 ] = [1:0; 1:0]. Supposing that QG1 and QG2 are
leaf-level goals associated with single-dimensional spaces, we can derive their
satisfaction degrees by using the technique discussed in Section 4.1. On obtaining
the satisfaction degree of QG1 and QG2, say sat1 and sat2, we have the vector
SatRQG = [SatRQG1 ; SatRQG2 ] = [sat1; sat2]. Finally, we use Eq. 1 to compute
the the satisfaction degree of QG, where n is the dimension of SatEQG (here,
n = 2), d is the Euclidean distance between SatEQG and SatRQG, dmax is their
maximum distance when SatRQG = [0:0; 0:0] and is in fact a constant pn.</p>
      <p>SatQG = 1 d = 1 s Pin=1 (SatEQGi SatRQGi )2 (1)
dmax n</p>
      <p>The rationale of this approach is to reduce a composite quality in a
highdimensional space to low-dimensional spaces (i.e., sub-qualities) and measure
the similarity between reality and expectation. The geometric meaning of this
approach is shown in Fig. 2. As shown in the figure, “Security” is represented as
a point E in the three-dimensional space and can be refined to “Confidentiality”,
“Integrity” and “Availability”. We denote the expected satisfaction of “Security”
as [1.0, 1.0, 1.0], and suppose that the real satisfaction R to be [0.8, 0.4, 0.75].
The distance d between the expectation and the reality is represented by ER, the
maximal distance dmax is OE, and the similarity between the reality R and the
expectation E is (1 ER=OE). This approach can also be applied to subjects,
which can be refined to constituting parts.</p>
      <p>Integrity E
1.0
0.0</p>
      <p>O
vectors, with each of its sub-goals being a feature, and calculate their similarities
using the metric defined in Eq. 1. Moreover, unlike Machine Learning techniques,
our approach does not need to learn the satisfaction function of a leaf-level QG
from big data; instead, we able to achieve the purpose by using prototype values,
which are elicited from some stakeholders and are affordable in practice.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Discussion and Future Work</title>
      <p>In this paper, we have proposed a two-staged procedure for the satisfaction
analysis of quality goals. We first measure the satisfaction of leaf-level QGs based on
graded membership and then propagate the satisfaction value upstream based
on similarity measurement. Our approach is promising in addressing some of the
deficiencies in existing reasoning procedures, e.g., the lack of sufficient
expressiveness for qualitative approaches, and the meaningless of subjective numbers
used in quantitative approaches.</p>
      <p>
        We are going to implement this procedure in Desiree 4, a prototype tool that
has been developed to support our requirement engineering framework [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We
suggest that several interesting issues remain open for further investigation. For
example, how to evaluate the effectiveness of this two-staged procedure using
realistic case studies, how to set the weights of QGs in a QG hierarchy, and how
to deal with conflicts in reasoning processes.
      </p>
      <p>Acknowledgments. This work is supported by the European Research Council
advanced grant (no. 267856), the Key Project of National Natural Science
Foundation of China (no. 61432020) and the Intelligence Innovation Center, Alibaba.
4 The tool is available at https://goo.gl/oeJ9Fi.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bresciani</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giunchiglia</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Tropos: An agent-oriented software development methodology</article-title>
          .
          <source>JAAMAS</source>
          <volume>8</volume>
          (
          <issue>3</issue>
          ),
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chung</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nixon</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Non-Functional Requirements in Software Engineering</article-title>
          , vol.
          <volume>5</volume>
          . Kluwer Academic Pub (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chung</surname>
            , L., do Prado Leite,
            <given-names>J.C.S.:</given-names>
          </string-name>
          <article-title>On non-functional requirements in software engineering</article-title>
          .
          <source>In: Conceptual modeling: Foundations and applications</source>
          , pp.
          <fpage>363</fpage>
          -
          <lpage>379</lpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Decock</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Douven</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>What is graded membership?</article-title>
          <source>Noûs</source>
          <volume>48</volume>
          (
          <issue>4</issue>
          ),
          <fpage>653</fpage>
          -
          <lpage>682</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Guizzardi</surname>
          </string-name>
          , G.:
          <article-title>Ontological foundations for structural conceptual models</article-title>
          .
          <source>CTIT</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgida</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>An ontological interpretation of non-functional requirements</article-title>
          .
          <source>In: FOIS</source>
          . pp.
          <fpage>344</fpage>
          -
          <lpage>357</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Comparison and evaluation of goal-oriented satisfaction analysis techniques</article-title>
          .
          <source>REJ</source>
          <volume>18</volume>
          (
          <issue>3</issue>
          ),
          <fpage>199</fpage>
          -
          <lpage>222</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Letier</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Van Lamsweerde</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Reasoning about partial goal satisfaction for requirements and design engineering</article-title>
          .
          <source>SIGSOFT SEN 29(6)</source>
          ,
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.L.</given-names>
          </string-name>
          :
          <article-title>Desiree - a Refinement Calculus for Requirements Engineering</article-title>
          .
          <source>Ph.D. thesis</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>F.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgida</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Non-functional requirements as qualities, with a spice of ontology</article-title>
          . In: RE. pp.
          <fpage>293</fpage>
          -
          <lpage>302</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>11. Wikipedia: Voronoi diagram, https://en.wikipedia.org/wiki/Voronoi_diagram</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modelling strategic relationships for process reengineering</article-title>
          .
          <source>Ph.D. thesis</source>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>