lunes, junio 15, 2009

MoDisco: Ingeniería reversa guiada por modelos


Jean Bézivin, a quien se ha recordado aquí más de una vez, promueve y participa en un proyecto de especial interés: MoDisco ( abreviando Model Discovery), que se propone la extracción de modelos partiendo del análisis de sistemas antiguos (legacy systems). A mi juicio, este es un movimiento de importancia en el camino de avanzar hacia aplicaciones basadas en modelos: Si se examina la realidad del uso de sistemas informáticos, el panorama deja una gran heterogeneidad, un gran volúmen de sistemas obsoletos, y una débil penetración de estos conceptos, que dominan las actividades de grupos académicos y conferencias, pero que representan un porcentaje bajo del modo en que se construyen las aplicaciones en el mundo real. Si tomamos las búsquedas laborales, los ránkings de uso de lenguajes, lo que se entrevé de la vida diaria, encontramos un extenso uso de lenguajes de tercera generación, comenzando por COBOL (especialmente en España), RPG, Visual Basic, Java, C, C++...Una coexistencia de viejas aplicaciones que no se tocan porque funcionan, con modernos intentos cubriendo aspectos parciales, o viceversa, modernos paquetes preplaneados que integran antiguos desarrollos.
Por tanto, una herramienta que partiendo de lo que existe, permite crear un marco de abstracción adecuado para encauzar la construcción de software, abre posibilidades de facilitar la ampliación del uso de mejores herramientas, acortando el camino entre el desarrollo basado en modelos y las aplicaciones existentes. Como siempre se ha destacado aquí, manejar la construcción de las aplicaciones desde la abstracción de un modelo es la manera de superar esta compleja coexistencia que inevitablemente se dará en la vida real.
En fin, el objetivo de MODISCO es facilitar un puente hacia este terreno.
De la presentación del proyecto:
MoDisco (for Model Discovery) is an Eclipse-GMT project for model-driven reverse engineering. The objective is to allow practical extractions of models from legacy systems. Because of the widely different nature and technological heterogeneity of legacy systems, there are several different ways to extract models from such systems. MoDisco proposes a generic and extensible metamodel-driven approach to model discovery. A basic framework and a set of guidelines are provided to the Eclipse contributors to bring their own solutions to discover models in various kinds of legacy.
Sobre la importancia de su enfoque para hacer ingeniería reversa de antiguos sistemas, dice su presentación:

What are the benefits of the MoDisco approach compared to already existing reverse engineering tools?

First, MoDisco proposes a unified approach to model-driven reverse engineering and a metamodel driven methodology. This way, we are able to work in the modeling world, coming from a heterogeneous world to a homogeneous one. The target model engineering space already proved its adaptability and scalability by several experiments to match requirements for data integration, tools interoperability and platform migration.

Moreover, the well structured modeling world allows easy manipulation of many different concepts in a unified way. For instance, every model can be transformed, weaved, extracted with the same tool set. As those operations are defined upon models’ metamodels, they are reusable for different use cases.

Una característica (propia de Eclipse) es su característica de ser extensible, lo que deja abierta la posibilidad de adecuarlo a diferentes requerimientos a partir de su núcleo.
The MoDisco framework is a generic framework that provides a basis for extension. It offers a minimum tool set to allow model discovery. The first component is a base metamodel. It is based on the Knowledge Discovery Metamodel (KDM) from the OMG. Actually, it is a minimal subset of KDM allowing end users to define (by extension) some KDM compliant metamodels. The framework offers facilities to manipulate models which metamodels are extensions of the base metamodel.
Sobre los soportes en que se basa MODISCO:
Due to the highly diversified nature of the considered legacy, MoDisco is a collaborative project involving several organizations. Each of them will bring its own expertise in a given area. MoDisco will use as often as possible the solutions elaborated by the OMG ADM (Architecture Driven Modernization) Task Force.
(...) As a GMT project, MoDisco will make good use of other GMT projects or solutions available in the Eclipse Modeling Project (EMF, M2M, GMF, TMF, etc), and more generally of any plugin available in the Eclipse environment.
Puede consultarse su documentación en el mismo sitio.

Nota: Este artículo fue adelantado parcialmente ayer. Esta es su versión "definitiva"
Nota 2: La imágen pertenece al sitio, y es reproducida en la hoja de información rápida y en el papel de presentación.

No hay comentarios.: