<!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>Kaos4SOA - Extending KAOS Models with Temporal and Logical Dependencies</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>s-lab - Software Quality Lab University of Paderborn Zukunftsmeile 1 33102 Paderborn</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In requirements engineering for service-oriented systems, stakeholder objectives are described by goal models from which business process models are derived that de ne the required service compositions. A goal-based requirements speci cation should ensure completeness of the goals that need to be achieved as well as the consideration of temporal and logical dependencies between goals. Recent approaches lack the ability to elicitate and specify the stakeholders' knowledge about dependencies between goals that need to be considered in the derivation of business processes. We present Kaos4SOA, an extended goal notation for the explicit speci cation of goal dependencies and brie y describe how existing approaches can be extended to validate the consistency of business processes against these dependencies. The application of our approach is supported by the implemented Kaos4SOA modeling workbench.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirements engineering</kwd>
        <kwd>goal models</kwd>
        <kwd>dependency modeling</kwd>
        <kwd>business process models</kwd>
        <kwd>service-oriented systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Following the paradigm of service-oriented architectures [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], today's information
systems are developed by composing loosely coupled services into highly exible
service compositions. Requirements engineering for such systems di erentiates
between two di erent kinds of requirements. Early requirements specify
stakeholder objectives on a high level of abstraction and are iteratively re ned into
operationalized goals termed operations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Based on these operations, late
requirements are derived that represent concrete requirements in terms of business
process models.
      </p>
      <p>
        The elicitation and analysis of early requirements using goal models has been
addressed comprehensively by existing work [
        <xref ref-type="bibr" rid="ref3 ref5 ref6">3, 5, 6</xref>
        ]. Di erent notations, like
KAOS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or Tropos/i* [
        <xref ref-type="bibr" rid="ref16 ref2">2, 16</xref>
        ], provide modeling languages and methodologies
for the speci cation and re nement of goal models. The systematic derivation of
business processes from goal models has been addressed by recent research [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ].
While providing a high degree of exibility, these approaches do not constrain
how (i.e. with respect to temporal and logical dependencies) operations shall be
composed. Figure 1 provides an example. From the source goal model (G1) three
di erent process models (P1, P2, P3) can be derived. Each of these process models
considers all required operations speci ed in G1, but obviously results in di erent
execution orders of the operations. This ambiguity can lead to inconsistencies
between the actual stakeholder objectives and derived business process models.
      </p>
      <p>Goal Model G1
...</p>
      <p>...</p>
      <p>OR
Goal B</p>
      <p>Goal C</p>
      <p>Goal D
Operation A</p>
      <p>Operation B</p>
      <p>Operation C</p>
      <p>Process
Model P1
Process
Model P2
Process
Model P3</p>
      <p>Op A
Op B
Op C</p>
      <p>Op B
Op C</p>
      <p>Op A
Op A
Op B
Op C</p>
      <p>To address this issue, we propose to elicitate the stakeholders' knowledge
about logical and temporal dependencies by specifying them explicitly in KAOS
goal models. These dependencies are de ned between goals on di erent levels of
abstraction and constrain how the operations shall be composed.</p>
      <p>
        The contribution of this paper consists of two parts. We introduce Kaos4SOA,
an extended KAOS goal notation that supports the speci cation of temporal
and logical dependencies between goals [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Further, we present a tool support
in terms of a modeling workbench for the speci cation of Kaos4SOA goal models.
      </p>
      <p>The remainder of the paper is structured as follows. In the next section
the foundations of KAOS goal models are introduced. Section 3 presents the
Kaos4SOA approach and discusses the extension of existing approaches to
generate veri able business process constraints from Kaos4SOA models. In
Section 4, the implemented Kaos4SOA modeling workbench is described. Section 5
discusses related work and nally Section 6 concludes the paper and gives an
overview about future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>KAOS Goal Models</title>
      <p>
        In this section, we introduce the KAOS modeling approach for specifying goal
models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. KAOS provides a systematic approach to specify and re ne goal
models. Hereby, abstract high-level goals are iteratively decomposed to subgoals that
are operationalized to operations, representing concrete functional requirements.
These operations are used as input for the composition of process models.
      </p>
      <p>An example for a KAOS goal model is illustrated in Figure 2. In order to
achieve the main goal Customer order processed, four subgoals need to be ful lled
as speci ed by the AND-decomposition. The subgoals Customer data recorded
and Payment received are further decomposed into subsubgoals that provide
alternatives to achieve the subgoals (OR-decompositions).</p>
      <p>The decomposition of Customer data recorded is a special type of
decomposition. The circle connecting the goals Account login data entered and Customer
pro le loaded indicates an AND-decomposition which itself is part of an
ORdecomposition. This means that the goal Customer data recorded is achieved by
New Customer account created or by Account login data entered AND Customer
pro le loaded.</p>
      <p>
        Using operationalization [
        <xref ref-type="bibr" rid="ref1 ref14">1, 14</xref>
        ], operations are identi ed that need to be
executed in order to achieve the related goals. The operations are de ned by input
and output parameter as well as di erent conditions. The conditions are di
erentiated into pre- and postconditions in the domain and additional conditions.
Two examples for the detailed de nition of operations are depicted in Table 1.
Operation Create account Operation Enter credit card number
Input c:Customer, d:CustomerData Input c:Customer, cc:CreditCard
Output a:CustomerAccount Output c:Customer, cc:CreditCard
DomPre c.status = newCustomer DomPre cf.sent = false
DomPost c.status = registeredCustomer DomPost cf.sent = true
ReqPre c.Account = "" ReqPre c.hasCard(cc) = true
ReqPost c.Account = a ReqPost cc.number = c.enteredNumber
      </p>
      <p>
        In addition to the AND-/OR-re nement relationship between goals, KAOS
also provides the ability to express con icts between goals. For this purpose, the
Con ictsWith attribute [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is used. The con ict relationship de nes a
dependency between two goals G1 and G2 de ning that G1, G2 can not be achieved
together. In our exemplary goal model the Con ictsWith relationship can be
used to express that new customers are not allowed to pay on delivery by de
ning a con ict relation between the goals New Customer account created and
Receive payment on delivery.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Kaos4SOA</title>
      <p>In Section 1 we motivated the need for the elicitation and speci cation of goal
dependencies to enable their consideration in the derivation of business processes.
We propose Kaos4SOA, an extension of KAOS to express these dependencies in
a goal model. In addition, we brie y describe the requirements for the automatic
generation of veri able constraints.
3.1</p>
      <p>
        Goal Dependency Modeling
As described, KAOS goal models provide the ability to express relationships
between goals (e.g. AND/OR-relation) and pre- and postconditions for atomic
operations. We have analyzed existing research presented in [
        <xref ref-type="bibr" rid="ref12 ref15 ref9">9, 12, 15</xref>
        ] and identi ed
two extensions for a more precise de nition of temporal and logical dependencies
between goals.
      </p>
      <p>First, it is desirable to consider the order in which goals need to be achieved.
We argue that even on the abstract level of goals, a requirements engineer is
already able to decide about temporal dependencies between goals. In addition,
we aim for a more precise de nition of the logical OR-re nement. In the existing
KAOS notation the OR-statement is interpreted as an inclusive-OR, i.e. OR(
G1 , G2 ) ! G1 _ G2 _ ( G1 ^ G2 ). Currently, it is not possible to de ne
conditions to specify when G1 or G2 need to be achieved. For this purpose we
introduce annotation capabilities for branches to de ne conditional branches.
The proposed extensions of KAOS to address the required dependencies are
described in the following.</p>
      <p>Order Constraints
KAOS goal models do not provide the ability to express dependencies among
goals regarding the order in which the goals need to be achieved. For this
purpose, we extend the annotation capabilities of KAOS with the additional Order
element. Two di erent types of orders are expressible by the proposed extension.</p>
      <p>Loose Order describes that a goal G2 needs to be achieved some time later
than goal G1. It does not matter, if other goals are achieved meanwhile. For
expressing the loose order dependency the attributes Order.Predecessor and
Order.Successor are introduced. Figure 3 (a) shows a loose order example:
Before the ordered goods are shipped, the goods' availability has to be checked.</p>
      <p>Strict Order expresses that the achievement of goal G1 is directly followed by
the achievement of goal G2 without other goals achieved in-between. This kind of
sequential execution is described by the annotations Order.StrictPredecessor
and Order.StrictSuccessor. As an example the strict order The credit
worthiness needs to be checked directly before the credit card is debited is shown in
Figure 3 (b).</p>
      <p>(a) Loose Order Constraint</p>
      <p>Order
processed
AND
(b) Strict Order Constraint</p>
      <p>Receive credit
card payment</p>
      <p>AND
Availability
checked
In some cases not only the achievement of single goals is important to be
constrained by a condition, instead the achievement of a whole set of goals depends
on a condition. Often this can be seen for alternatives, which are all suitable to
achieve a desired result, but not each goal sequence is appropriate in each case.
An example for conditional branches is depicted in Figure 4. The goal Customer
data recorded is decomposed by an OR-re nement. Which alternative subgoal
shall be chosen under which condition, can be di erentiated by the new attribute
condition which is de ned for both links. In this example, the conditional branch
is used to de ne the following policies.</p>
      <p>If the customer is ordering for the rst time (is a new customer), he needs
to create a new account for recording the customer data.</p>
      <p>If the customer already has an account, he needs to login AND the customer
pro le needs to be loaded to record the customer data.</p>
      <p>Towards the Goal-driven Generation of Business Process
Constraints
To preserve the consistency between goal models and business process models
it is required to evaluate that the derived business processes do not violate the
constraints indicated by the temporal and logical dependencies in the Kaos4SOA
model.</p>
      <p>
        Kaos4SOA facilitates additional goal annotations expressing the
dependencies, but does not provide formal constraints. To evaluate the consistency of a
business process regarding these dependencies, formalized constraints need to be
generated from the Kaos4SOA goal model. Since the dependencies are de ned
among goals on di erent levels of abstraction they need to re ned iteratively
to the operational level. From the re ned dependencies, business process
quality constraints are generated that express the de ned dependencies by concrete,
veri able constraints. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] provides a language to express constraints for business
process models, but do not provide a method for deriving them from goal models.
To apply these constraints existing approaches [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ] for the derivation of
business processes need to be extended by model checking techniques for evaluating
the business process quality constraints.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Implementation</title>
      <p>The applicability of our approach depends on the ability to create and edit
complex goal models and the dependencies among the goals in an e cient way. To
provide a tool support for our modeling approach we implemented the Kaos4SOA
Workbench. It provides modeling capabilities for standard KAOS modeling
elements as well as for the extended Kaos4SOA goal dependencies.</p>
      <p>The Kaos4SOA Workbench is realized as a plugin for the Eclipse
development environment 1. A metamodel for the extended KAOS notation is de ned
by EMF Ecore models using the Eclipse modeling framework (EMF). The
concrete syntax for the extended goal models is modeled by the Graphical Modeling
Framework (GMF). Based on the de ned GMF models a graphical editor is
generated, that enables the creation and editing of Kaos4SOA models. A screenshot
of the modeling UI is depicted in Figure 5.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        The i* framework [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is a goal-oriented requirements engineering approach from
the domain of agent-oriented software. As well as KAOS it is designed for the
early phase of requirements analysis, which aims to analyse and model
stakeholder interests. In i* di erent kinds of relationships can be de ned. Dependency
links are used to de ne relations between actors. For the speci cation of relations
between goals i* distinguishes Task-Decomposition-Links, Means-End-Links and
Contribution Links. Hereby, the decomposition of goals to tasks, traceability
between goals and tasks and the contribution of tasks to soft goals can be de ned.
      </p>
      <p>
        Tropos [
        <xref ref-type="bibr" rid="ref10 ref2 ref6">2, 6, 10</xref>
        ] is a software development framework which spans all phases
of software development from early requirements speci cation to
implementation. Tropos extends the relationships provided by i* by providing di
erentiated AND-/OR- Decompositions of goals into subgoals. Furthermore, Tropos
1 http://www.eclipse.org/
allows the application of Contribution Links that enable to identify Goals, that
contribute positively or negatively to the ful llment of other Goals.
      </p>
      <p>In summary, existing goal oriented approaches provide concepts for
expressing and modeling dependencies among goals. Nonetheless, they lack the ability
to de ne concrete logical dependencies for branches and do not support any kind
of temporal dependencies.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] a framework for the requirements operationalization from goal models
is presented. This approach describes the iterative operationalization and
formalization of goals for preserving completeness and correctness with respect to
possible goal violations but does not consider dependencies among goals.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Future Work</title>
      <p>This paper presents Kaos4SOA, an extension of the well-known KAOS approach
to elicitate the stakeholders' knowledge about dependencies between goals. Based
on an analysis of existing research we identi ed required dependencies and the
shortcomings of KAOS for expressing these dependencies. We introduce and
de ne new notation elements for logical and temporal dependencies. Finally, we
present a tool support that supports the creation of extended KAOS models in
a graphical modeling workbench.</p>
      <p>The future work of our research is twofold. First we aim to extend our
approach with the generation of veri able business process quality constraints,
that can be used to evaluate the consistency between goals and derived business
processes. Our future work also includes the extension of the Kaos4SOA
Workbench with a model checker which allows the integrated, automated veri cation
of business process models against de ned constraints.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D.</given-names>
            <surname>Alrajeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kramer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Uchitel</surname>
          </string-name>
          .
          <article-title>Learning operational requirements from goal models</article-title>
          .
          <source>In Proceedings of the 31st International Conference on Software Engineering</source>
          , ICSE '
          <volume>09</volume>
          , pages
          <fpage>265</fpage>
          {
          <fpage>275</fpage>
          . IEEE Computer Society,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A. Perini. TROPOS:</surname>
          </string-name>
          <article-title>An agent-oriented software development methodology</article-title>
          . Autonomous Agents and
          <string-name>
            <surname>Multi-Agent</surname>
            <given-names>Systems</given-names>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Dardenne</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Fickas</surname>
          </string-name>
          .
          <article-title>Goal-directed requirements acquisition</article-title>
          .
          <source>In Selected Papers of the Sixth International Workshop on Software Speci cation and Design</source>
          , pages
          <volume>3</volume>
          {
          <fpage>50</fpage>
          . Elsevier Science Publishers B. V.,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>T.</given-names>
            <surname>Erl</surname>
          </string-name>
          .
          <article-title>Service-Oriented Architecture: Concepts, Technology, and</article-title>
          <string-name>
            <given-names>Design. Prentice</given-names>
            <surname>Hall</surname>
          </string-name>
          <string-name>
            <surname>PTR</surname>
          </string-name>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Fuxman</surname>
          </string-name>
          , L. Liu,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Roveri</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <article-title>Specifying and analyzing early requirements in tropos</article-title>
          .
          <source>Requirements Engineering</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <volume>132</volume>
          {
          <fpage>150</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kolp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          .
          <article-title>The tropos methodology: An overview</article-title>
          .
          <source>In Methodologies and Software Engineering for Agent Systems</source>
          . Kluwer Academic Press,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>L.</given-names>
            <surname>Khaluf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          .
          <article-title>Pattern-based modeling and formalizing of business process quality constraints</article-title>
          .
          <source>In Proceedings of the 23rd Int. Conf. on Advanced Information Systems Engineering</source>
          , CAiSE'
          <volume>11</volume>
          , pages
          <fpage>521</fpage>
          {
          <fpage>535</fpage>
          , Berlin, Heidelberg,
          <year>2011</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lo</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>From business models to service-oriented design: A reference catalog approach</article-title>
          . In C. Parent,
          <string-name>
            <surname>K.-D. Schewe</surname>
            ,
            <given-names>V. C.</given-names>
          </string-name>
          <string-name>
            <surname>Storey</surname>
          </string-name>
          , and B. Thalheim, editors,
          <source>Conceptual Modeling - ER</source>
          <year>2007</year>
          , volume
          <volume>4801</volume>
          , pages
          <fpage>87</fpage>
          {
          <fpage>101</fpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>R.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          , G. Governatori, and
          <string-name>
            <given-names>X.</given-names>
            <surname>Yang. De ning</surname>
          </string-name>
          <article-title>Adaptation Constraints for Business Process Variants</article-title>
          .
          <source>In Business Information Systems</source>
          , volume
          <volume>21</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , pages
          <volume>145</volume>
          {
          <fpage>156</fpage>
          . Springer Berlin Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Castro</surname>
          </string-name>
          .
          <article-title>Tropos: A framework for requirements-driven software development</article-title>
          . In S. Brinkkemper, E. Lindencrona, and A. S lvberg, editors,
          <source>Information Systems Engineering: State of the Art and Research Themes</source>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          .
          <article-title>Methodologies for design of service-based systems</article-title>
          .
          <source>In Intentional Perspectives on Information Systems Engineering</source>
          , pages
          <volume>307</volume>
          {
          <fpage>318</fpage>
          . Springer, Berlin, Heidelberg,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Pesic</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Schonenberg</surname>
            , and
            <given-names>W. M. P. van der</given-names>
          </string-name>
          <string-name>
            <surname>Aalst</surname>
          </string-name>
          . Declare:
          <article-title>Full support for loosely-structured processes</article-title>
          .
          <source>In Proceedings of the 11th IEEE Int. Enterprise Distributed Object Computing Conf., page 287. IEEE Computer Society</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>J.</given-names>
            <surname>Post</surname>
          </string-name>
          .
          <article-title>Goal-driven re nement of quality constraints for adaptive business processes</article-title>
          .
          <source>Master's thesis</source>
          , University of Paderborn,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>A. Van Lamsweerde</surname>
          </string-name>
          .
          <article-title>Requirements Engineering: From System Goals to UML Models to Software Speci cations</article-title>
          . John Wiley,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>J.</given-names>
            <surname>Wainer</surname>
          </string-name>
          and F. de Lima Bezerra.
          <article-title>Constraint-based exible work ows</article-title>
          . In J. Favela and D. Decouchant, editors,
          <source>CRIWG</source>
          , volume
          <volume>2806</volume>
          of Lecture Notes in Computer Science, pages
          <volume>151</volume>
          {
          <fpage>158</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. E. S.
          <article-title>-</article-title>
          K. Yu.
          <article-title>Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering</article-title>
          .
          <source>In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering</source>
          , pages
          <volume>226</volume>
          {
          <fpage>235</fpage>
          . IEEE Computer Society,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>