Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
MoDisco/JunoReview
< To: MDT
MoDisco |
Website |
Download |
Community |
Mailing List • Forums |
Bugzilla |
Open |
Help Wanted |
Bug Day |
Contribute |
Browse Source • Project 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 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 a restructuring within the MoDisco project in order to plug, when required, the concerned MoDisco components with the corresponding EMFT-EMF Facet project's ones (cf. the Query Manager and Facet Manager components moved from MoDisco). As this restructuring is not 100% complete, previous versions of these two Query Manager and Facet Manager components have been kept in order to ensure the full operation of all MoDisco components.
- 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 (direct access here to the MoDisco User Guide);
- 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.
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 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.
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 June 04, 2012.
178 bugs over 842 in total are still opened (click here to get the current Bugzilla status). Most of them are regular bugs and requests for enhancements. As a consequence, we will work on progressively fixing them for the service releases. This will include notably the work on the 5 bugs currently considered as "major". However, note that these bugs concern only some legacy technology-specific components and that none of them is related to the MoDisco core infrastructure.
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
- Constant activity on the dedicated MoDisco forum.
- Presentation at EclipseCon Europe 2012 as part of the talk Virtual EMF – Transparent Composition, Weaving and Linking of Models.
- Publication of a short article about the current status of MoDisco, as part of ERCIM News 88 focusing on Evolving Software (pages 43-44): How to Deal with your IT Legacy? What is Coming up in MoDisco.
- Publication of a complete article about MoDisco, as part of the JavaTech Journal #10 focusing on the Eclipse Indigo Simultaneous Release (pages 21-24): How to Deal with your IT Legacy? Reverse Engineering using Models: MoDisco in a Nutshell!.
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 validated Eclipse (MDT) MoDisco Project IP log for this release is located at https://bugs.eclipse.org/bugs/attachment.cgi?id=216680
Project Plan
The current project plan (MoDisco v0.10.0) is available from http://www.eclipse.org/projects/project-plan.php?projectid=modeling.mdt.modisco.
The MoDisco next version is planned to be part of the Kepler Simultaneous Release.
This next MoDisco version will include:
- Upgrades on the various existing components (e.g. bug fixing, performance increase, etc);
- Restructuring according to the migration of the concerned components in the EMFT-EMF Facet project.