Un enfoque dirigido por modelos para el desarrollo de servicios para sistemas ubicuos basado en propiedades de calidad
- Ruiz López, Tomás
- María José Rodríguez Fortiz Director
- José Luis Garrido Co-director
Defence university: Universidad de Granada
Fecha de defensa: 22 May 2014
- José Miguel Toro Bonilla Chair
- José Parets Llorca Secretary
- Juan Carlos Augusto Committee member
- Domenico Cotroneo Committee member
- Héctor Pomares Cintas Committee member
Type: Thesis
Abstract
La Computación Ubicua [1], propuesta por Mark Weiser en 1991, es un nuevo paradigma de interacción persona-ordenador que aboga por la incorporación de múltiples unidades de computación distribuidas en el entorno del usuario, inmersas en objetos de la vida diaria, de manera que su uso sea transparente y no intrusivo, y se comuniquen entre sí para facilitar al usuario el desarrollo de sus tareas. Entre las características más destacables de este nuevo paradigma se encuentran la consciencia del contexto (habilidad de los sistemas para detectar y reaccionar ante cambios en su entorno de ejecución) o la adaptatividad (habilidad de los sistemas para cambiar su estructura o comportamiento para cubrir mejor con una necesidad). Desde entonces, se han propuesto numerosos sistemas que tratan de implementar las ideas de la Computación Ubicua y que pueden encontrarse en la bibliografía. En los últimos años, gracias a avances tales como el desarrollo de las tecnologías móviles o el incremento de velocidad en las conexiones de red inalámbricas, se ha posibilitado aún más el desarrollo de tales sistemas. Sin embargo, el desarrollo de estos sistemas se ha realizado de forma ad-hoc, sin contar con un soporte metodológico apropiado que guíe a los ingenieros de software en el proceso de análisis, diseño e implementación de los mismos, y sin tener en cuenta las características especiales del nuevo paradigma. En primer lugar, el análisis de los requisitos de los Sistemas Ubicuos ha estado frecuentemente centrado en los Requisitos Funcionales, relegando los Requisitos No Funcionales (Non Functional Requirements, NFR [2]), tales como escalabilidad, robustez o seguridad, a un segundo plano. No obstante, la importancia de este tipo de requisitos es crítica para el diseño de software de calidad, especialmente cuando se toma en consideración la naturaleza dinámica y cambiante, dependiente del contexto, de los Sistemas Ubicuos. Por otra parte, los métodos de diseño existentes en la bibliografía emplean el paradigma de la Arquitectura Orientada a Servicios [3]. Aunque dicho enfoque es particularmente apropiado para el diseño de Sistemas Ubicuos, las propuestas existentes se centran más en la adquisición y gestión del contexto, principalmente mediante el empleo de ontologías, que en dotar al diseño de las estructuras necesarias para adquirir, manipular y adaptarse en base a los cambios ocurridos en dicho contexto. Finalmente, algunos trabajos existentes optan por la aplicación de técnicas basadas en Ingeniería Dirigida por Modelos [4] para la implementación del Sistema Ubicuo diseñado. En general, dichas técnicas corresponden a estrategias de generación de código para diferentes plataformas, en lugar de proponer un enfoque más global que cubra todo el ciclo de vida del software y permita realizar transformaciones de modelos desde la especificación de requisitos hasta dicha generación de código. Para cubrir estas carencias detectadas, esta tesis doctoral propone un enfoque dirigido por modelos para el desarrollo de servicios para sistemas ubicuos basado en propiedades de calidad, el cual se ha denominado MDUBI. Este enfoque comienza en la etapa de Ingeniería de Requisitos, para la cual se ha propuesto un método, llamado REUBI (Requirements Engineering method for Ubiquitous Systems), el cual está orientado a realizar un tratamiento sistemático de los NFR teniendo en cuenta las características especiales de los Sistemas Ubicuos e incorporando mecanismos para representar y gestionar la influencia del contexto en los requisitos. Posteriormente, se ha propuesto un método de diseño de servicios, llamado SCUBI (Service Component-based Design Method for Ubiquitous Systems). Dicho método promueve la creación de servicios para sistemas ubicuos, los cuales deben ser construidos en términos de componentes. Incorpora estructuras que permiten la adquisición, gestión y razonamiento del contexto, así como mecanismos para adaptar el servicio ante cambios en el mismo. El enfoque MDUBI contiene un conjunto de transformaciones que permiten, a partir de un modelo de requisitos conforme al método REUBI, obtener de manera (semi-)automática modelos de diseño conforme al método SCUBI, y posteriormente transformarlos para su implementación en plataformas concretas mediante técnicas de generación de código. La propuesta ha sido validada mediante su aplicación a un sistema real consistente en un servicio de localización híbrido capaz de dar soporte y adaptarse en tiempo real al posicionamiento en interiores y exteriores haciendo uso de diferentes métodos y tecnologías de localización, diseñados e implementados como componentes. [1] M. Weiser. The computer for the 21st century. Scientific American, 265(3):94¿104, 1991 [2] L. Chung, B.A. Nixon, E. Yu, and J. Mylopoulos. Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, 2000 [3] Thomas Erl. Soa: principles of service design, volumen 1. Prentice Hall Upper Saddle River, 2008. [4] Object Management Group. Model Driven Architecture (MDA). http://www.omg.org/mda/, 2003.