MoDisco/JunoReview

From Eclipsepedia

Jump to: navigation, search

< To: MDT

LogoMoDiscoSmall.jpg
MoDisco
Website
Download
Community
Mailing ListForums
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse SourceProject Set File

This page provides the required Docuware for the MoDisco v0.10.0 Release Review, as part of the Juno Simultaneous Release.

Contents

Overview

MoDisco stands for Model Discovery.
It provides a generic and extensible MDE framework to support different reverse engineering scenarios such as modernization, quality assurance, retro-documentation, architecture improvement, etc.
Thus, the focus of MoDisco is on Model Driven Reverse Engineering.
It is an Eclipse Model Development Tools (MDT) project, inside the Eclipse Modeling Project (EMP).

Features

In this release

For the third time, MoDisco is part of an Eclipse Simultaneous Release. The different features provided by MoDisco v0.10.0, as part of Juno, are of two categories.

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 Query Manager for allowing language-independent querying on models of legacy systems;
  • The Facet Manager for dynamically extending the metamodels used at different steps of the processes;
  • 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 (NEW);
    • 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.

Accordance with project plan themes and priorities

  • Provide the required service and support on the available components in order to ensure the quality and reliability of the platform.
    • Infrastructure layer (generic components)
    • Technologies & Use Cases layers (technology-specific components)
  • Perform the refactoring of the Discovery Manager to enhance the capabilities of the overall platform, as well as its usability.
  • Extend the support to other legacy technologies (with the new support for JSP and several JEE frameworks).

See http://www.eclipse.org/projects/project-plan.php?projectid=modeling.mdt.modisco

Non-Code Aspects

The complete MoDisco documentation is available from the MoDisco Wiki page:

  • Project's general information;
  • Reference documentation on the various components;
  • 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.

APIs

TO BE UPDATED...

Architecture

The MoDisco architecture is detailed in http://wiki.eclipse.org/MoDisco/Architecture.

Testing & Packaging

MoDisco uses a Buckminster-based system to build and promote versions.
Each new build is tested at least with Eclipse 3.8 and 4.2 (Juno).
Core plugins are provided with dedicated test plugins checking their valid behavior.
MoDisco is integrated into the Juno Release Train since the beginning.
It is also part of the Amalgamation Modeling Package for Juno.

Tool Usability

MoDisco is used for building Model Driven Reverse Engineering solutions to different scenarios such as:

  • Legacy Modernization
  • Quality Assurance
  • Retro-documentation
  • Architecture Improvement
  • Etc

End-of-Life

Some components from the MoDisco previous release builds are now deprecated.

Bugzilla

  • Bugzilla snapshot for Juno as of May XX, 2012.

SNAPSHOT TO BE ADDED...

  • More detailed information is available in TO BE COMPLETED.

Standards

The MoDisco project has been working in close collaboration 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.

UI Usability

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

Schedule

MDT MoDisco is a "+3" project in the simultaneous release

M1	08/17/2011
M2	09/28/2011
M3	11/09/2011
M4	12/14/2011
M5	02/01/2012	
M6	03/21/2012	API freeze
M7	05/09/2012	Feature Freeze
RC1	05/23/2012	
RC2	05/30/2012	
RC3	06/06/2012	
RC4	06/13/2012		
Juno	06/27/2012

Communities

Committer Changes

No changes since the last (Indigo) release.

IP Issues

The Eclipse (MDT) MoDisco project leadership verifies that:

  • the about files and use licenses are in place as per the Guidelines to Legal Documentation.
  • all contributions (code, documentation, images, etc) have been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy.
  • all significant contributions have been reviewed by the Foundation's legal staff.
  • all non-Committer code contributions, including third-party libraries, have been documented in the release and reviewed by the Foundation's legal staff.
  • all Contribution Questionnaires have been completed.
  • the "provider" field of each plug-in is set to "Eclipse Modeling Project“.
  • the "copyright" field of each feature is set to the copyright owner (the Eclipse Foundation is rarely the copyright owner).
  • any third-party logos or trademarks included in the distribution (icons, help file logos, etc) have been licensed under the EPL.
  • any fonts or similar third-party images included in the distribution (e.g. in PDF or EPS files) have been licensed under the EPL.

The Eclipse (MDT) MoDisco Project IP log in located at http://www.eclipse.org/projects/ip_log.php?projectid=modeling.mdt.modisco

Project Plan

The current project plan is available from http://www.eclipse.org/projects/project-plan.php?projectid=modeling.mdt.modisco.
Graduating to v1.0.0 for the Kepler Simultaneous Release is being considered. This next MoDisco version would imply:

  • Upgrades on the various existing components (e.g. bug fixing, performance increase, etc);
  • Final migration of the concerned components in the EMFT-EMF Facet project.