=Paper=
{{Paper
|id=None
|storemode=property
|title=An Ontology-Based Methodology for Integrating i* Variants
|pdfUrl=https://ceur-ws.org/Vol-978/paper_1.pdf
|volume=Vol-978
|dblpUrl=https://dblp.org/rec/conf/istar/NajeraMPE13
}}
==An Ontology-Based Methodology for Integrating i* Variants==
Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 An Ontology-Based Methodology for Integrating i* Variants Karen Najera1,2 , Alicia Martinez2 , Anna Perini3 , and Hugo Estrada1,2 1 Fund of Information and Documentation for the Industry, Mexico D.F, Mexico {karen.najera, hugo.estrada}@infotec.com.mx 2 National Center of Research and Technological Development, Cuernavaca, Mexico amartinez@cenidet.edu.mx 3 Bruno Kessler Foundation - IRST, Center for Information Technology, Trento, Italy perini@fbk.eu Abstract. Many variants of the i* Framework have been developed since its definition. For instance, i* -based modeling languages have been proposed for agent-oriented and service-oriented software development, for modeling risk, security requirements, and so on. The integration of models expressed in i* variants poses interoperability problems. This is- sue has been faced at different levels, e.g. through unified metamodels, or with an interchange format to depict i* models. In our research work, we propose a practical approach to tackle the interoperability problems, exploiting ontology-based techniques. In a previous work, we presented an ontological representation of the i* metamodel and a tool to au- tomatically transform an i* model to an instance of this ontology. In this position paper, we describe a methodology to integrate i* variants through the ontological representation of the i* metamodel, and a mech- anism to support the understanding of models expressed in those vari- ants. As example of application, we present the integration of i*, Tropos and Service-oriented i* by using ontologies and a tool to automatically transform models expressed with those variants in terms of that ontology. Keywords: i*, organizational modeling, ontologies, model-driven engi- neering, model transformations. 1 Introduction The i* Framework [9] is a widely used organizational modeling technique. Since its definition, many research projects have used it in different application do- mains, hence many i* variants have been proposed. For instance, Tropos [5] for agent-oriented development, Service-oriented i* [3], and many others. Com- monly, differences among variants consist of the addition of constructs or changes in the semantics of the existing ones in the original framework, as remarked also in [4], which refers to a study of 63 papers on i* related methodologies, which were published between 2006-2010. Regardless of the degree of difference in variants, the integration and understanding of models expressed in i* variants poses interoperability problems. This issue has been faced at different levels, e.g. through unified metamodels ([1, 6]), and with an interchange format to depict i* models [2]. In this research work [7], we aim to show that the use of ontologies 1 Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 can provide a practical approach towards tackling the i* variants interoperabil- ity problem. As a preliminary stage, we have proposed the use of ontologies to integrate i* variants, propitiating the understanding of the variants and their models by means of a common language established by the ontologies. We used the Web Ontology Language “OWL” to describe ontologies, since it is a stan- dard of the Semantic Web which facilitates greater machine interpretability than XML or RDF, and provides a formal semantics. With our proposal, we bring the advantages of ontologies to the organizational modeling domain, such as querying, reasoning and organizational data specified in a Semantic Web for- mat. Our initial results have been presented in [8], namely: a) The development of an ontology-based metamodel for i* called OntoiStar and b) a tool-supported process to generate ontologies from models expressed in i*. In this paper, we present: a) a methodology to integrate i* variants by using ontologies on the ba- sis of OntoiStar, b) an example of application integrating the variants i*, Tropos and Service-oriented i*, and c) the extension of our tool-supported process to support the understanding of models expressed with the integrated i* variants. 2 Objectives The main objective of our research work [7] is The integration of i* variants through the use of an ontology and the automatic representation of models ex- pressed with those variants in terms of the ontology with i* variants integrated. Thereby supporting the understanding of variants and their models. For the ful- fillment of this objective four specific objectives have been identified: 1. The development of an ontology called OntoiStar for representing the core constructs of the i* variants. 2. The development of a methodology for integrating the constructs of several i* variants through the use of ontologies the basis of the ontology OntoiStar. 3. The application of the methodology to different i* variants, generating an ontology with i* variants integrated. 4. The automatic transformation of a model represented with one of the inte- grated i* variants into an ontology derived from the concepts of the ontology with the i* variants integrated. The first specific objective has been addressed in [8]. In this paper we focus on the last three specific objectives. 3 Scientific contributions Our scientific contributions are related to the accomplishment of the specific ob- jectives 2, 3 and 4 of our research work. Therefore, in this section we present our proposed methodology, which describes how to use ontologies to achieve the inte- gration of i* variants. Moreover, we present the application of the methodology to i*, Tropos and Service-oriented i*. 3.1 Integration methodology Our proposed integration methodology provides the guidelines to integrate con- structs of several i* variants into an ontology which extends OntoiStar [7, 8]. 2 Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 The ontology with i* variant integrated has been named OntoiStar+ in a gen- eral way, to indicate this ontology considers the constructs of two or more i* variants, no matter which or how many they are. The integration methodology to obtain OntoiStar+ is based on Model-Driven Engineering (MDE), since it is generated on the basis of OntoiStar which was developed through MDE at the level of metamodels. The methodology consists of two phases: 1) the development of an ontology for each i* variant desired to integrate and 2) the integration of the ontologies of the i* variants generating the ontology OntoiStar+. Phase 1) Development of an ontology for a specific i* variant In this phase the ontology for a specific i* variant is generated. The resultant ontology is based on OntoiStar. Therefore, additional constructs of a specific i* variant are added into OntoiStar. This phase may be performed several times when more i* variants need to be integrated. It consist of four steps: I. Identify. The first step corresponds with the identification of the additional constructs of the i* variant which are not part of the ontology OntoiStar. II. Categorize. The second step corresponds to the categorization of the ad- ditional constructs identified in the first step. Four categories allied with the elements of metamodels have been defined. A construct is categorized as: Concept, when it corresponds to a representation of something in the real world. Relationship, when it corresponds to a relationship of two or more concepts. Attribute, when it is used to define a property or characteristic of a concept. It may also refer to or set the specific value for a given instance of such. Attribute value, when it corresponds to those values that belong to an additional construct which has been categorized as attribute. III. Transform. The third step corresponds to the transformation of the addi- tional constructs into ontological constructs, i.e. classes, properties and axioms in OWL. Two sets of transformation rules have been proposed according with the i* variant specification. One for those constructs identified from a meta- model described in the UML language, and other for constructs identified from a textual description (Table 1). IV. Classify. In [7, 8] we presented the OntoiStar taxonomy which was defined according with the core i* concepts specified in [2]. This step corresponds with the classification, within OntoiStar taxonomy, of the new OWL classes resulting from the third step. Therefore, a new OWL class is subclass of the class: Actor, if the OWL class describes a new type of actor. Actor Relationship, if the OWL class describes a new type of actor relationship. Dependency, if the OWL class describes a new dependency relationship. The dependency basic structure has been already defined in OntoiStar. Boundary, if the OWL class describes a new type of boundary. Intentional Element, if the OWL class describes a new type of intentional ele- ment. Intentional Element Relationship, if the OWL class describes a new type of in- tentional element relationship. 3 Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 Table 1. Transformation rules From metamodel From textual description Each concept, concept relationship and Each concept, concept relationship and at- enumeration class is represented as a class tribute is represented as a class in OWL. in OWL. Each association is represented as an ob- If a class in OWL is created due a concept ject property in OWL. relationship, two object properties are cre- ated to complete the relationship. Each class property is represented as ax- - ioms in OWL. Each enumeration element is represented If a class in OWL is created due an at- as a class instance of the owner enumera- tribute, each attribute value is represented tion class in OWL. as a class instance of the corresponding at- tribute class in OWL. Attributes. Each enumeration type is rep- If a class in OWL is created due an resented as an object property in OWL. attribute, an object property is created Each primitive data type is represented as to complete the representation of the at- a data property in OWL. tribute. Phase 2) Integration of the ontologies of the i* variants In this phase, the ontologies of the i* variants (generated in phase 1) are in- tegrated by means of an iterative merging process, obtaining as a result, the ontology OntoiStar+. The merging process consist of applying a merging func- tion to the i* variant ontologies, two at a time, till obtain the ontology with all the desired i* variants. It is applied first to two i* variant ontologies, then, the resultant ontology is merged with another i* variant ontology, and so on. See for instance Fig. 1. The merging function consist of bringing together all the constructs of two ontologies, taking into account that duplicated constructs are only considered one time in the final merged ontology. The merging function has been implemented in the tool described in 3.3. With this approach a user can select the ontologies to merge according to the i* variants the user works with. 3.2 Application of the integration methodology We have applied the integration methodology to i*, Tropos and Service-oriented i*. The integration results are presented in Table 2 (attributes were omitted due to space). The first two columns describe constructs already included into OntoiStar. The next three columns contain the additional constructs of each variant (N.A. indicates there is no additional constructs). First, we performed Phase 1, therefore, additional constructs of each variant were identified, catego- rized, transformed and classified in order to obtain the ontology for each variant. For instance, in Service-oriented i*, the construct “Service” was identified, then, it was categorized as concept and transformed as an OWL class. Finally, it was classified as an Intentional Element, therefore, placed as a sub class of the In- tentional Element class in the OntoiStar taxonomy. Then, Phase 2 was carried out by merging the ontology for i*, the ontology for Tropos and the ontology for Service-oriented i*, obtaining as a result the ontology OntoiStar+ with the three variants integrated. The integration process is represented in Fig. 1. The 4 Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 Table 2. Additional constructs of each i* variant. OntoiStar i* Tropos S-O i* OntoiStar+ i* concept Types Types Types Types Types Agent, Role, Agent, Role, Actor N.A. N.A. N.A. Position Position Is part of, Is a, Is part of, Plays, Covers, Actor Rela- Is a, Plays, Instance of N.A. Subordination Occupies, tionships Covers, Instance of, Occupies Subordination Goal, Goal, Softgoal, Softgoal, Service, Task, Resource, Dependency N.A. Plan Task, Process Plan, Service, Resource Process Boundary - N.A. N.A. N.A. - Goal, Goal, Softgoal, Intentional Softgoal, Service, Task, Resource, N.A. Plan element Task, Process Plan, Service, Resource Process Contribution, Contribution, Intentional Service, Decomposition, Decomposi- element N.A. N.A. Service-goal, MeansEnd, Service, tion, relationship Process Service-goal, MeansEnd Process last column of Table 2 contains the constructs included in the resultant ontology OntoiStar+. 3.3 Automatic transformation from i* based models to ontologies In this section, we present TAGOOn (Tool for the Automatic Generation of Organizational Ontologies), an extension of the one in [8]. TAGOOn provides the basis to support the automatic transformation from models expressed with different i* variants in ontologies. The current version supports models expressed with i*, Tropos and Service-oriented i*. The transformation process starts with the representation of models using iStarML [2]. Some additional constructs of the supported variants are not defined in its grammar. Therefore, we have used the open options of the iStarML specification to represent them. For instance, using the attribute ‘type’, concepts as plan, service and process could be defined in the tag < ielement >; and relationships as service relationship and service dependency could be defined using in the tag < ielementLink >. Fig. 1. i*, Tropos and Service-oriented i* integration process 5 Proceedings of the 6th International i* Workshop (iStar 2013), CEUR Vol-978 In order to perform the automatic transformation, TAGOOn parses the iStarML file and, according to pre-defined mapping rules, it instantiates the corresponding classes and properties in the ontology OntoiStar+. The output of the tool corre- sponds to the ontology OntoiStar+ with instances that represent the knowledge depicted in the organizational model. It shapes an organizational knowledge base in which is possible to apply services offered by ontologies such as querying and reasoning. Furthermore, it can be edited with an ontology editor, or it can be the input of development or reasoning platforms supported by ontologies. 4 Conclusion and Future Work In this paper, we presented a further step in the achievement of interoperability of i* variants, which extends a previous work were an ontological representation of the i* metamodel was proposed [8]. Specifically, we presented a methodology to integrate several i* variants into an ontology and our supporting tool TA- GOOn. With our proposal, we bring advantages of ontologies such as querying and reasoning, to the organizational modeling domain. Moreover, as the organi- zational knowledge is represented in OWL, it could be available to be exploited and consumed in the Semantic Web by paradigms such as Linked Data. The main steps we intend to address in our future work can be summarized as follow: a) To take into account the semantic of the i* variants during the creation of ontologies; b) To propose inference rules that enable the redefinition and adjustment of i* based models according with the semantic and differences of i* variants; c) To extend TAGOOn to carry out the automatic transformation of i* based models from one i* variant to other i* variant. References 1. C. Cares, X. Franch, E. Mayol, and C. Quer. A Reference Model for i*. In Social Modeling for Requirements Engineering, pages 573–606. MIT Press, 2010. 2. C. Cares, X. Franch, A. Perini, and A. Susi. Towards interoperability of i* models using istarml. Computer Standards & Interfaces, 33(1):69–79, 2011. 3. H. Estrada. A service-oriented approach for the i* framework. PhD thesis, Valencia University of Technology, Valencia University of Technology, Valencia, Spain, 2008. 4. X. Franch. The i* framework: The way ahead. In Sixth International Conference on Research Challenges in Information Science RCIS’12, pages 1–3, 2012. 5. P. Giorgini, J. Mylopoulos, A. Perini, and A. Susi. The Tropos Methodology and Software Development Environment. In Social Modeling for Requirements Engineer- ing, pages 405–423. MIT Press, 2010. 6. M. Lucena, E. Santos, C. T. L. L. Silva, F. M. R. Alencar, M. J. Silva, and J. Castro. Towards a unified metamodel for i*. In Research Challenges in Information Science, pages 237–246, 2008. 7. K. Najera. An ontology-based approach for integrating i* variants. Master’s thesis, National Center of Research and Technological Development, Cuernavaca, Morelos, Mexico, 2011. www.tagoon.semanticbuilder.com/NajeraThesis.pdf. 8. K. Najera, A. Perini, A. Martı́nez, and H. Estrada. Supporting i* model integration through an ontology-based approach. In iStar, pages 43–48, 2011. 9. E. S.-K. Yu. Modelling strategic relationships for process reengineering. PhD thesis, University of Toronto, University of Toronto, Toronto, Ont., Canada, 1996. 6