Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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].
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.