ERCIM News 88

Image ERCIM News 88 cover page
January 2012
Special theme: Evolving Software
Guest editors: Tom Mens (Univ. of Mons) and Jacques Klein (Univ. of Luxembourg)

This issue in pdf
(68 pages; 5,9 Mb)
Next issue
July 2013
Next special theme:
Intelligent Cars
Call for the next issue
Get the latest issue to your desktop
RSS Feed

How to Deal with your IT Legacy: What is Coming up in MoDisco?

by Hugo Bruneliere, Jordi Cabot and Grégoire Dupé

The Eclipse-MDT MoDisco open source project is part of the Indigo Eclipse Simultaneous Release. Here we describe how MoDisco can play a role in the evolution of (legacy) software, focusing on the latest project news.

MoDisco is an official Eclipse-MDT project, devoted to the Model-Driven Reverse Engineering (MDRE) of IT systems, which has already been successfully applied to the software evolution and modernization of many industrial legacy systems.

We believe that dealing with legacy systems is one of the main challenges of the software industry today. Indeed, we see increasing numbers of “revolutionary” technologies popping up which create tensions with all the “old-fashioned” existing systems which are still relevant and used within companies: to be able to adopt the new, you need to get rid of the old (or at least hide it).

Having a better understanding of legacy systems in order to document, maintain, improve or migrate them is not an easy task but is a key requirement in many companies. MoDisco intends to facilitate the process by offering a reusable and extensible model-based framework that facilitates the creation of reverse engineering solutions for software understanding, evolution and modernization. Relying on different Model Driven Engineering (MDE) technologies provided in Eclipse, all based on the Eclipse Modeling Framework (EMF), it provides a set of concrete components that can be combined efficiently to tackle this important issue.

The MoDisco open source initiative started in 2006 when the AtlanMod Team (Inria, Ecole des Mines de Nantes & LINA) and Mia-Software (Sodifrance Group) were working together in the context of the IST-FP6 MODELPLEX European project. AtlanMod created the MoDisco project in Eclipse-GMT (Generative Modeling Technologies, which acted at the time as an incubator for modelling prototypes), and several experimental components were then developed and contributed. Mia-Software quickly started contributing to the project and officially joined MoDisco in 2008. Since then, the MoDisco community grew progressively to reach its current high maturity level. The MoDisco base infrastructure and set of components are settled and, consequently, the project has been naturally promoted to Eclipse-MDT (Model Development Tools) which now has solid industrial support.

Figure 1: MoDisco, a Model Driven Reverse Engineering approach & framework
Figure 1: MoDisco, a Model Driven Reverse Engineering approach & framework

As shown in Figure 1, MoDisco can be effectively applied for implementing evolution and modernization processes (technology migration, software refactoring, architecture restructuring, etc), as well as for retro-documentation, quality assurance and any other situation in which a better understanding of existing IT systems is required.

Owing to its modular architecture (see Figure 2), the MoDisco framework en-compasses the three steps of a standard MDRE approach: 1) Discovery (ie ex-tracting a complete model of the source code), 2) Understanding (ie browsing and providing views on this model for a given purpose) and 3) Transformation (evolving the model towards a new technology/architecture etc).

bruneliere2
Figure 2: The MoDisco overall architecture & provided components

More specifically, as part of its “Infrastructure” layer, MoDisco offers a set of generic (ie legacy technology-independent) reusable components that play an invaluable role in building the core of MDRE solutions: Discovery Manager & Workflow for MDRE task orchestration, Model Browser for advanced navigation in complex models, model extension and customization capabilities for understanding (eg views definition), etc.

As part of its “Technologies” layer, it now provides an advanced support for the Java, JEE and XML technologies, including complete metamodels, corresponding model discoverers, transformations, code generators, customizations, query libraries, etc. Figure 3, for instance, shows a sample Java refactoring workflow in the MoDisco tooling.

Figure 3: A sample Java refactoring workflow implemented with MoDisco
Figure 3: A sample Java refactoring workflow implemented with MoDisco

MoDisco is also considered by the OMG Architecture Driven Modernization (ADM) Task Force as the reference provider for real implementations of several of its standards: Knowledge Discovery Metamodel (KDM), Structured Metrics Metamodel (SMM) and Abstract Syntax Tree Metamodel (ASTM). A complete documentation detailing all these components, as well as the project and related support in general, is freely available from the MoDisco project web site.

Today, the MoDisco approach and underlying framework are used as a solid base for real applications within companies. However, some important improvements on MDRE techniques are still needed. Important research issues to be addressed in the near future within the context of MoDisco include:

  • Scalability of model manipulation techniques (loading and unloading, discovery, querying, transformation, etc);
  • Advanced composition of heterogeneous models;
  • Traceability during the whole life cycle of a MDE/MDRE project.

Advances in these areas will strengthen the capabilities of the MoDisco framework, helping us to achieve our main objective: to provide the modernization engineer with a powerful and reliable approach, platform and corresponding support for elaborating on complex large-scale reverse engineering solutions.

Links:
MoDisco: http://www.eclipse.org/MoDisco/
AtlanMod Team:
http://www.emn.fr/z-info/atlanmod
Mia-Software: http://www.mia-software.com/
MODELPLEX project: http://www.modelplex.org/
ADM Task Force: http://adm.omg.org/

Please contact:
Hugo Bruneliere, Jordi Cabot
Inria, Ecole des Mines de Nantes, France
AtlanMod team
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it. , This email address is being protected from spambots. You need JavaScript enabled to view it.

Grégoire Dupé
Mia-Software (Sodifrance Group), France
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.

Add comment


Security code
Refresh

Contents