<!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>Non-Functional Requirements Revisited</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Feng-Lin Li</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jennifer Horkoff</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="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lin Liu</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Borgida</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>: Department of Computer Science, Rutgers University</institution>
          ,
          <addr-line>New Brunswick</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>: Dept. of Information Engineering and Computer Science, University of Trento</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>: School of Software, Tsinghua University</institution>
          ,
          <addr-line>Beijing</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>978</volume>
      <fpage>109</fpage>
      <lpage>114</lpage>
      <abstract>
        <p>Goal-Oriented Requirements Engineering (GORE) is founded on the premise that functional and non-functional requirements (NFRs) are stakeholder goals to be fulfilled by the system-to-be. Moreover, functional requirements are “hard” goals with clear-cut criteria for fulfillment, while traditionally NFRs are usually “soft” goals (aka softgoals) lacking a clear-cut criterion for success. We argue against this distinction and in favor of a different one: traditional NFRs (e.g., security, reliability, performance, usability etc.) are requirements for qualities that existentially depend on the subject they qualify. We give examples in support of our argument, and sketch an abstract syntax and semantics for goal models that follow our proposal.</p>
      </abstract>
      <kwd-group>
        <kwd>Goal Model</kwd>
        <kwd>Softgoal</kwd>
        <kwd>Quality</kwd>
        <kwd>Quality Constraint</kwd>
        <kwd>Ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The rise of goal orientation as a research paradigm for Requirements Engineering
(RE) is founded on the premise that functional and non-functional requirements can
be modeled and analyzed as (stakeholder) goals. According to this view, functional
requirements are modeled as hard goals with a clear-cut criterion for fulfillment,
while non-functional requirements (hereafter NFRs) are modeled as soft goals (aka
softgoals) with no such criterion [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], hence their name. This paradigm served as
research baseline for i* [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but has also enjoyed much broader attention within the RE
community during the past 20 years.
      </p>
      <p>
        In this position paper we challenge this orthodoxy. In particular, we argue that
traditional NFRs, such as performance, reliability, maintainability, etc., are not softgoals,
but rather requirements for qualities that existentially depend on the subject they
qualify [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Moreover, as quality requirements, these kinds of NFRs are very special
optative statements: they constrain the space of allowable quality values for their subject.
This key insight, missing from earlier treatments of NFRs, influences in important
ways both the abstract syntax and the semantics of requirements models.
      </p>
      <p>
        To capture this missing existential dependence, we distinguish quality requirements
from NFRs and promote them to first-class status in our framework. At the same time,
to allow the “defuzzification” of vague quality requirements, we follow Techne [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
which made the satisfaction of softgoals measurable by operationalizing them as
“quality constraints” – though at the time the term “quality” did not have the go-ntolo
ically technical meaning to be introduced in this paper. Based on these, we revisit the
requirements model and give examples in support of our proposal.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Quality Requirements</title>
      <p>
        DOLCE [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is an ontology that aims at capturing the ontological categories
underlying natural language and human common sense. It provides a rich theory of qualities,
which we adopt here. According to DOLCE, a quality is a particular which applies to
a particular subject, and inheres in that subject, unable to exist independently from it.
This existential dependence makes the semantics of qualities different from those of
softgoals: we can only assess the satisfaction of a quality if its subject exists. For
example, we cannot assess the security of the goal M“essage be Sent” unless
themessage has been sent (this is also noted in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). However, this important existential
dependence of qualities has not been captured in previous GORE techniques, such as i*
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the NFR framework [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Tropos, and Techne [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The original proposal in DOLCE associates a particular quality, say c#1, of quality
type Cost, to an individual, say trip#1, in class Trip; and then associates with c#1 the
particular cost value, say 1000 , in the Cost quality space EuroValues. We rephrase
this by using a single, higher-order function hasQualityValue, which takes as
argument the quality type QT, and returns a function that maps particular subjects to their
quality values. Thus hasQualityValue(QT) can be used as in hasQualityValue(Cost)
(trip#1) to obtain the cost value 1000 . Meanwhile, we overload this function to apply
to a class/type Subj, by applying hasQualityValue(QT) to all instances of Subj,
obtaining the set of quality values for all these individuals. E.g., hasQualityValue(Cost)
(Trip) returns the set of all trips’ costs. Note that in order to accommodate different
degrees of accuracy, DOLCE views a quality space as consisting of regions with
subregions. So a trip might havLeo“w” cost, with V“ery Low” being a su-bregion.</p>
      <p>
        We view a quality requirement (QR) as a constraint over the region of expected
quality values (e.g. low, fast, or high) of relevant QT (e.g. cost, speed, or performance)
for a subject (type). On the basis of the above defined function, this can be formalized
as hasQualityValue(QT)(Subj) RG, where QT is a quality type, Subj is a class of
subject individuals, RG is a possibly underspecified region of desired quality values.
To make the quality region RG measurable, quality constraints (QCs) are introduced
to precisely define its boundary [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. For example, the quality requirement th“e Cost
of Trip should be Low”, formally written as hasQualityValue(Cost)(Trip) Low Cost,
can be made more precise by specifying a QC: Low Cost = { | .
      </p>
      <p>
        On this view, we can express the vagueness of quality requirements using the
desired regions of quality values (of corresponding qualities), which are fuzzy (e.g. low,
fast). QRs can be made measureable by operationalizing them as quality constraints.
Keep in mind that NFRs are not only quality requirements; e.g., the NFRs “Response
Time ≤ 5sec” and “Take a Nice Trip” can bemodeled as hard goals and softgoals resp.
The foundational concepts related to NFRs in our framework are defined as follows.
 A softgoal is a goal without a clear-cut definition of satisfaction [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but an
independent existence. Its satisfaction is determined by its refinements, which can
include softgoals, hard goals and quality goals.
 A quality goal (QG) represents a quality requirement, which consists of a quality
type, a desired quality region and a subject, with a different representation; e.g., a
QG “Low Cost[Trip]” represents a QR “the Cost of Trip should be Low”. A quality
goal can be refined as quality goals or operationalized by a quality constraint. Its
satisfaction is determined by its subject and refinements/operationalization.
 A quality constraint precisely defines a desired quality region in the quality space
of a quality type and is achieved or denied by tasks. In our framework, quality
constraints are metrics, but they are ontologically broader than metrics according to
Techne [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], from which this concept is adopted.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>A Framework for Goal Models with Quality Goals</title>
      <p>
        To address the observed deficiency, we propose a revisited goal modeling framework
on the basis of Techne [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which extends i* with quality constraints, preferences and
inconsistency handling. We use extended EBNF (Extended Backus-Naur Form) to
sketch an abstract syntax, wherein “+” means one or more, ”“ means zero or more,
“ ” means ‘and’, “|” means‘exclusive or’, “ ” means substitution, and “ ” with a
label at the top indicates particular relationship. We intend to describe a graphical
notation and don’timpose an order for elements on the right-hand side of the rules.
( )
( )
( )
( )
( )
( )
( )
→
→
→
→
→
|
      </p>
      <p>The revisited requirements model is shown in Fig. 1 and visualized in Fig. 2. As the
baseline, we use goals as a means to represent requirements (thus a quality
requirement is now represented as a quality goal). Quality Goal is the key concept in our
framework: it is expressed in the form of Quality'[Subj] (Q' [Subj] for short, e.g. “Low
Cost[Book Flight]”), in which Q' is an intentional quality with both quality type and
the desired region of quality values (e.g. Low Cost) and Subj is the type of subjects
(e.g. Book Flight) that Q' inheres in; its operationalization, namely quality constraint,
clearly specifies the region within the entire quality space.</p>
      <p>A travel example is used to illustrate the concepts in the framework. In this
scenario, an employee Lily plans to take a leisure travel in Europe. As shown in Fig. 3, the
top-level goal is a soft goal T“ake a Nice Trip”, which is refined to a hard goTaalke“
a Trip” and a qualitygoal “Nice[Take a Trip]”. The hard goal isteratively refined
and finally operationalized as tasks; the quality goal is refined to other quality goals
which are operationalized by quality constraints.</p>
      <p>Nice
[Take a Trip]
Take a Nice</p>
      <p>Trip</p>
      <p>Low Cost
[Book Hotel]</p>
      <p>Book Hotel
Take a Trip</p>
      <p>Book Flight
Make</p>
      <p>Itinerary
Traveler</p>
      <p>Select
Class</p>
      <p>Search
Ticket</p>
      <p>Select
Class</p>
      <p>Make
Select Payment</p>
      <p>Seat
Select Select</p>
      <p>Flight Flight</p>
      <p>Comfort
[Take a Trip]
Low Cost
[Take a Trip]</p>
      <p>Comfort
[Book Flight]
&gt;&gt; Y ≤ Leg Room ≤ Z</p>
      <sec id="sec-3-1">
        <title>Make</title>
        <p>Low Cost
[Book Flight]
0 ≤ Price ≤ 500 €</p>
      </sec>
      <sec id="sec-3-2">
        <title>Break</title>
        <p>AndRefineTo
RefineTo
&gt;&gt;HasPriorityTo
OperationalizeAs
Hard Goal
Softgoal
Quality
Goal
Task
Quality
Constraints</p>
        <p>The refinement of a quality goal Q' [Subj] has two forms: via the intentional quality
Q' and via the subject Subj. The refinement of Q' can be performed by following the
existing quality type/dimension standards (e.g. ISO standards 9126 and more recently
25010), or using domain-specific knowledge. The refinement of Subj depends on
either the hierarchy of hard goals or the ontology of subjects in Fig. 4. For example,
refining by quality, Nice for subject Take a Trip usually includes Low Cost, Comfort,
Convenient and Timeliness. In our example, only a subset of them is considered:
“Nice[Take a Trip]” is refined as Lo“w Cost[Take a Trip]” and C“omfort[Take a
Trip]”. Refining by subject, taking a trip is composed of booking flight and hotel in
the hard goal hierarchy, so the quality “Low Cost[Take a Trip]” is refined asL“ow
Cost[Book Flight]” and L“ow Cost[Book Hotel]”. In brief, the refinement of quality
goals can be summarized as two rules:
(
(
( )
( )
( )
( )
( )
( )
→
→
→
→</p>
        <p>→</p>
        <p>In trying to understand the semantics of quality goals, we adopt a holistic
perspective: a software system isn’t just code, or cpoldues design and requirements; rather, it
includes all the things that concern its existence, its makeup, development processes
and history. Accordingly, quality goals can have any of these aspects as subjects. To
clarify this, we give a simple ontology in Fig. 4, which defines the scope over which
qualities apply. We intend for such subjects to cover both the problem and solution
domain, allowing us to express both -“isa”s and “to-be” quality requirements. Our
ontology is not claimed to be complete and can be extended on demand.</p>
        <p>
          In our proposal, the partial contribution links help and hurt are excluded, only make
and break are preserved to represent the achievement of quality constraints by tasks.
We omit help and hurt because they force on us a four-valued logic (satisfied S,
denied D, partially satisfied PS and partially denied PD) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. As such, potential conflicts
arise: if a quality goal receives both help and hurt or two competitive quality goals are
both partially satisfied/denied, it is problematic to identify which alternative solution
(i.e. a set of tasks) better satisfies given hard goals, along with concerned quality
goals [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>Meanwhile, make and break allow us to deal with the achievements of quality
constraints using a simpler two-valued logic (S/D). By incorporating preferences and
priorities, our framework is able to facilitate the selection of the best alternative
requirements. In our goal models, the “HasPriotityTo” links will be drawn from
preferred quality goals to less preferred ones, and priorities will be assigned to concerned
quality goals. In this way, we are able to obtain an ordered sequence of quality goals
based on stakeholder preferences. Future work will focus on describing use of our
framework for the requirements selection problem.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>The Semantics of Quality Goals</title>
      <p>
        Reasoning about the satisfaction of goals can be performed on goal models by using
inference rules and label propagation algorithms [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The core of existing goal
semantics can be summarized as [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]: if a goal G is AND-refined to a set of goals G1,
G2 …Gn ( ), then G can be satisfied only if all the sub-goals are satisfied; if G is
OR-refined, G will be satisfied if any of the sub-goals is satisfied; if a goal G1 makes
(resp. breaks) a goal G2, then G2 will be satisfied (resp. denied) if G1 is satisfied.
      </p>
      <p>In our framework, the semantics of quality goals are two-fold: (i) they existentially
depend on subjects (ii) they constrain regions of quality values, which are clearly
specified by quality constraints. The existential dependence indicates: if the subject
Subj of a quality goal QG is not satisfied, then the satisfaction of QG is unknown. We
use symbol N for this situation, which meansno“ evidence” (axiom1). If the subject
Subj is satisfied, then the satisfaction of QG is determined by its refinements (axiom 2
~ 4). Take axiom (2) as an example, given that QG = Q' [Subj], and QG is
ANDrefined to G1…Gi …Gn ( ), then QG will be satisfied if its subject Subj is
satisfied and all of the sub-goals are achieved. The other axioms are structured
similarly.</p>
      <p>(
(
(
(
) (
) (
) (
) (
(
(
(
(
))
))
))
))
(
(
(
(
)(
)(
)(
)(
)
)
)
)</p>
      <p>In accordance with the ontology in Fig. 4, the subjects can be processes or things
instead of goals. In such cases, we can speak of process execution or thing existence
instead of goal satisfaction. Moreover, in our framework, we use AND-refinement
and refinement, and avoid the use of explicit OR.
( )
)
(
(
)</p>
      <p>)
) (
(
)
(</p>
      <p>)
( )
( )
( )
( )
( )
( )
( )
( )</p>
      <p>The axioms (6 ~ 8) deal with the satisfaction of quality goals at the bottom of the
quality goal hierarchy. A quality goal QG will be satisfied, if the actual quality value
of each individual in Subj on quality type QT belongs to the region RG being
specified by a quality constraint QC (axiom 6). Axiom (7 ~ 8) show the semantics of make
and break: if a task T makes (resp. breaks) a quality constraint QC, then the
corresponding quality goal QG of QC will also be satisfied (resp. denied). It is worth
mentioning that to deny QG, we also need its subject Subj to be achieved; otherwise the
satisfaction of QG is unknown.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future work</title>
      <p>In this paper, we identified from NFRs quality requirements and model them as
quality goals. Accordingly, we proposed a revisited goal modeling framework, sketching
an abstract syntax and semantics. There are several interesting and challenging
problems open for discussion: How to properly and systematically handle ambiguous
qualities (e.g. inexpensive and low cost)? How will tasks influence the quality values of
the concerned qualities? How to incorporate context in our goal models? These will
be the key concerns in our next steps.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Chung</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Nixon</surname>
          </string-name>
          , “
          <article-title>Representing and using nonfunctional er-equir ments: A process-oriented approach</article-title>
          ,” Software Engineering, IEEE Transactions on, vol.
          <volume>18</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>483</fpage>
          -
          <lpage>497</lpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>E. S.</given-names>
            <surname>Yu</surname>
          </string-name>
          , “
          <article-title>Towards modelling and reasoning sourpt pfor early-phase requirements engineering</article-title>
          ,” in Requirements Engineering,
          <year>1997</year>
          .,
          <source>Proceedings of the Third IEEE International Symposium on, 1997</source>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>235</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>C.</given-names>
            <surname>Masolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gangemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Guarino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Oltramari</surname>
          </string-name>
          , “
          <article-title>WonderWeb Delivearble D18</article-title>
          ,
          <article-title>Ontology Library (final</article-title>
          ),”
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>I. J.</given-names>
            <surname>Jureta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Ernst</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , “Techne:
          <article-title>Towards a neaw- gener tion of requirements modeling languages with goals, preferences</article-title>
          , and inconsistency handling,” in Requirements Engineering Conference (RE),
          <year>2010</year>
          18th IEEE International,
          <year>2010</year>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>Comparison and evaluation of -ogroieanlted satisfaction analysis techniques</article-title>
          ,” Requirements Engineering, pp.
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </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="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>I. J.</given-names>
            <surname>Jureta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Faulkner</surname>
          </string-name>
          , “
          <article-title>Revisiting the core ontology and problem in requirements engineering</article-title>
          ,” inInternational Requirements Engineering,
          <year>2008</year>
          . RE'
          <volume>08</volume>
          .
          <string-name>
            <surname>16th</surname>
            <given-names>IEEE</given-names>
          </string-name>
          ,
          <year>2008</year>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>80</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <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>Reasoning with goda-l mo els,” Conceptual Modeling-ER</article-title>
          <year>2002</year>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>181</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>Analyzing goal models: different approaacnhdeshow to choose among them</article-title>
          ,
          <source>” inProceedings of the 2011 ACM Symposium on Applied Computing</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>675</fpage>
          -
          <lpage>682</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>