Está en la página 1de 5

Interoperabilidad para Modelos i*: La Ruta Recorrida

Carlos Cares1,2, Xavier Franch2


Universidad de la Frontera (UFRO) Fco. Salazar 01145 Temuco, Chile carlos.cares@ceisufro.cl 2 Universitat Politcnica de Catalunya (UPC) c/Jordi Girona, 1-3, E-08034 Barcelona, Spain franch@essi.upc.edu
1

Resumen. Los modelos orientados a objetivos han sido un aporte relevante en la Ingeniera de Software desde hace ms de 15 aos. Uno de los marcos de trabajo ms difundidos ha sido i*, marco de modelacin propuesto en 1995 y que ha sido ampliado, reinterpretado y aplicado a una amplia gama de tipo de anlisis organizacional, diseo de sistemas y de software. La gran variedad de aplicaciones se tradujo, a poco de andar, en variaciones del lenguaje original haciendo compleja la interoperabilidad de modelos. En este artculo presentamos una revisin cronolgica resumiendo los problemas tericos y las posiciones tericas adoptadas. La propuesta de un marco de interoperabilidad para modelos i*, el que ha resultado en una propuesta XML llamada iStarML. Keywords: Ingeniera de Requerimientos, istar, iStarML, interoperabilidad.

1 Introduccin a i* y la interoperabilidad de sus variantes


La Ingeniera de Software es entendida como la disciplina que se ocupa de todos los aspectos relacionados con la produccin de Software. En este proceso de construccin se ha acumulado suficiente evidencia para respaldar que la educcin, representacin y validacin de requerimientos son procesos crticos. La tarea de Ingeniera anterior, sin embargo, no aparece nada fcil, se requiere de habilidades sociales y del uso de tcnicas de entrevistas y registros para los cuales los Ingenieros Informticos normalmente no han sido preparados. Los modelos orientados a objetivos [1, 2] han surgido como una representacin grfica parcialmente formalizadas que permiten el dejar explcitos los objetivos de una organizacin y/o un sistema de software, de tal manera de poder, sobre estos modelos, revisar efectivamente las alternativas de satisfaccin mediante la incorporacin de funcionalidades o caractersticas de calidad especficas del producto de software. En particular el marco de modelacin i* [3], permite la especificacin de objetivos que han sido divididos en dos categoras, goals, u objetivos duros, y softgoals, u objetivos blandos. Mientras en los primeros se supone que existe un criterio socialmente aceptado de cmo dicho objetivo es satisfecho, la segunda representacin, softgoals, especifica justamente lo contrario, es decir, un objetivo

sobre el cual se sabe, a priori, que requiere un consenso sobre cmo deber ser satisfecho. Adicionalmente, los modelos i* incluyen la representacin de los medios necesarios para satisfacer los objetivos, especficamente por medio de actividades especficas (tasks) o recursos (resources). Una caracterstica relevante de i* es que permite asociar los objetivos a actores especficos, ya sean humanos o agentes de software, y adicionalmente representa las dependencias entre los actores. Desde la perspectiva de la Ingeniera de Requerimientos, una de las ventajas de la representacin de los objetivos es que queda establecida la relacin entre determinada funcionalidad (task), requerimiento no funcional (softgoal), o recurso de informacin (resource), los que constituyen medios para satisfacer objetivos organizacionales, es decir, un modelo i* responde bsicamente los porqu de determinados opciones organizacionales o caractersticas del producto de software. Esto permite no slo que el analista proponga alternativas para cumplir los objetivos, sino que, adems, est preparado para evoluciones del sistema previendo otras formas de satisfacer los objetivos ya representados.. Con el conjunto de ventajas enumeradas han surgido diversas usos que han considerado necesidades particulares de representacin en i*. Esto ha provocado la aparicin de variantes de modelacin i* ajustadas a distintos dominios de modelacin de sistemas de software y organizacionales [4-10]. Varias de estas variantes han desarrollado una o dos herramientas de modelacin y/o anlisis de modelos i*. De aqu ha surgido un problema no menor, cual es la interoperabilidad entre las diversas variantes de este marco de modelacin. Cada variante de i* tiene mapas diferentes de sus categoras fundamentales, o, lo que es lo mismo, tienen distintas ontologas. Por otra parte, la interoperabilidad en Ciencias de Computacin, basa su factibilidad en una ontologa comn, consecuentemente, el problema de la interoperabilidad no aparece como algo tericamente sencillo de abordar, y, por ende, tampoco fcil de implementar a nivel prctico. Nosotros hemos estudiado el problema y hemos aproximado una solucin terica y prctica que, aparentemente, la comunidad comienza a adoptar. En este artculo deseamos compartir un resumen de la ruta recorrida en esta propuesta de interoperabilidad para i* y parte de las tareas que nos parecen interesantes de abordar hacia el futuro.

2 La Ruta Recorrida de una Propuesta de Interoperabilidad


En el ao 2004 el grupo de investigacin GESSI de la Universidad Politcnica de Catalua, decidi estudiar en profundidad el marco de modelacin i*, pareca un marco promisorio para enfrentar diversas problemticas en la cual el grupo ya tena experiencia cientfica y prctica, por ejemplo seleccin de componentes de software, modelacin de la relacin entre componentes, derivacin y modelacin de las dependencias entre componentes, marcos de mtricas para arquitecturas de software, representacin de requerimientos no funcionales entre otras. Este estudio se realiz en grupo dndonos cuenta, a poco de andar, de fundamentales diferencias en la modelacin, en la existencia de grupos cientficos diferentes, utilizando

aparentemente el mismo marco, pero con interpretaciones y constructores de lenguajes distintos. Los estudios que realizamos aqu fueron [11] y [12]. Con posterioridad logramos madurar las diferencias entre las variantes y generar un metamodelo contenedor de los conceptos fundamentales y, a partir del cual, y mediante operaciones de refactorizacin UML, fue posible obtener las variantes ms conocidas del marco de modelacin. Quizs lo ms interesante de este trabajo fue tener el espacio para poder mostrar una genealoga de las variantes de i* y la diversidad de modelos e interpretaciones existentes [13]. El trabajo terico se ha dado fundamentalmente bajo dos lneas, una, la justificacin terica para levantar una propuesta de interoperabilidad basado en un intercambio donde, pese a que hay un tronco comn de conceptos, sus ontologas son efectivamente diferentes. Los conceptos de creencia, norma, servicio, variabilidad, entre otros son adoptados por variantes singulares sin tener equivalentes en las otras variantes. Este trabajo se ha divido en dos partes, uno que podramos llamar el lingsticofilosfico, donde hemos buscado en la lingstica, en la filosofa de las ciencias y en la neociberntica, los principios que nos permitan afirmar que una comunicacin entre mquinas es una extensin de la comunicacin humana (teora de amplificadores de inteligencia de Ashby [14]), la cual siempre est sometida a un proceso de intersubjetividad (Habermas [15]), y donde adems las ontologas son biolgicamente internas (Maturana [16]). Mostrada la factibilidad terica un segundo punto fue determinar la estructura de la propuesta de interoperabilidad. Esta vez nos basamos en la teora de campos cientficos (Bordieu [17]) y en la Semitica, especficamente en la Teora de Semiosferas (Lotman [18]). En ambos casos se describe una estructura social de comunicacin donde el ncleo conceptual esttico y su dominio se encuentra en el centro del campo cientfico o la semiosfera, y la polisemia y reinterpretacin se da en la periferia. Este trabajo se encuentra bosquejado en trminos genricos en [19] y aplicado a la comunidad de i* en la propuesta de [20]. Con esta revisin quedaba establecida la factibilidad terica e incluso una propuesta de estructura para conformar la interoperabilidad. Nos quedaba algo importante sin embargo, formular un modelo que caracterizara la prdida semntica al realizar las transformaciones, nos referimos a aquella prdida que, an bajo el esquema de interpretacin ms flexible, es imposible que genere sentido en el destino porque simplemente la ontologa de recepcin no lo permite. Aqu dimos con el marco conceptual de Waschmuth [21], el cual aunque fue generado para adaptaciones de modelos en base a refactorizaciones de metamodelos, result utilizable en nuestro caso si aceptamos que cada lenguaje tiene un metamodelo que lo define. Este marco terico permiti generar una propuesta de algoritmo para caracterizar la preservacin semntica al realizar las traducciones de modelos i* de una variante a otra. Pero quizs el aporte terico ms relevante de Waschmuth para nosotros, es la formulacin del concepto de supermetamodelo, un metamodelo superconjunto para un conjunto de metamodelos (el de las distintas variantes de i*) que es capaz de contener las instancias (modelos) de dicho conjunto de metamodelos. Con este concepto la interoperabilidad no slo se hace posible sino que se simplifica. En [22] mostramos como la existencia (al menos terica) de un supermetamodelo para i* reduce la necesidad de una cantidad cuadrada de traductores.

Finalmente la propuesta especfica de interoperabilidad, se formul como un formato XML, a esta propuesta la llamamos iStarML y cuenta con un manual de referencia. Adicionalmente hemos confeccionado una pgina Web con recursos como una biblioteca Java para el proceso de archivos istarml, y parsers de istarml en formatos XSD y de reglas Schematron. Estos recursos construidos para iStarML se encuentran en [23]. Las aplicaciones de iStarML hasta la fecha han sido diversas y bsicamente en dos frentes: (i) interoperabilidad y (ii) utilizacin de la representacin textual de modelos i*. En el primer caso hemos realizado pruebas de interoperabilidad las que hemos reportado en [24]. Aplicaciones de uso tenemos como lenguaje intermedio de transformacin [25] y para evaluacin de modelos i* [26]. Finalmente, tambin contamos con una evaluacin por parte de la comunidad realizada el ao 2008 pero reportada brevemente en un sumario respecto de iStarML en [27].

2 Conclusiones y Trabajo Futuro


Hemos presentado nuestra ruta de investigacin en cuanto a la interoperabilidad de modelos i*. El trabajo realizado cont con varias aristas tericas y prcticas. Pretendemos continuar con aquellas que nos parecen de mayor aporte. Una de ellas es mejorar iStarML en cuanto a ampliar su representacin a estructuras poco comunes y otras emergentes. Por ejemplo, una propuesta emergente es la generacin de mdulos conteniendo porciones de modelos que permiten mejorar la gestin y la escalabilidad de los modelos i* nos parece un desafo importante de abordar. Por supuesto que promover su uso por diversas herramientas tambin nos parece relevante porque apunta directamente al objetivo que origin la investigacin. Adicionalmente se est trabajando en una plataforma de mtricas que incorpora mtricas pre-definidas para modelos intencionales pero tambin la posibilidad de que usuarios ingenieros elaboren sus propias mtricas. En esta aplicacin el refinar el supermetamodelo propuesto para variantes i* resulta fundamental pues permitira generar mtricas vlidas para cualquiera de las variantes. Por lo tanto el llegar a una versin madura de nuestro supermetamodelo de i* es tambin otro objetivo de investigacin.

Referencias
1. Lamsweerde, A.v. Goal-Oriented Requirements Engineering. in Fifth IEEE International Symposium on Requirements Engineering (RE'01). 2001. Toronto, Canada. 2. Yu, E. and J. Mylopoulos. Understanding why in software process modelling, analysis, and design. in Proceedings of the 16th international conference on Software engineering. Sorrento, Italy. 1994: IEEE Computer Society Press. 3. Yu, E., Modelling Strategic Relationships for Process Reengineering, in Computer Science. 1995, University of Toronto: Toronto. 4. Bresciani, P., A. Perini, P. Giorgini, F. Giunchiglia, and J. Mylopoulos, Tropos: An agentoriented software development methodology. Autonomous Agents And Multi-Agent Systems, 2004. 8(3): p. 203-236.

5. GRL - Goal Oriented Requirement Language. 2000 September 20, 2005]; Available from: http://www.cs.toronto.edu/km/GRL/. 6. Estrada, H., A service-oriented approach for the i* framework, in Information Systems and Computation Department. 2008, University of Valencia: Valencia. 7. Siena, A., J. Mylopoulos, A. Perini, and A. Susi, Designing Law-Compliant Software Requirements. Lecture Notes in Computer Science (ER'09), 2009. 5829: p. 472-486. 8. Antnio, S., J. Arajo, and C. Silva, Adapting the i* Framework for Software Product Lines. Lecture Notes in Computer Science, 2009. 5833: p. 286-295. 9. Trujillo, J., E. Soler, E. Fernndez-Medina, and M. Piattini, An engineering process for developing Secure Data Warehouses. Information and Software Technology, 2009. 51(6): p. 1033-1051. 10. Cambridge Dictionary of American English. 11. Ayala, C., C. Cares, J. Carvallo, et al. Anlisis Comparativo de Lenguajes de Modelado Orientados a Objetivos Basados en i*. in Jornadas Iberoamericanas de Ingeniera del Software e Ingeniera del Conocimiento (JIISIC'04). 2004. Madrid, Espaa. 12. Ayala, P., C. Cares, J. Carvallo, et al. A Comparative Analysis of i*-Based Goal-Oriented Modeling Languages. in 17th International Conference on Software Engineering and Knowledge Engineering, SEKE'05. 2005. Taipei, Taiwan. 13. Cares, C., X. Franch, E. Mayol, and C. Quer, A Reference Model for i*, in Social Modeling for Requirements Engineering, E. Yu, et al., Editors. 2011, MIT Press: Cambridge, MA, USA, London, England. p. 573-606. 14. Ashby, W.R., An Introduction to Cybernetics. 1957, London, UK: Chapman & Hall LTD. 15. Habermas, J., Ciencia y Tcnica como Ideologa. 1986, Madrid: Tecnos. 16. Maturana, H.R. and F.J. Varela, De mquinas y seres vivos: autopoiesis la organizacion de lo vivo. 1998, Santiago de Chile: Editorial Universitaria. 17. Bourdieu, P., The Specificity of the Scientific Field and the Social Conditions of the Progress of Reason. Social Science Information, 1975. 14(6): p. 31-50. 18. Lotman, J., On the semiosphere. Sign Systems Studies, 2003. 33(1). 19. Cares, C. A Semiosphere-based Approach for Modelling Pre-semantic Engineering Communication. in Workshop on Philosophy & Engineering (WPE'08). 2008. London, UK: Royal Academy of Engineering. 20. Cares, C. and X. Franch. iStarML: Principles and Implications. in Submitted to iStar 2011 Workshop. 2011. Trento, Italia. 21. Wachsmuth, G., Metamodel Adaptation and Model Co-adaptation. Lecture Notes in Computer Science, 2007. 4609: p. 600-624. 22. Cares, C. and X. Franch, A Metamodelling Approach for i* Model Translations. Lecture Notes in Computer Science (CAiSE'11), 2011. 6741: p. 337-351. 23. Colomer, D., C. Cares, and X. Franch. The iStarML web site. 2011; Available from: http://www.essi.upc.edu/~gessi/iStarML/. 24. Colomer, D., L. Lopez, C. Cares, and X. Franch. Model Interchange and Tool Interoperability in the i* Framework: A Case Study. in 14th Workshop on Requirements Engineering (WER'11). 2011. Rio de Janeiro, Brasil. 25. Cares, C. and X. Franch, 3MSF: A framework to select mobile office devices. International Journal of Computer Science & Applications, 2009. 6(5): p. 121-144. 26. Cares, C. and X. Franch. Towards a Framework for Improving Goal-Oriented Requirement Models Quality. in 12th Workshop on Requirements Engineering (WER'09). 2009. Valparaiso, Chile. 27. Cares, C., X. Franch, A. Perini, and A. Susi, Towards interoperability of i* models using iStarML. Computer Standards and Interfaces, 2011. 33(1): p. 69-79.

También podría gustarte