MoDisco Tool - Java 2 Standard Edition Discovery Tool

MoDisco Logo

Keywords

Modernization, Model, Java, Reverse-engineering, Eclipse JDT, KDM

Overview

This tool is about discovering a complete model out of the source code of a Java applications. The model, which conforms to the J2SE5 metamodel, describes all the structural concepts (from packages up to method invocations and comments) and links between code elements (method invocations, variables usage, class inheritance, etc).
Initial models could be also translated in models conform to KDM using ATL transformation. And these transformation could be customized to adapt existing mapping to your needs.

This tool is provided by MIA-Software and its development is being supported by the IST European MODELPLEX project (MODELing solution for comPLEX software systems, FP6-IP 34081).
The overall approach is summarized in the following figure:



Tool overview

The discoverer, named JavaDiscoverer, uses the Eclipse JDT to analyse an Eclipse Java project. The abstract syntax tree (AST) provided by the JDT is used to create the model elements describing the structure of the application. Then, a resolving process is used to link the elements between their usage and their definition.
This metamodel allows a navigation through the elements of the application. For example, by following the links between model elements (method invocation to method declaration), it is possible to discover the data and control flow of the application.


Related Use Cases and Tools

The aim of this discoverer is to support these families of use cases :

  • retro-modeling (transformation of the resulting model to UML or a DSL)
  • quality analysis (computation of metrics on the resulting model)
  • refactoring (transformation of the resulting model and re-generation to Java)

Model filter use case

The goal of this use case is to obtain a specific UML model of a java element, final model describes dependencies from selected element to other elements, and it contains only required informations (it is a mimimalist model). It combines JavaDiscoverer with KdmToUmlConverter to attain this goal.


Documentation

J2SE5 Installation Guide: How to install the discoverer for initialising J2SE5 and KDM models.

Download

First complete version of the JavaDiscoverer plug-in.
All the sources are available from the MoDisco SVN

General Information
Related Links