MeTAGeM: Entorno de Desarrollo de Transformaciones de Modelos Dirigido por Modelos
Resumen
En los ultimos años la Ingeniería Dirigida por Modelos (Model Driven Engineering, MDE) ha ido adquiriendo cada vez mayor nivel de madurez. Siguiendo los principios del MDE, en el año 2001, la OMG (Object Management Group) propone la Arquitectura Dirigida por Modelos (Model Driven Architecture, MDA). Desde entonces, MDE y más concretamente la MDA, se han aplicado con éxito en diferentes contextos, dando lugar a una gran cantidad de metodologías dirigidas por modelos para el desarrollo de software que abarcan todos los campos de la Ingeniería de Software. Con la llegada de MDE los modelos pasan a ocupar un rol principal guiando el proceso de desarrollo: mediante la definición de modelos precisos que captan todos los requisitos y especificaciones sobre el sistema a construir así como la plataforma donde se implementará. La idea principal es ir generando una serie de modelos que permitan representar el sistema cada vez con menor nivel de abstracción. Así, el nivel de detalle de los modelos obtenidos en las últimas fases del proceso permitirá generar (semi-)automáticamente el código que implementa el sistema. El eslabón que une cada nuevo paso del proceso (la generación de un nuevo modelo) es una transformación de modelos. El propósito principal de las transformaciones de modelos es convertir un modelo (o varios) del sistema, en otro modelo (o varios). Estas transformaciones deberían hacerse de forma (semi)-automática, implementándose mediante la definición de reglas de transformación (mappings) entre dichos modelos. Surgen así nuevos lenguajes y herramientas, que facilitan la automatización de la operación de transformación. Estos lenguajes y herramientas difieren en múltiples aspectos tales como: el paradigma (declarativo, imperativo o híbrido); el grado de generalidad (de propósito general o diseñado para dominios específicos); o el nivel de abstracción. Esta diversidad de tecnologías trae aparejado una serie de problemas: por un lado, el usuario debe ser capaz de seleccionar el lenguaje más adecuado para resolver un problema en particular y si se desea cambiar de lenguaje, debe aprender a utilizarlo y el tiempo invertido en este proceso es directamente proporcional a la complejidad del lenguaje. Esto hace que el proceso de implementación de una transformación sea una actividad muy laboriosa. Por otro lado, en general las herramientas de transformación soportan un lenguaje de transformación específico, por lo que existen problemas de interoperabilidad entre las mismas. Por todo ello, se considera conveniente buscar soluciones que permitan facilitar el aprendizaje y uso de los lenguajes de transformaciones, así como mejorar la interoperabilidad entre las herramientas de soporte, de modo que se facilite también la migración de un lenguaje a otro. Dado que estamos en un contexto de MDE, sería lógico tratar de aprovechar las ventajas que la propia ingeniería dirigida por modelos nos proporciona, y aplicar MDE al proceso de definición de las transformaciones. Además, actualmente, no existe una única propuesta, similar a MOF para la especificación de lenguajes en el ámbito de MDE, que permita unificar los lenguajes de transformación existentes. Desde este punto de vista, la propuesta de entorno de desarrollo que se realiza en esta tesis permitirá realizar la definición de transformaciones de modelos a un alto nivel de abstracción sin tener en cuenta el lenguaje de implementación final de la transformación. Con ello se pretende resolver los dos problemas mencionados anteriormente: a) proporcionar un lenguaje de transformación de alto nivel, independiente de plataforma, y más cercano al usuario y b) permitir la generación (semi-)automática de transformaciones en lenguajes específicos dependientes de plataforma. Estas mejoras facilitarán tanto la tarea de desarrollo del programador de transformaciones, así como la interoperabilidad y migración entre herramientas y lenguajes. El entorno de desarrollo de transformaciones de modelos, dirigido por modelos (MeTAGeM) que se presenta en esta tesis incluye: La definición de un proceso metodológico para el desarrollo MDE de transformaciones de modelos. La especificación de un meta-modelo de transformaciones de alto nivel que permita modelar las transformaciones a nivel PIM. La especificación de un meta-modelo para la aproximación híbrida que permita modelar las transformaciones a nivel PSM. La especificación de un meta-modelo de transformaciones que incluya: las transformaciones entre el meta-modelo PIM y el meta-modelo PSM, y las transformaciones entre el meta-modelo PSM y los meta-modelos PDM (ATL y RubyTL). La implementación de una herramienta que soporte: a) el modelado de transformaciones de nivel PIM en base al meta-modelo de transformaciones propuesto; b) el modelado de transformaciones de nivel PSM en base al meta-modelo de la aproximación híbrida; c) el modelado de las transformaciones a nivel PDM en base a los meta-modelos del lenguaje de de transformación ATL y RubyTL; d) un meta-transformador que permita obtener los modelos de las transformaciones conformes al lenguaje de transformación ATL y RubyTL y a partir de estos últimos, el código implementable de la transformación en dichos lenguajes.
Descripción
Tesis Doctoral leída en la Universidad Rey Juan Carlos en febrero de 2011. Directora de la Tesis: Esperanza Marcos Martínez Co-Directora de Tesis: Belén Vela Sánchez
Colecciones
- Tesis Doctorales [1490]
Compartir
Estadísticas
Estadísticas de usoCitas
Los ítems de digital-BURJC están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario