Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

MoDisco

Revision as of 05:55, 24 August 2009 by Nbros.mia-software.com (Talk | contribs) (Technologies: spelling : developed)

< To: GMT

LogoMoDiscoSmall.jpg
Legacy systems embrace a large number of technologies, making the development of tools to cope with legacy systems evolution a tedious and time consuming task.

As modernization projects face with both technologies combination and various modernization situations, model-driven approaches and tools offer the requisite abstraction level to build up mature and flexible modernization solutions.


What is MoDisco ?

MoDisco provides an extensible framework to develop model-driven tools to support use-cases of existing software modernization :

  • Quality Assurance: verifying whether an existing system meets the required qualities (detection of anti-patterns in existing code and computation of metrics.)
  • Documentation: extraction of information from an existing system to help understanding one aspect of this system (structure, behaviour, persistence, data-flow, change impact , etc).
  • Improvement: transformation of an existing system to integrate better coding norms or design patterns.
  • Migration: transformation of an existing system to change a component, the framework, the language, or its architecture

Modisco-Overview.PNG


In each case, modernizing an existing software system implies:

  • Describing the information extracted out of the artifacts of this system
  • Understanding the extracted information in order to take the good modernization decisions
  • Transforming this information to new artifacts facilitating the modernization (metrics, document, transformed code, ...)

MoDisco aims at supporting these three phases by providing :

  • Metamodels to describe existing systems
  • Discoverers to automaticaly create models of these systems
  • Generic tools to understand and transform complex models created out of existing systems
  • Use-cases illustrating how MoDisco can support modernization process

Description

To facilitate reuse of components between several use-cases, MoDisco is organized in three layers:

Modisco-Architecture.PNG
  • Use-Cases : tools providing a solution for a specific modernization use-case.


  • Technologies : components dedicated to one legacy technology but independent from one specific modernization use case.


  • Infrastructure : generic components independent from any legacy technology.

See MoDisco architecture detail...

Infrastructure

All the components of this layer are available as plugins and provided in one single Eclipse feature

Feature Infrastructure 0.7 contains :

Technologies

All the components of this layer are available as plugins and provided in several Eclipse features : one for each technology.

Feature J2SE5 0.7 contains:
Feature JavaAST 0.2 contains:
  • a complete metamodel for the Java language
  • a complete discoverer to create JavaAST models from Java source code contained in a Java project

Note : a new component merging J2SE5 and JavaAST has been developed and will be released soon

Feature CSharp 0.6 contains:

Use-Cases

All the components of this layer are available as plugins

Relationship with other Eclipse Projects

MoDisco reuses lots of EMP projects :

  • EMF to describe and manipulate models of existing systems.
  • M2M to implement transformation of models into other models
  • M2T to implement generation of text (documentation or code)

MoDisco also reuses other projects such as :

  • JDT to create models out of Java source code

Project plan

Additional components are planned to be added to MoDisco.

See the project's plan ...

Team

MoDisco has been initiated by the AtlanMod Team (INRIA) and is strongly supported by Mia-Software :

  • Hugo Bruneliere - AtlanMod (commiter)
  • Gabriel Barbier - Mia-Software (commiter)
  • Jean Bezivin - AtlanMod
  • Nicolas Bros - Mia-Software
  • Grégoire Dupé - Mia-Software
  • Frédéric Jouault - AtlanMod
  • Fabien Giquel - Mia-Software
  • Frédéric Madiot - Mia-Software
  • Jean-Sebastien Sottet - AtlanMod

How to contribute ?

See the process to contribute components to MoDisco.

See Also

Homepage on Eclipse website : www.eclipse.org/gmt/modisco

Newsgroup : Newsgroup.gif eclipse.modisco

Documents : presentations

Back to the top