Lenguajes específicos del dominio para la extracción de modelos desde los espacios tecnológicos del grammarware, dataware y apiware.

  1. Cánovas Izquierdo, Javier Luis
Dirigida por:
  1. Jesús Joaquín García Molina Director

Universidad de defensa: Universidad de Murcia

Fecha de defensa: 24 de junio de 2011

Tribunal:
  1. Antonio Vallecillo Moreno Presidente/a
  2. Diego Sevilla Ruiz Secretario
  3. Orlando Avila García Vocal
  4. Vicente Pelechano Ferragud Vocal
  5. Jean-Marie Favre Vocal
Departamento:
  1. Informática y Sistemas

Tipo: Tesis

Teseo: 113097 DIALNET

Resumen

En los últimos años, el paradigma del Desarrollo Dirigido por Modelos (DSDM) se ha consolidado como una de las alternativas más destacables para alcanzar la industrialización del software gracias a su capacidad para elevar el nivel de abstracción al programar y a la mejora en la productividad y calidad del software que conlleva una mayor automatización. Aunque hasta ahora la mayoría de soluciones basadas en el DSDM han estado centradas en la construcción de nuevos sistemas software, las técnicas de este paradigma también han evidenciado su utilidad en otras aplicaciones, entre las que destaca la reingeniería o modernización de software legacy, el control y adaptación del funcionamiento de un sistema en tiempo de ejecución y el uso de modelos como una representación intermedia de alto nivel con el propósito de facilitar la integración de diferentes sistemas. Estas otras aplicaciones requieren normalmente la extracción de modelos a partir de artefactos software de diferente naturaleza, como ficheros de código fuente, ficheros de configuración XML, objetos de un API o datos almacenados en una base de datos. La obtención de modelos a partir de los artefactos origen es un ejemplo de la necesidad de establecer un puente entre dos espacios tecnológicos. Un espacio tecnológico define el contexto de trabajo proporcionados por una determinada tecnología, como es el caso del espacio tecnológico del DSDM (modelware) o del espacio tecnológico de los lenguajes de programación (grammarware). Un puente entre dos espacios tecnológicos tiene como propósito favorecer la interoperabilidad y utilizar las técnicas y herramientas del espacio tecnológico destino sobre artefactos del espacio tecnológico origen. En el caso de la extracción de modelos, una vez obtenidos los modelos es posible aprovechar técnicas del DSDM como transformaciones de modelos y comparación de modelos.%, las cuales son aprovechadas en aplicaciones como la modernización de software, el análisis de datos o la integración de aplicaciones. En la actualidad, la extracción de modelos se realiza por medio de herramientas implementadas con lenguajes de programación generales (General Programming Languages, GPLs), que es una tarea tediosa y dificulta enormemente su desarrollo. En el trabajo presentado en esta tesis se ha estudiado el problema de cómo facilitar la extracción de modelos desde tres diferentes espacios tecnológicos que cubren la mayor parte de los artefactos que componen un sistema software y que son: grammarware, que incluye código fuente expresado en un lenguaje de programación conforme a una gramática; dataware, que incluye los datos que conforman con un esquema de base de datos; y el apiware, que incluye a los objetos accesibles mediante un API (p. ej., Swing o SWT). Se han definido lenguajes específicos de dominio para la extracción de modelos desde cada uno de estos tres espacios tecnológicos, con el objetivo de facilitar la creación de puentes entre cada espacio tecnológico considerado y el modelware. Con ello se consiguen los beneficios que aporta la utilización de DSL frente a soluciones basadas en el empleo de lenguajes GPL, esto es, incrementar la productividad, mejorar la calidad y favorecer el mantenimiento. Los lenguajes desarrollados son Gra2MoL (grammarware}-modelware}), ScheMoL (dataware}-modelware}) y API2MoL (apiware-modelware). Realmente, Gra2MoL es una primera propuesta de lenguaje de transformación texto-a-modelo que permite transformar cualquier artefacto software conforme a una gramática en un modelo conforme a un metamodelo. Por otro lado, ScheMoL y API2MoL son realmente dos aproximaciones originales que abren la posibilidad de trasladar la filosofía que inspiró Gra2MoL al ámbito de la extracción de modelos de datos y objetos de API, respectivamente. Además, el trabajo con Gra2MoL ha supuesto arrancar una investigación en un área de reciente aparición como la modernización basada en modelos, en particular, en la experimentación con los metamodelos básicos de la iniciativa ADM (Architecture-Driven Modernization) de OMG.