Jump to: navigation, search

MoDisco/JunoReview

< 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.

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 three 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 Generic Discoverer Benchmark for facilitating the execution and visualization of results from benchmarks on various model discoverers (NEW);
  • 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.

Accordance with project plan themes and priorities

  • Perform the required restructuring within the MoDisco project in order to migrate the concerned components into the EMFT-EMF Facet project (cf. the Query Manager and Facet Manager components previously part of MoDisco).
  • Study and provide means to work on improving the overall scalability of the MoDisco components (cf. the new Generic Discoverer Benchmark).
  • Provide the required service and support on the available components in order to ensure the quality and reliability of the platform.
    • Infrastructure layer (cf. generic components)
    • Technologies & Use Cases layers (cf. technology-specific components)

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

The current MoDisco API situation is detailed in this report 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 or APIs from the MoDisco previous release builds are now deprecated.

Bugzilla

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

UP-TO-DATE SNAPSHOT TO BE ADDED

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 could be considered. Such a 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.