Unir las piezas
El desarrollo de software de componentes es una disciplina emergente que promete llevar la ingeniería de software a una nueva era, la era industrial de la Tecnología de la Información. Se prevé que el software se montará con componentes, de la misma forma que el hardware se construye actualmente con conjuntos de piezas. El proyecto EASYCOMP, financiado en el marco del programa de las Tecnologías de la Sociedad de la Información (IST), trató de adaptar el software a sus usos desarrollando herramientas para construir arquitecturas de software basadas en componentes. RECODER es un marco dirigido a ofrecer una infraestructura para la composición invasiva de software mediante la meta-programación estática. La composición invasiva se centra en los lenguajes habituales, por lo que esta infraestructura sofisticada soporta diversos análisis Java, C y C# , así como herramientas de transformación. Primero se genera un modelo de programa muy detallado, un meta modelo, mediante el análisis sintáctico de las entidades halladas en el código fuente y los archivos de la clase, junto con las relaciones entre los elementos. Para ello se efectúa un análisis de nombre y tipo que resuelve las referencias a entidades lógicas y que al mismo tiempo mantiene la información de referencias cruzadas. En la siguiente fase, la información del meta modelo es utilizada por meta-programas estáticos para controlar las transformaciones del modelo de código fuente. Las bibliotecas RECODER ofrecen una potente plataforma para todas las clases de transformación fuente a fuente de Java, C y C#. Estas transformaciones del programa generarán probablemente pequeñas cantidades de nuevo código. La impresora permite reproducir después los archivos de la fuente, integrando los fragmentos del nuevo código perfectamente, y manteniendo el formato del código. En el proceso de reescribir el código fuente de un sistema para mejorar su estructura y su readaptabilidad, el sistema se vuelve más fácil de mantener y más extensible, permitiendo el uso de recursos de desarrollo en otra parte. Al mismo tiempo, si el código está bien estructurado, se pueden introducir nuevos requisitos con más eficiencia y menos problemas. Las características de RECODER ofrecen un modo automatizado de mejorar las aplicaciones de componentes para usar versiones más actualizadas de los mismos, protegiendo al mismo tiempo el comportamiento. Es una potente herramienta que permite acelerar el desarrollo de aplicaciones de software, además de abordar su complejidad inherente.