Towards a Domain-Specific Language to Design Adaptive Software: the DMLAS Approach
Hacia un lenguaje específico de dominio para el diseño de software adaptativo: la aproximación DMLAS
Un software adaptativo es capaz de modificar su comportamiento en tiempo de ejecución debido a cambios en el sistema, en los requisitos o en el entorno en el que se despliega. La importancia del software adaptativo radica en el hecho de que puede ajustar su propio comportamiento a diferentes entornos y contextos, y por lo tanto, dar a los usuarios una mejor experiencia. Sin embargo, el desarrollo de sistemas adaptativos no es una tarea sencilla, por dos inconvenientes: 1) faltan lenguajes para especificar los elementos relacionados con la fase de diseño. Como consecuencia, estos sistemas se desarrollan a menudo en una manera ad-hoc, sin el formalismo requerido, dificultando el proceso de derivación de modelos de diseño para las siguientes fases del ciclo de desarrollo.2) las decisiones de diseño y el modelo de adaptación tienden a ser implementados directamente en el código y no se especifican a nivel de diseño. Cuando los modelos de adaptación se acoplan directamente con el código, la evolución del sistema se vuelve más difícil. Para hacer frente a los problemas mencionados, este artículo propone DMLAS, un lenguaje específico de dominio para el diseño de sistemas adaptativos. Como prueba de concepto, este artículo proporciona un prototipo funcional basado en el plugin Sirius para Eclipse. El propototipo desarrollado es una herramienta que permite modelar, en varios niveles de abstracción, los principales componentes de un sistema adaptativo. La notación usada tanto por los modelos como por la herramienta ha sido validada de acuerdo con los nueve principios formulados por Moody.
INTRODUCCIÓN
El software adaptativo tiene la capacidad de modificar su comportamiento en tiempo de ejecución debido a cambios en el sistema, los requisitos o el entorno en el que se despliega [1]. El software adaptativo desempeña un papel importante en varios escenarios. Uno de ellos es cuando existen entornos en constante cambio con recursos de red y disponibilidad fluctuantes [2].
Este documento es un artículo elaborado por José Bocanegra García Ingeniero de sistemas, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. DEA en Tecnología e Ingeniería de Software, Universidad de Sevilla, España, Jaime Pavlich-Mariscal Ingeniero Civil en Computación e Informática, Universidad Católica del Norte, Chile. Licenciado en Ciencias de la Ingeniería, Universidad Católica del Norte. PhD in Computer Science & Engineering, University of Connecticut, USA y Angela Carillo-Ramos Ingeniera de sistemas y computación, Universidad de los Andes, Bogotá, Colombia. Maestría en Ingeniería de Sistemas y Computación, Universidad de los Andes. Doctorat en Informatique, Universite de Grenoble I, Francia, para la Revista Ingeniería y Universidad: Engineering for Development Vol. 20 Núm. 2. Publicación de la Pontificia Universidad Javeriana- PUJ. Colombia. Contacto: [email protected]
Recursos
-
Formatopdf
-
Idioma:inglés
-
Tamaño:440 kb