A la hora de diseñar modelos software se puede optar por utilizar herramientas de notación gráfica o de notación textual. La preferencia entre ellas es uno de los grandes debates dentro de la Ingeniería del Software Dirigida por Modelos, en la que se enmarca este proyecto, pero, a pesar de que ambas presentan sus claros beneficios, la interoperabilidad existente entre ellas es casi inexistente. El objetivo de este proyecto es la creación de una herramienta que cambie eso. Esta se centrará, en primera
instancia, en las herramientas MagicDraw y USE, aunque utilizando un formato pivote que permita su ampliación a otros lenguajes.
Para su desarrollo se ha aplicado una metodología de trabajo iterativa incremental con la que, finalmente, se ha logrado una herramienta que permite transformar desde clases simples hasta máquinas de estados, utilizando como formato pivote Eclipse UML2 XMI, que es la adaptación al plugin de Eclipse del estándar XMI. Asimismo, el programa es capaz de corregir errores de equivalencia, normalmente provocados por la incompletud del modelo por parte del usuario.
Todo esto se ha implementado usando Xtext, donde se ha descrito la gramática de USE, y los plugins de Eclipse UML2 y EMF, que han permitido obtener la información procedente de los archivos pivote. Además, se ha desarrollado un algoritmo de
equivalencia de modelos, específico para los requisitos de esta aplicación, que permite la automatización de pruebas unitarias.