Eclipse MoDisco 1.2.0

1.2.0

Description

Eclipse MoDisco (version 1.2.0) provides an extensible model driven reverse engineering framework to elaborate on solutions supporting different scenarios such as software modernization, quality assurance, retro-documentation, architecture improvement, etc. It offers base generic components (Model Browser, Discovery Manager, OMG metamodels, etc.) as well as the dedicated support (metamodels, model discoverers, transformations, etc.) for dealing with several different technologies such as Java, JEE, XML.

Architectural Issues

The MoDisco architecture is composed of three different layers:

Infrastructure

  • The EMF reference implementation of the core of Abstract Syntax Tree Metamodel (ASTM, an OMG/ADM standard);
  • The EMF reference implementation of Knowledge Discovery Metamodel (KDM, an OMG/ADM standard), corresponding discoverers, a KDM extension for weaving models of code with models of physical resources, a transformation to UML2;
  • The EMF reference implementation of Software Metrics Metamodel (SMM, an OMG/ADM standard);
  • The customizable Model Browser for more efficiently navigating large and complex models discovered from legacy systems;
  • The Discovery Manager for fastest integration of new or existing discoverers;
  • The Discovery Workflow for more easily building discovery chains (including discoverers and transformations);
  • The Generic Discoverer Benchmark for facilitating the execution and visualization of results from benchmarks on various model discoverers;
  • The Metrics Visualization Builder for automatically generating HTML, SVG or Excel representations of metrics stored in a model.

Technologies

  • Java
    • The EMF implementation of a metamodel for the full Java language;
    • The corresponding specific Model Browser customization;
    • The complete discoverer for automatically creating Java models from Java source code;
    • An additional discoverer for automatically creating composite models mixing models of Java source code and models of Java physical resources;
    • The complete generator for automatically creating Java source code from Java models;
    • The transformation from Java models to KDM models.
  • JEE
    • The EMF implementation of a metamodel for JSP;
    • The corresponding specific Model Browser customization;
    • The complete discoverer for automatically creating JSP models from JSP source code;
    • A complete discoverer for automatically creating models from web.xml files and ejb-jar.xml (multiple versions);
    • Facilities for developing new discoverers for project deployment descriptor files;
    • A library of queries and facets based on the Java metamodel but dedicated to the extraction of JEE information.
  • XML
    • The EMF implementation of a metamodel for XML (W3C definition);
    • The corresponding specific Model Browser customization;
    • The complete discoverer for automatically creating XML models from XML documents/files.

Use Cases

  • The Model filter plugin allows extracting specific information from Java projects using UML2 models (e.g.; dependency graphs, method calls) and displaying it in a graphical way.
  • The Simple transformation chain plugin shows how to chain components from the two other layers in a workflow that allows, for instance, to produce UML2 models out of Java projects.

The project makes good use of several different Eclipse projects (mainly Modeling projects). There is notably an historical link with the EMF Facet project (as it is a spin-off from MoDisco).

Security Issues

There is currently no security issue as far as MoDisco is concerned.

Non-Code Aspects

The complete MoDisco documentation is available from the MoDisco Wiki page: http://wiki.eclipse.org/index.php/MoDisco:

  • Project's general information;
  • Reference documentation on the various components (direct access here to the MoDisco User Guide, cf. "MoDisco Documentation" section);
  • Version specific information;
  • Additional information on available use cases, as well as incubation and deprecated components;
  • Complementary resources and useful links.

The MoDisco website provides a direct access to all the related resources: http://www.eclipse.org/MoDisco/.

Conforms To UI/UX Guidelines
Not verified
Usability Details

MoDisco intends to conform to the User Interface Guidelines. The missing items to be fixed are summarized in https://wiki.eclipse.org/MoDisco/UI_Accessibility_Issues.

End of Life

There has been no API getting deprecated or replaced this year.

Standards

The MoDisco project used to work in close collaboration during the past years with the OMG Architecture Driven Modernization (ADM) Task Force, which has resulted in the EMF implementation of the Abstract Syntax Tree Metamodel (ASTM), Knowledge Discovery Metamodel (KDM) and Software Metrics Metamodel (SMM) specifications.

Communities

The long-term activity in the project can be observed from the MoDisco forum and the MoDisco Bugzilla. It shows the interest of various types of users (from both the industry and academia) in reusing different MoDisco components as part of their own solutions.