<!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>On the Integration of i* into RUP</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yves Wautelet</string-name>
          <email>yves.wautelet@hubrussel.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manuel Kolp</string-name>
          <email>manuel.kolp@uclouvain.be</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hogeschool-Universiteit Brussel</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universite catholique de Louvain</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>978</volume>
      <fpage>61</fpage>
      <lpage>66</lpage>
      <abstract>
        <p>Altought widely used and recognized in the scienti c community, the i* framework has, until now, failed to impose itself into enterprise practices. There are many ways that can be followed to favor industry-adoption. Among them, we believe that an integration into the (Rational) Uni ed Process, which already includes business modeling as a preliminary step in software development and furnishes custom syntax and semantic to do so could be an interesting approach. This paper summarizes the ideas of a research aimed at mapping i* model elements and RUP/UML business modeling ones with the best possible semantic match. The willingness is to provide RUP practitioners a powerful tool for capturing and analyzing social and organizational contexts of software systems based on the syntax they already know with as closely as possible related semantics.</p>
      </abstract>
      <kwd-group>
        <kwd>i*</kwd>
        <kwd>RUP Business Use-Case Model</kwd>
        <kwd>Business Modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The practice of modeling the processes of an organization at the inception of {
or continuously during { a software project has been adopted in many methods.
Indeed, within a new information system development, being aware of the
situation as-is is a fundamental prerequisite to de ne/align the system to-be. For
such purpose, i* (i-star, [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) has proven well; that is notably why it was adopted
in Tropos [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and I-Tropos [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and why we suggest to include it into the RUP.
To address iterative development with Tropos, I-Tropos adapts the spiral
lifecycle of the RUP in an i*-driven way. The approach followed by I-Tropos is
nevertheless rather a revolution than an evolution for RUP practitionners since
it is not UML-driven but based on a completely di erent set of artifacts. That is
why, in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we have started to focus on mapping the i* semantics with the ones
de ned by the RUP business use-case model with the objective to fully capture
the bene ts of i* in the inherently iterative RUP. The gain for business analysts
2
      </p>
      <p>Yves Wautelet and Manuel Kolp
would be to integrate i* bene ts relying on RUP/UML business use-case syntax
and semantics. This could ease the integration of i* in RUP even if the exact
form it would take remains an open issue (see Section 5).</p>
    </sec>
    <sec id="sec-2">
      <title>Scienti c Contributions</title>
      <p>
        UML Pro le for i* Modeling
The research method applied to achieve our objectives rstly consisted in
distinguishing groups of elements both within the ones de ned by i* and the
RUP/UML business use-case model. Elements considered here are the ones
dened in the business modeling discipline of the RUP knowledge base [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
provided into CASE tools like Rational Rose [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] or Rational Software Architect
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>As presented in Table 1, three groups of elements have been distinguished
within the i* ones: Dependum Elements (DE ), Actor Elements (AE ) and Links
(iStarLink ). Similarly, as presented in Table 2, three groups of elements have
been distinguished within the RUP/UML business use-case model: Inheriting
from Use Case (IUC ), Inheriting from the Actor (IA) and Links (UMLLink ).
The groups have been made on the basis of the elements nature to ease the
semantical mapping process.</p>
      <p>In order to compare i* elements and nd best matches with UML ones, we
have rstly compared the DE set with the IUC one, such as DE IU C. We
indeed proceed through a carthesian product in order to compare the
semantics of each pairs of elements issued of groups from the two modeling languages.
However, no satisfying match was found for the Softgoal element so that we have
further compared this element with the set IA. After having found the best
possible matches for each element of the DE set, we have proceeded to a comparison
of AE with IA, such as AE IA. However, no satisfying match was found for
the Actor Boundary so that we further compared this element with the IA set.
Finally, when this was achieved and the best possible match was found for each
element in the set IA, we have compared the iStarLink set with UMLLink like
iStarLink U M LLink.
(Hard)goal: In a goal dependency, the depender depends on the dependee to
bring about a certain state of a airs in the world.
Inheriting from Use Case Inheriting from the Links (UMLLink )
(IUC ) Actor (IA)
Use Case Actor
Business Use Case (BUC) Boundary
BUC Realization Business Actor
Use Case Realization Business Entity</p>
      <p>Business Event
Business Goal
Business Worker
Control
Domain
Entity
Interface
Table</p>
      <p>View
Table 2. Target UML Elements</p>
      <p>Unidirectional Association
Dependency or Instanciates
Generalization
Association
Aggregation
Include
Realize
Re ne
Extend
Derive
Package
Chosen Element: Business Use Case.</p>
      <p>Rationale: Following the RUP knowledge base, a Business Use Case (class)
de nes a set of business use-case instances in which each instance is a sequence
of actions that a business performs that yields an observable result of value
to a particular business actor. The Business Use Case (BUC ) element has been
chosen because it is located at business (i.e., organizational) level such as the i*
goal and yields an observable result of value.</p>
      <p>Task: In a task dependency, the depender depends on the dependee to carry out
an activity. The dependum names a task which speci es how the task is to be
performed, but not why. The depender has already made decisions about how the
task is to be performed.</p>
      <p>Chosen Element: Business Use Case Realization.</p>
      <p>Rationale: Following the RUP knowledge base, a Business Use-Case Realization
describes how business workers, business entities, and business events
collaborate to perform a particular business use case. This corresponds to the
purpose of the i* Task and is in line with the choice made for the (hard)goal
element since we have selected the BUC at that stage.</p>
      <p>Softgoal: In a softgoal dependency, a depender depends on the dependee to
perform some task that meets a softgoal. A softgoal is similar to a goal except that the
criteria of success are not sharply de ned a priori. The meaning of the softgoal
is elaborated in terms of the methods that are chosen in the course of pursuing
the goal.</p>
      <p>Chosen Element: Business Goal.</p>
      <p>Rationale: Following the RUP knowledge base, a Business Goal is a
requirement that must be satis ed by the business. Business Goals describe the desired
value of a particular measure at some future point in time and can therefore
4</p>
      <p>Yves Wautelet and Manuel Kolp
be used to plan and manage the activities of the business. This de nition best
corresponds to the purpose of the Softgoal.</p>
      <p>Actor Boundary: Actor boundaries indicate intentional boundaries of a
particular actor.</p>
      <p>Chosen Element: Package.</p>
      <p>Rationale: Following the RUP knowledge base, a general purpose mechanism
for organizing elements into groups. Packages may be nested within other
packages. Organizing elements into groups is precisely what we intend to do so we
have selected this element for this purpose.</p>
      <p>
        The UML Pro le for i* Modeling. The result of our study is summarized
in Table 3. The graphical notation is documented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>i* element
This section highlights a number of open issues about the proposed mappings
and justi es some choices made/compromises taken in a more global manner.</p>
      <p>A functional goal is mapped to a business use-case; the rationale is based
only on part of the de nition of the latter element. One could argue that the
de nition also emphasizes that each instance of it is a \sequence of actions that
a business performs", which, based on the corresponding i* de nition, matches
better with the notion of task. Nevertheless, a use-case realization is something
even more concrete, so it makes sense to map tasks into something more detailed
and tangible than in what goals are mapped. Still, a goal by itself does not have
any notion of a sequence of actions in it. Therefore, while the mapping is aligned
to part of the de nition, the compromise partly induces a semantic mismatch.</p>
      <p>While the de nition of a business goal as a desired value of a particular
measure points to being a non-functional objective, the existence of such a desired
value makes the goal objective and binary. Softgoals are subjective and can be
achieved to some acceptable degree; a semantic distance is thus present.</p>
      <p>When mapping an actor boundary to a package, an important semantic
aspect of the model is potentially lost. An actor boundary is indeed not only a
grouping of model elements. Goal re nement and analysis within that boundary
is done from the point of view of the respective actor. Packages can only capture
these semantics if additional constraints are included.</p>
      <p>
        The two notations are consequently rather di erent and preserving semantics
within such a mapping is a challenge. The form of integration is consequently
of primary importance to higher the chances of adoption. If the purpose was to
translate a particular model from i* to the RUP/UML business use-case model
(or vice-versa), then some knowledge would typically be lost from the original
model and other, new, knowledge would be required to be de ned (manually) in
the target model. This way both models could bene t since traceability between
both analysis models is maintained. Also, additional advantage could come from
the representation of the same problem using di erent modeling perspective. In
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], we point to the adoption of i* into the business modeling discipline of the
RUP as only model relayed by a traditional use case model in the requirements
discipline. This way, the (system) use case model would be built on the basis
based on the lower-level (most operational) i* elements through a de ned
procedure. Other integration scenarios could nevertheless be envisaged and need to
be studied to select the best possible option.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>
        The rst step in the research aiming to integrate i* within the RUP has been
to study whether the RUP business use-case model provides elements that can
be used as syntax with a semantic understanding that is compliant with the one
associated to the i* ones. We have been able to nd answers for each of them
even if most often it was a matter of best possible compromise. Modeling in an
i* fashion with the RUP/UML business use-case model syntax and semantics is
thus possible; the graphical notation and an illustrative example are provided
in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The format of integration as well as reception of the new practice by the
RUP community remain nevertheless open issues.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Ongoing and Future Work</title>
      <p>In addition to the results presented so far, we highlight the fact that, over the
years, i* modeling has been applied in collaboration with our research team in
the context of multiple real-life industrial case studies to describe the situation
\as-is". We notably refer to the development of a production management system</p>
      <p>Yves Wautelet and Manuel Kolp
for a coking plant (2002-2007) and the development of a collaborative platform
for outbound logistics actors (2008-2010). Some of these projects followed the
RUP but i* modeling activities were applied \in parellel" rather than integrated
into the uni ed development methodology. Also, i* was then applied with its
traditional notation using custom CASE-tools. These cases can be used as basic
material to study the alignment of i* models with business use-case ones.</p>
      <p>Since our purpose is to integrate the i* approach (and thus its bene ts) within
a RUP/UML context we have to formally study the complementarity/overlap
between the models to evaluate the best integration option. Should we leave the
business use case model into the RUP as a complementary/alternative view to
i* models or should we use the i* model with the business use case model syntax
only? This can thus be the subject of an empirical evaluation through an ex-post
analysis of the cases at disposal.</p>
      <p>Next to this, if we want to favor industry adoption, we need to study sets
of questions related to the practical adoption of i* by RUP practitioners. More
precisely, we distinguish the following research questions:
{ To what extend are industry practitioners able to use the RUP syntax and
associated semantic in an i* context?
{ To what extend do industry practitioners perceive the bene ts of i*
modeling?
{ To what extend are industry practitioners willing to change their habits to
integrate i* modeling?</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>The authors would like to thank the anonymous reviewers for their valuable
comments and suggestions to improve the quality of the paper.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J.</given-names>
            <surname>Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kolp</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Towards requirements-driven information systems engineering: the tropos project</article-title>
          .
          <source>Inf. Syst.</source>
          ,
          <volume>27</volume>
          (
          <issue>6</issue>
          ):
          <volume>365</volume>
          {
          <fpage>389</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Terry</given-names>
            <surname>Quatrani</surname>
          </string-name>
          .
          <article-title>Visual Modeling with Rational Rose 2002 and UML</article-title>
          . AddisonWesley Longman Publishing Co., Inc., Boston, MA, USA, 3rd edition,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Terry</given-names>
            <surname>Quatrani</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jim</given-names>
            <surname>Palistrant</surname>
          </string-name>
          .
          <article-title>Visual Modeling with IBM Rational Software Architect and UML (The developerWorks Series)</article-title>
          . IBM Press,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Ahmad</given-names>
            <surname>Shuja</surname>
          </string-name>
          and
          <string-name>
            <given-names>Jochen</given-names>
            <surname>Krebs</surname>
          </string-name>
          . Ibm R ; rational uni ed process R ;
          <article-title>reference and certi cation guide</article-title>
          .
          <source>IBM Press, rst edition</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Yves</given-names>
            <surname>Wautelet</surname>
          </string-name>
          and
          <string-name>
            <given-names>Manuel</given-names>
            <surname>Kolp</surname>
          </string-name>
          .
          <article-title>Mapping i* within uml for business modeling</article-title>
          . In Joerg Doerr and Andreas L. Opdahl, editors,
          <source>REFSQ</source>
          , volume
          <volume>7830</volume>
          of Lecture Notes in Computer Science, pages
          <volume>237</volume>
          {
          <fpage>252</fpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Yves</given-names>
            <surname>Wautelet</surname>
          </string-name>
          , Manuel Kolp, and
          <string-name>
            <given-names>Stephan</given-names>
            <surname>Poelmans</surname>
          </string-name>
          .
          <article-title>Requirements-driven iterative project planning</article-title>
          .
          <source>In Mar a Jose Escalona Cuaresma</source>
          , Jose Cordeiro, and Boris Shishkov, editors,
          <source>Software and Data Technologies</source>
          , volume
          <volume>303</volume>
          of Communications in Computer and Information Science, pages
          <volume>121</volume>
          {
          <fpage>135</fpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Eric</given-names>
            <surname>Yu</surname>
          </string-name>
          , Paolo Giorgini, Neil Maiden,
          <string-name>
            <given-names>and John</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Social Modeling for Requirements Engineering</article-title>
          . MIT Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>