Jump to: navigation, search


< MoDisco
Revision as of 12:48, 11 January 2010 by Fgiquel.mia-software.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The goal of Java Discoverer plugin is to allow practical extractions of Java models from a Java project.


This plugin aims at analysing Java source code compliant with version 3 of "Java Language Specification" from Sun Microsystems and providing a model describing the information found, conform to the Java metamodel.

A Java model will contain the full abstract syntax tree of the Java program : each statement such as attribute definition, method invocation or loop is described. In addition, links between elements are resolved (by resolved link we mean for instance a link between a method invocation and the declaration of this method, or the usage of a variable and its declaration). The model can thus be seen as an abstract syntax graph (ASG).


To use the plug-in you need:

  • JDK 1.5 or above
  • a version of Eclipse 3.3 or above with the following set of plugins installed


Gabriel Barbier (Mia-Software)

Fabien Giquel (Mia-Software)

Frédéric Madiot (Mia-Software)

Source Repository

All of the source code is stored in a public source repository, which you can access at:


User manual

The plugin provides the user with a contextual menu to easily create models.

By right-clicking on a Java Project in the Eclipse Package Explorer view, you can quickly create the Java model of your application (see next Figure).

Menus in Eclipse to create model from source code

A progress bar will appear at the bottom of the window as soon as the operation begins. Depending on the size of your application, the reverse engineering might take some time to complete (see next Figure).

Progress bar during model creation

At the end of the process, the newly created model files are added at the root of your project and are automatically opened in the default editor (see next Figure).

Java model in the package explorer

.javaxmi files could be opened in the Sample Ecore Model Editor (see next Figure).

Java model viewed with EMF browser

They could also be opened in MoDisco model browser (see next Figure) which brings some graphical improvements.

Java model viewed with MoDisco browser