En este artículo se presenta un ejemplo que describe cómo la Ingeniería Dirigida por Modelos (IDM) puede ser aplicada al desarrollo de herramientas para la ingeniería reversa y comprensión de programas. Se seleccionó como caso de estudio la herramienta CodeCrawler, específicamente la funcionalidad denominada polymetric view, desarrollada mediante tecnologías y técnicas de la IDM. Para ello, se emplearon dos metamodelos (entrada y salida) y transformaciones a nivel de los metamodelos que permiten generar la información de un polymetric view asociado a un proyecto de software, utilizando la información extraída del código fuente. Las tecnologías utilizadas para el desarrollo del ejemplo, las relacionadas con el Eclipse Modeling Project, específicamente el lenguaje de transformación ATL y el lenguaje KM3. El enfoque seguido para obtener la implementación resultante puede ser utilizado para desarrollar una herramienta de ingeniería reversa y comprensión de software mediante técnicas de la IDM, incorporando el vocabulario del dominio en la implementación.
INTRODUCCIÓN
La evolución del software es uno de los problemas más importantes y recurrentes de la ingeniería del software. Esto es consecuencia de los rápidos cambios que se han producido en las últimas décadas, tanto a nivel tecnológico como en los métodos y técnicas de desarrollo de software; en consecuencia, las técnicas que soportan la evolución del software son una necesidad, especialmente para el software de gran tamaño (millones de líneas de código).
Hoy en día, como los cambios tecnológicos son tan rápidos, algunas tecnologías se quedan obsoletas rápidamente, incluso antes de alcanzar un nivel de madurez adecuado. El paradigma orientado a objetos (OO) se consideraba una solución para varios problemas de evolución y mantenimiento del software, pero la evidencia empírica está demostrando que el OO está creando nuevos problemas de evolución y debe utilizarse con cuidado para que la complejidad del mantenimiento no sea mayor que la de los sistemas tradicionales.
Además, el concepto de software heredado ha cambiado con el tiempo. En los sistemas de producción del mundo industrial, donde están los sistemas en producción, el término legado se ha convertido en algo habitual. En los últimos años, se ha convertido en normal utilizar el término "legado" para calificar el software Java o C++, y por ello puede decirse que la evolución del software OO y el software tradicional (código no estructurado en COBOL o similar) tienen el mismo nivel de importancia. En el pasado, el software heredado eran sistemas monolíticos, mientras que hoy en día casi todo el software es una combinación de componentes distribuidos, que utilizan tecnologías de middleware estándar y marcos empresariales, lo que provoca problemas en el proceso de evolución y mantenimiento.
Esta es una versión de prueba de citación de documentos de la Biblioteca Virtual Pro. Puede contener errores. Lo invitamos a consultar los manuales de citación de las respectivas fuentes.
Artículo:
Esquema de marca de agua de autoincrustación basado en un mecanismo de compartición de referencias con reconstrucción determinista del contenido
Artículo:
Teoría de juegos para mejorar la eficiencia del espectro en las redes en nube (cloud-RAN)
Artículo:
Estudios de interacción entre el uso del suelo urbano y el transporte basados en la teoría de redes complejas.
Artículo:
Marco de aprendizaje profundo híbrido basado en la fusión gaussiana de múltiples redes espacio-temporales para el reconocimiento de fases de la marcha.
Artículo:
Un algoritmo inteligente adaptativo para el equilibrio de servidores y la programación de tareas en redes de computación de niebla móvil.
Informe, reporte:
Diagnóstico sobre la logística del comercio internacional y su incidencia en la competitividad de las exportaciones de los países miembros
Infografía:
Sistemas de calidad. Six Sigma
Manual:
Química de los taninos
Artículo:
Influencia del COVID-19 en las dinámicas de exportación, producción y consumo de carne vacuna en Colombia y el mundo: Una revisión monográfica.