=Paper= {{Paper |id=None |storemode=property |title=From i* to OO-Method: Problems and Solutions |pdfUrl=https://ceur-ws.org/Vol-586/iStar10-paper02.pdf |volume=Vol-586 |dblpUrl=https://dblp.org/rec/conf/istar/AlencarMGSPCF10 }} ==From i* to OO-Method: Problems and Solutions== https://ceur-ws.org/Vol-586/iStar10-paper02.pdf
        From i* to OO-Method: Problems and Solutions

       Fernanda Alencar1, Beatriz Marín2, Giovanni Giachetti2, Emanuel Santos1,
                   Oscar Pastor2, Jaelson Castro1, Xavier Franch3
   1
    Universidade Federal de Pernambuco, Av. Prof. Luiz Freire s/n, 50740-540, Recife, Brazil
                      fernanda.ralencar@ufpe.br, {ebs, jbc}@cin.ufpe.br
     2
       Universidad Politécnica de Valencia, Camino de Vera s/n, CP:46022, Valencia, Spain
                            {bmarin, ggiachetti, opastor}@dsic.upv.es,
        3
          Universitat Politècnica de Catalunya, Omega-122, CP: 08034, Barcelona, Spain
                                        franch@lsi.upc.edu




       Abstract. 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 organi-
       zational 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 transforma-
       tion process and the possible solutions, which are oriented to improve the
       alignment of i* and OO-Method conceptual models.

       Keywords: Goal-Oriented Requirement Engineering, i*, Requirement trans-
       formations, OO-Method, Model-Driven Development.



1 Introduction
Currently, an appropriate requirement specification is a key aspect for the correct
development of software systems [9]. Requirements specification should include not
only software specifications, but also multiple complementary views: intentional,
structural, behavioral, functional, presentational, etc.
   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 [17] because it is a consolidated
modeling technique with good tool support [7], and an abstract syntax formalized by a
metamodel specification [10].
   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.




                                              9
Proceedings of the 4th International i* Workshop - iStar10




    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 de-
velopment [14] by means of the OlivaNova suite [3].
   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 [13]) and composed by two sub-process, i* Models Analysis and
Transformation Guidelines (further details in [1] and [2]), to obtain an OO-Method
class model from an i* model (see Fig. 1).
                         i* Model Analysis




                                                                                                                                   Is there any
                                                                                       Identification of                            process to YES             Highlight the
                                                                                        processes to                               automatize?                 elements to
                                                                                        be automated                                                           be stored by        Elements
Transformation Process




                                                     The i* SR model without                               List of processes               NO                   the system      highlighted in
                                                        the system actor                                   to be automated                                                       the i* model
                         Transformation Guidelines




                                                               Guidelines 1.1          Guidelines 2.1          Guidelines 3.1           Guidelines 4.1,
                                                                  and 1.2                 and 2.2                 and 3.2                4.2 and 4.3
                                                                        Classes                 Attributes               Services             Relationships
                                                                      Identification          Identification           Identification         Identification



                                                          The highlighted              The conceptual              The classes’           The classes’            The initial
                                                      elements in the i* model             classes                  attributes              services             class model


                                                                       Fig. 1. The transformation process modeled with BPMN [13]

   Initially, we analyze the goals defined in the Early SR model (see Fig.1, first ac-
tivity: 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 ele-
ments 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).
   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
[2]. This table shows the i* constructs involved in the transformation, the additional


1 CAPES-DGU: Integration of Organizational Modelling Techniques to Software Automatic

                  Generation: OO-Method Case (in Portuguese). 2nd partial report. Ministério da Educação,
                  Coordenação Geral de Cooperação Internacional Programa Brasil-Espanha da CAPES/DGU.
                  Processo Nº 167/08, Brazil, 2010




                                                                                                                        10
                                             From i* to OO-Method: Problems and Solutions




information that must be considered to perform the transformation, and the target
constructs of the OO-Method class model.

    Table 1. Guidelines for the transformation of i* models into OO-Method class models.
i* Construct         Additional Information                         Class Model Construct
    Actor                                             Class
           Physical entity                            Class
           Informational entity related to a physical An attribute that represents information of the
           resource or an actor                       class generated from the actor or physical resource
                                                      Input arguments for the service generated from the
 Resource  Resource   in a decomposition  tree
                                                      related task
           Dependum resource                          Input argument of the depender task
           Physical entity inside of an actor boun- An association between the classes generated from
           dary                                       the physical resource and the owner actor
           Participating in a resource dependency A service of the class generated from the depen-
           as depender or dependee                    dum resource
   Task
                                                      A creation service of the class generated from the
           If generates a resource
                                                      resource
           Where the dependum resource and the
Dependency                                            Associations are automatically defined among the
           depender and dependee actors are trans-
   link                                               generated classes
           formed in classes

   In order to illustrate, we present a brief example i* model (see Fig. 2) that is de-
fined from the OO-Method case study presented in [11], which is related to the opera-
tion of a Photography Agency. This case study is also used in [1, 2]. 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 ver-
sion 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).




                                    Fig. 2. A illustrate example




                                                  11
Proceedings of the 4th International i* Workshop - iStar10




3   Some Problems and Solutions
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.
Problem 2. Differences in the Abstraction levels of i* and OO-Method. The i* re-
quirements 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 sys-
tem. Note that there is some abstraction gap. Furthermore, the transformation guide-
lines should only consider the subset of i* elements that are required for the genera-
tion 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.
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 representa-
tion 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.
Problem 4. Some relevant information of the i* model may be lost in the transforma-
tion 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 prob-
lems 2 and 3 can also store the mapping required to identify these elements from the
generated class model.
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 auto-
mated 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 [5]. In addition, the metamodel extension mechanism can also be




                                          12
                                          From i* to OO-Method: Problems and Solutions




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 automati-
cally 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 develop-
ment we have already proposed an i* extension that deals with cardinality (the so
called i*-c) [16].


4 Conclusions and Further Work

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.
   Our proposal defines guidelines which be automated as well as some procedures
which are semi-automatic or even manual, i.e. require human intervention [2]. 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 OO-
Method models.
   Initial results of our approach are presented in [6]. 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 stan-
dard, i.e. do not present defects (omissions, inconsistency, erroneous facts, ambi-
guous, etc.). However, this assumption may be unrealistic. Thus, we are also working
in proposal to evaluate the quality of requirements models [4, 15].
   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 addi-
tion, we plan to formalize and automate the guidelines using metamodeling standards
(such as MOF [12]) and model-to-model transformations technologies (such as ATL
[8]). 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.

References

1. Alencar, F., Pastor, O., Marín, B., Giachetti, G., Castro, J.: Aligning Goal-Oriented Re-
   quirements Engineering and Model-Driven Development. Poster in the 11th International
   Conference on Enterprise Information Systems (ICEIS´09), May, Milan, Italy (2009)
2. Alencar, F., Pastor, O., Marín, B., Giachetti, G., Castro, J., Pimentel, J.: From i* Require-
   ments Models to Conceptual Models of a Model Driven Development Process. 2nd W.
   Conf. on the Practice of Enterprise Modeling (POEM´09), Stockholm, Sweden (2009)
3. Care Technologies Company. Available at www.care-t.com. Last access: March (2010).




                                              13
Proceedings of the 4th International i* Workshop - iStar10




4. Franch, X.: A Method for the Definition of Metrics over i* Models. In: 21st Int. Conf. on
    Advanced Information Systems (CAiSE 2009), pp. 201--215a. Springer-Verlag LNCS
    (2009)
5. Giachetti, G., Marin, B., Pastor, O.: Integration of Domain-Specific Modeling Languages
    and UML through UML Profile Extension Mechanism International Journal of Computer
    Science and Applications, vol. 6 nº 5, 145--174 (2009)
6. Giachetti ,G., Alencar, F., Marín, B., Pastor, O., Castro J.: Beyond Requirements: An Ap-
    proach to Integrate i* and Model-Driven Development. In: XIII Ibero-American Confe-
    rence on Software Engineering (CIbSE2010), April, Cuenca, Ecuador (2010)
7. Grau, G., Franch, X., Ávila, S.: J-PRiM: A Java Tool for a Process Reengineering i* Me-
    thodology. In: RE 2006: p.352--353 (2006)
8. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: A model transformation tool. Science
    of Computer Programming, vol. 72 nº 1-2, 31--39 (2008)
9. Lamsweerde, A.v.: Systematic Requirements Engineering - From System Goals to UML
    Models to Software Specifications. Wiley, (2008).
10. Lucena, M., Santos, E.,Silva, M. J. , Silva, C., Alencar, F. , Castro, J.: Towards a Unified
    Metamodel for i*. In: 2nd IEEE Int. Conference on Research Challenges in Information
    Science (RCIS'08), Marrakech. Proceedings of the RCIS'08, pp. 237--246 (2008)
11. Marín, B., Giachetti, G., Pastor, O.: The Photography Agency: A case study of the OO-
    Method Approach. Technical Report DSIC-II/13/08, Universidad Politécnica de Valencia,
    Valencia, España (2008)
12. OMG: MOF 2.0 Core Specification (2006)
13. OMG: Business Process Modeling Notation version 1.1 (2008)
14. Pastor, O. and Molina, J. C.: Model-Driven Architecture in Practice: A Software Produc-
    tion Environment Based on Conceptual Modeling, Springer-Verlag 1st ed., Springer, New
    York, New York (2007)
15. Ramos, R.A.: AIRDoc - An Approach to Improve the Quality of Requirements Documents:
    Dealing with Use Case Models. PhD Thesis. Federal University of Pernambuco, (2009)
16. Silva, C., Borba, C., Castro, J.: G2SPL: A Goal Oriented Requirements Engineering
    Process for Software Product Line (In Portuguese: G2SPL: Um Processo de Engenharia de
    Requisitos Orientada a Objetivos para Linhas de Produtos de Software). In: Proceedings of
    13th Workshop on Requirements Engineering (WER’10) (2010)
17. Yu, E.: Modelling Strategic Relationships for Process Reengineering, PhD Thesis, Univer-
    sity of Toronto, Toronto, Canada (1995).




                                              14