<!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>From i* to OO-Method: Problems and Solutions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fernanda Alencar</string-name>
          <email>fernanda.ralencar@ufpe.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Beatriz Marín</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giovanni Giachetti</string-name>
          <email>ggiachetti@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuel Santos</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oscar Pastor</string-name>
          <email>opastor@dsic.upv.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaelson Castro</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xavier Franch</string-name>
          <email>franch@lsi.upc.edu</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad Politécnica de Valencia</institution>
          ,
          <addr-line>Camino de Vera s/n, CP:46022, Valencia</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universidade Federal de Pernambuco</institution>
          ,
          <addr-line>Av. Prof. Luiz Freire s/n, 50740-540, Recife</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universitat Politècnica de Catalunya</institution>
          ,
          <addr-line>Omega-122, CP: 08034, Barcelona</addr-line>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <fpage>9</fpage>
      <lpage>14</lpage>
      <abstract>
        <p>Nowadays, the successful development of software products depends on a good understanding of the system requirements. The i* framework offers expressive models to capture social and intentional characteristics in an organizational context. However, there is a well-known gap between intentional i* models and other conceptual models used for software development. In order to reduce this gap, we have developed a transformation process to obtain from i* models an appropriate input for the OO-Method Model Driven approach. In this paper, we present the problems detected from the application of this transformation process and the possible solutions, which are oriented to improve the alignment of i* and OO-Method conceptual models.</p>
      </abstract>
      <kwd-group>
        <kwd>Goal-Oriented Requirement Engineering</kwd>
        <kwd>i*</kwd>
        <kwd>Requirement transformations</kwd>
        <kwd>OO-Method</kwd>
        <kwd>Model-Driven Development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Currently, an appropriate requirement specification is a key aspect for the correct
development of software systems [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Requirements specification should include not
only software specifications, but also multiple complementary views: intentional,
structural, behavioral, functional, presentational, etc.
      </p>
      <p>
        Goal-Oriented Requirements Engineering (GORE) stood out because it is mainly
concerned with the stakeholder intentions and their rationales. Among the several
GORE works, we have chosen the i* framework [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] because it is a consolidated
modeling technique with good tool support [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and an abstract syntax formalized by a
metamodel specification [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Nonetheless, it is still an open question the relationship between the intentional
models described in terms of i* and the remaining conceptual models (e.g. structural,
behavioral, functional, presentational views) used in other well-known model driven
approaches.</p>
      <p>
        In this paper we report on lessons learnt with a collaborative project1, which aims
at relating i* and the OO-Method approaches. The OO-Method is used as a reference
MDD technology because it has been successfully applied to industrial software
development [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] by means of the OlivaNova suite [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        This rest of this paper is organized as follows: Section 2 presents our approach.
Section 3 presents some problems that have arisen in the application of this approach
and the solutions proposed for these issues. Finally, section 4 presents our conclusions
and further work.
2 Relating i* and OO-Method Approaches
We propose a transformation process presented with the Business Process Modeling
Notation (BPMN [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]) and composed by two sub-process, i* Models Analysis and
Transformation Guidelines (further details in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), to obtain an OO-Method
class model from an i* model (see Fig. 1).
      </p>
      <sec id="sec-1-1">
        <title>Identification of</title>
        <p>processes to
be automated
List of processes
to be automated</p>
      </sec>
      <sec id="sec-1-2">
        <title>Is there any</title>
        <p>process to YES
automatize?</p>
        <p>NO</p>
      </sec>
      <sec id="sec-1-3">
        <title>Highlight the</title>
        <p>elements to
be stored by
the system</p>
        <p>Elements
highlighted in
the i* model
s
i
s
y
l
a
n
A
l
e
ss odThe i* SR model without
ceo i*M the system actor
r
iftrsoonanaPm iilsdunenoeG
rT it
a
m
fr
o
s
na The highlighted
rT elements in the i* model
The conceptual
classes</p>
        <p>The classes’
attributes</p>
        <p>The classes’
services</p>
        <p>The initial
class model</p>
        <p>Initially, we analyze the goals defined in the Early SR model (see Fig.1, first
activity: Identification of processes to be automated) to capture the organizational
processes that we want to automate. Then, if there is any process to be automated, we
highlight the intentional elements that are related to these processes (goals and tasks
in the i* model). Those elements will be related to the information and/or entities to
be implemented by the intended system. From the list of identified intentional
elements we obtain an initial skeleton of OO-Method conceptual model through the
application of a set of transformation guidelines (second sub-process, see Fig.1).</p>
        <p>
          Table 1 depicts a summary of the transformation guidelines that are used to explain
the problems presented in this paper, which is a subset of the guidelines presented in
[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. This table shows the i* constructs involved in the transformation, the additional
information that must be considered to perform the transformation, and the target
constructs of the OO-Method class model.
Where the dependum resource and the
Dependency depender and dependee actors are trans- gAesnseorcaitaetdiocnlsasasreesautomatically defined among the
link formed in classes
        </p>
        <p>
          In order to illustrate, we present a brief example i* model (see Fig. 2) that is
defined from the OO-Method case study presented in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], which is related to the
operation of a Photography Agency. This case study is also used in [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ]. In particular, the
presented i* model shows the reception of work requests (i.e. job applications) from
photographers that want to be hired. Due to space constraints, only a simplified
version of the complete case study is presented. It is important to mention that, in the
complete i* model, not all the i* elements are involved in the transformation process.
Only those elements that are related to the intended system are considered (i.e. the
involved actors).
3
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Some Problems and Solutions</title>
      <p>In this section, we show some of the most relevant problems identified to perform an
automatic transformation of i* models into OO-Method Class Diagram, as suggested
by the previously guidelines. For each issue a particular solution is proposed.
Problem 1. It is not possible to automatically infer if a resource corresponds to a
physical or an informational entity. Since a physical entity is transformed into a class
and an informational entity is transformed into an attribute, this distinction must be
established. As a solution, we propose to extend resources with an attribute which
defines the its type because we pretend.</p>
      <p>Problem 2. Differences in the Abstraction levels of i* and OO-Method. The i*
requirements technique is oriented to capture aspects of the strategies and intentions
involved in the relationships among actors (stakeholders), while the OO-Method is
concerned with the representation of the functionality of the intended software
system. Note that there is some abstraction gap. Furthermore, the transformation
guidelines should only consider the subset of i* elements that are required for the
generation of an initial OO-Method class model. However, it is very important to keep the
traceability information between i* and OO-Method models. One possibility is to
define an auxiliary model to record the traceability data. This intermediate model
could be used specially for those i* elements that do have direct representation in the
OO-Method class model, e.g. goals.</p>
      <p>Problem 3. Two or more kind of elements of the i* model can be transformed into the
same kind of element of the OO-Method class model. As Table 1 shows that both
actors and resources may be transformed into classes. Therefore, if we examine only
the Class Diagram it is not possible to determine if it has been generated from an i*
actor or resource. In other words, the traceability between the conceptual
representation of the system and the corresponding requirement element is lost. This problem
could also be solved by the intermediate model introduced as solution for the problem
2.</p>
      <p>Problem 4. Some relevant information of the i* model may be lost in the
transformation process. After the application of the transformation guidelines, it is not possible
to identify from the generated Class Models: (i) which elements are related to the
depender, dependeee, and dependum in the dependency links; (ii) the involved tasks
decompositions; (iii) the services that are representing a means at the i* models to
preserve the means-end-links. The intermediate model presented as solution for
problems 2 and 3 can also store the mapping required to identify these elements from the
generated class model.</p>
      <p>
        Problem 5. It is not possible to directly specify which elements of the i* model must
be automated. According to the proposed transformation process (see Section 2), the
transformation guidelines are only applied to those i* elements that must be
automated into the software system. Thus, to capture this information, we propose to use a
metamodel extension mechanism to label the corresponding i* model, for instance,
such a UML profile [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In addition, the metamodel extension mechanism can also be
used to add the additional properties that are required to automate the transformation
guidelines, such as the additional property that is required to solve Problem 1.
Problem 6. The cardinalities of the associations between classes cannot be
automatically inferred. This problem is due to the difference in the abstraction level of i* and
OO-Method models. As a solution, we propose the introduction of a new property in
the i* model that allows the cardinality of the association among the generated classes
to be automatically inferred. In fact in the context of Software Product Line
development we have already proposed an i* extension that deals with cardinality (the so
called i*-c) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Further Work</title>
      <p>In this paper we outline our attempt to relate intentional information described in
terms of i* models and OO-Method conceptual models. Moreover, we highlight some
shortfalls and discuss possible solutions for some of the identified problems.</p>
      <p>
        Our proposal defines guidelines which be automated as well as some procedures
which are semi-automatic or even manual, i.e. require human intervention [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The
solutions presented in this paper are oriented towards the fully automation of the
process. Thus, we want to minimize the dependency on highly experienced analysts
and designers to manually transform the requirements models into appropriate
OOMethod models.
      </p>
      <p>
        Initial results of our approach are presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, it is important to note
that the quality of the GORE (i*) models directly affects the quality of OO-Method
conceptual models. In our proposal, we assume that the i* models are of high
standard, i.e. do not present defects (omissions, inconsistency, erroneous facts,
ambiguous, etc.). However, this assumption may be unrealistic. Thus, we are also working
in proposal to evaluate the quality of requirements models [
        <xref ref-type="bibr" rid="ref15 ref4">4, 15</xref>
        ].
      </p>
      <p>
        As future work, we plan to apply the transformation guidelines to different case
studies in order to evaluate the correctness and completeness of our proposal. In
addition, we plan to formalize and automate the guidelines using metamodeling standards
(such as MOF [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) and model-to-model transformations technologies (such as ATL
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). Finally, we also consider the definition of metamodel extensions for the i*
framework in order to improve the modeling facilities for MDD environments and to
completely automate the transformation of GORE models since we intend to preserve
the automate trace between rationales and the data design.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marín</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giachetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.: Aligning</given-names>
          </string-name>
          <string-name>
            <surname>Goal-Oriented Requirements</surname>
          </string-name>
          Engineering and
          <string-name>
            <surname>Model-Driven Development</surname>
          </string-name>
          .
          <source>Poster in the 11th International Conference on Enterprise Information Systems (ICEIS´09)</source>
          , May, Milan, Italy (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marín</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giachetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pimentel</surname>
          </string-name>
          , J.:
          <article-title>From i* Requirements Models to Conceptual Models of a Model Driven Development Process</article-title>
          . 2nd
          <string-name>
            <given-names>W.</given-names>
            <surname>Conf</surname>
          </string-name>
          .
          <source>on the Practice of Enterprise Modeling (POEM´09)</source>
          , Stockholm, Sweden (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Care Technologies Company. Available at www.
          <source>care-t.com. Last access: March</source>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>A Method for the Definition of Metrics over i* Models</article-title>
          .
          <source>In: 21st Int. Conf. on Advanced Information Systems (CAiSE</source>
          <year>2009</year>
          ), pp.
          <fpage>201</fpage>
          --
          <lpage>215a</lpage>
          . Springer-Verlag LNCS (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Giachetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Integration of Domain-Specific Modeling Languages and UML through UML Profile Extension Mechanism</article-title>
          <source>International Journal of Computer Science and Applications</source>
          , vol.
          <volume>6</volume>
          nº
          <issue>5</issue>
          ,
          <fpage>145</fpage>
          --
          <lpage>174</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Giachetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marín</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            <given-names>J.: Beyond</given-names>
          </string-name>
          <string-name>
            <surname>Requirements</surname>
          </string-name>
          :
          <article-title>An Approach to Integrate i* and Model-Driven Development</article-title>
          .
          <source>In: XIII Ibero-American Conference on Software Engineering (CIbSE2010)</source>
          , April, Cuenca, Ecuador (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ávila</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <string-name>
            <surname>J-PRiM</surname>
          </string-name>
          :
          <article-title>A Java Tool for a Process Reengineering i* Methodology</article-title>
          . In: RE 2006: p.
          <fpage>352</fpage>
          --
          <lpage>353</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jouault</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Allilaire</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bézivin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kurtev</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>ATL: A model transformation tool</article-title>
          .
          <source>Science of Computer Programming</source>
          , vol.
          <volume>72</volume>
          nº
          <issue>1-2</issue>
          ,
          <fpage>31</fpage>
          --
          <lpage>39</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lamsweerde</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          v.:
          <article-title>Systematic Requirements Engineering - From System Goals to UML Models to Software Specifications</article-title>
          . Wiley, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lucena</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
          </string-name>
          , J.:
          <article-title>Towards a Unified Metamodel for i*</article-title>
          .
          <source>In: 2nd IEEE Int. Conference on Research Challenges in Information Science (RCIS'08)</source>
          ,
          <source>Marrakech. Proceedings of the RCIS'08</source>
          , pp.
          <fpage>237</fpage>
          --
          <lpage>246</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Marín</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giachetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The Photography Agency: A case study of the OOMethod Approach</article-title>
          .
          <source>Technical Report DSIC-II/13/08</source>
          , Universidad Politécnica de Valencia, Valencia, España (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <source>OMG: MOF 2</source>
          .0 Core
          <string-name>
            <surname>Specification</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <source>OMG: Business Process Modeling Notation version 1</source>
          .1 (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pastor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Molina</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Model-Driven Architecture</surname>
          </string-name>
          in
          <source>Practice: A Software Production Environment Based on Conceptual Modeling</source>
          , Springer-Verlag 1st ed., Springer, New York, New York (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ramos</surname>
          </string-name>
          , R.A.:
          <article-title>AIRDoc - An Approach to Improve the Quality of Requirements Documents: Dealing with Use Case Models</article-title>
          .
          <source>PhD Thesis</source>
          . Federal University of Pernambuco, (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borba</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>G2SPL: A Goal Oriented Requirements Engineering Process for Software Product Line</article-title>
          (In Portuguese: G2SPL:
          <string-name>
            <surname>Um Processo de Engenharia de Requisitos Orientada</surname>
          </string-name>
          a Objetivos para Linhas de Produtos de Software).
          <source>In: Proceedings of 13th Workshop on Requirements Engineering (WER'10)</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modelling Strategic Relationships for Process Reengineering</article-title>
          ,
          <source>PhD Thesis</source>
          , University of Toronto, Toronto, Canada (
          <year>1995</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>