Publication:
Ingeniería dirigida a modelos, sistemas de transformación modelo a texto, complemento de refactorización de código C++ a C++11 para eclipse

Loading...
Thumbnail Image
Identifiers
Publication date
2013-06-25
Defense date
2013-07-04
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Impact
Google Scholar
Export
Research Projects
Organizational Units
Journal Issue
Abstract
En este Trabajo de Fin de Grado presentaremos los sistemas dirigidos por modelos (MDE) y las arquitecturas dirigidas por modelos (MDA). Trataremos de aplicar un sistema de transformación de modelo a texto dentro de una arquitectura MDA como una nueva alternativa a la generación de analizadores y conversores entre lenguajes de programación. El objetivo será conseguir un refactorizador de código que permita modelar una clase C++ y aplicar transformaciones para obtener código C++11. Para ello, tras analizar y utilizar diferentes mecanismos y sistemas que podrían realizar estas transformaciones, nos decidiremos por utilizar un sistema basado en plantillas de transformación y el lenguaje de programación JAVA. La situación ideal, consistiría en conseguir una arquitectura que nos permita realizar las tres actividades principales en estos sistemas de transformación modelo a texto de forma independiente, para que de esta manera, cualquier cambio que pretenda realizarse afecte a la menor parte de la arquitectura posible y sea fácil de modificar. En nuestro caso en particular, presentaremos una arquitectura basada en esta separación de funcionalidades para conseguir de esta manera realizar algunas transformaciones entre dos lenguajes de programación C++03 y C++11. Por un lado, procederemos a la lectura y modelado de ficheros C++ recurriendo a complementos de eclipse que nos permitan realizar esta función. Una vez, consigamos extraer el modelo y seleccionemos las transformaciones que pretendemos realizar desde el lenguaje inicial C++03 a nuestro lenguaje final C++11, utilizaremos el complemento de eclipse XTEND2 que nos permitirá realizar conversiones utilizando un lenguaje de programación muy sencillo y similar a JAVA. Para terminar, cuando todo el contenido del fichero C++ se halla analizado y se hayan realizado las transformaciones de lenguaje oportunas, la parte de la aplicación encargada de la generación de ficheros, se encargará de crear un nuevo fichero C++ con el contenido transformado a C++11. En resumen, lo que se propone con este Trabajo de Fin de Grado es presentar una arquitectura que nos permita realizar transformaciones entre los distintos lenguajes de programación que conviven hoy en día; y como muestra de un caso aplicado basado en una arquitectura MDA, un sistema de refactorización y rejuvenecimiento de código C++03 a C++11.
Description
Keywords
Diseño de software, Arquitectura de ordenadores, Lenguaje C++ (Lenguaje de programación), Microprocesadores, Lenguajes de programación, Traductores de lenguajes
Bibliographic citation