Skip to main content
Jump to: navigation, search

Difference between revisions of "MoDisco/Proposal"

(New page: '''The Model Discovery (MoDisco) Component: A Proposal for a New Eclipse/GMT Component''' By Jean Bézivin, Hugo Brunelière, Mikaël Barbero – INRIA (ATLAS Group) Version 1.0 ---- ...)
 
(Revision History)
Line 63: Line 63:
 
== Revision History ==
 
== Revision History ==
  
- First draft, October 23, 2006
+
* First draft, October 23, 2006
- First revised version, October 27, 2006
+
* First revised version, October 27, 2006
- Last revised version, October 31, 2006
+
* Last revised version, October 31, 2006

Revision as of 05:08, 10 July 2009

The Model Discovery (MoDisco) Component: A Proposal for a New Eclipse/GMT Component

By Jean Bézivin, Hugo Brunelière, Mikaël Barbero – INRIA (ATLAS Group)

Version 1.0



Introduction

MoDisco (for Model Discovery) is an Eclipse GMT component 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. Due to the highly diversified nature of the considered legacy, MoDisco is a collaborative component involving many organizations. Each of them will bring its own expertise in a given area. A common infrastructure, inspired by the OMG KDM recommendation, will allow integrating all these contributions. As a GMT component, MoDisco will make good use of other GMT components or solutions available in the Eclipse Modeling Project (EMF, M2M, GMF, TMF, etc), and more generally of any plugin available in the Eclipse environment.

Background

Systems are becoming more and more complex. Developing and managing such complex systems already is a main issue. The next important effort is about reverse engineering complex legacy systems in order to be able to migrate them, make them interoperable, or simply understand them. The proposed MoDisco component is mainly about providing an extensible and generic framework under the Eclipse GMT project, part of the top-level Eclipse Modeling Project. The Eclipse GMT project acts as a research incubator for MDE prototypes. Thus, the MoDisco component aims at providing a base framework for model driven reverse engineering tasks. We will discuss the framework’s composition further in this document. One of the key to success of this extensible framework will be its adoption by leading industrials and the development of a wide variety of extensions and a wide user community.


Discovery Principles

Principles of model discovery are based on a metamodel-driven approach (see Figure 1). It means that every step is guided by a metamodel. Thus, the very first step of a model discovery process is always to define the metamodel corresponding to the models you want to discover. This step is common to all kinds of systems. Model

Then, the second step is about creating one or many discovering tools that will be called “discoverers” in this document. These tools extract necessary information from the system in order to build a model conforming to the previously defined metamodel. The way to create these discoverers is often manual but can also be semi-automatic. The output of a discoverer is a model, in XMI format for instance.

Motivating Examples


Component Description

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. As we already said, the framework is designed to be extended. A MoDisco extension is a couple of base metamodel’s extension and plugin. This couple is called a “blade”. Those blades have a specific domain of discovery, for instances Unix files system discovery, Cobol system cartography, 4GL source code cartography, etc. The global extension mechanism will be based on model extension concepts applied to metamodel (to be defined) and Eclipse plugins mechanism. The couple of extension points provided by the MoDisco framework will build the blades’ sleeve. A graphical overview of the MoDisco component is provided in Figure 5.

In addition, MoDisco will not only be a programming framework. It will define a methodology to help users to build extensions. For instance, the fact of having a system classification and a methodology for each system type would be crucial for its adoption.


Benefits of This Approach

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.


Organization

We propose that the MoDisco component be undertaken as part of Eclipse Modeling Project (EMP)/Generative Modeling Technologies (GMT). The initial list of committers, contributors and interested parties will be completed and provided later. MoDisco is supported by the ModelPlex European Integrated Project (FP6-IP #034081). A first prototype implementation of the basic framework is currently under development and will be contributed as soon as possible. Several white papers will also be provided illustrating various possible applications of the MoDisco tools.


Revision History

  • First draft, October 23, 2006
  • First revised version, October 27, 2006
  • Last revised version, October 31, 2006

Back to the top