Skip to main content
Jump to: navigation, search


< MoDisco‎ | Components‎ | Java‎ | Composition
Revision as of 13:14, 19 August 2010 by (Talk | contribs) (User manual)

DEPRECATED use Template:MoDiscoTabs and Template:MoDiscoTab as explain here : Wiki Template for MoDisco

Java Composition Metamodel


This metamodel JavaApplication aims at weaving a MoDisco Java Model with a MoDisco KDM Inventory Model. It relies on the core metamodel described in the kdm.source extension framework.

Such a metamodel allows to link java nodes to their physical position in the source files (JavaNodeSourceRegion metaclass owning startLine endLine properties).

As proposed in kdm.source extension framework, the reference JavaASTNodeSourceRegion.javaNode derived from ASTNodeSourceRegion.node. So as the Java2File.javaUnit from CodeUnit2File.unit.

JavaApplication Metamodel

Note : the references java2DirectoryChildren and java2FileChildren are expected to be containment references. For some technical reasons (memory usage tuning via lazy loading), they are not containment to make sure that the Java2Directory, Java2File and JavaNodeSourceRegion instances are managed in their own graph compared with JavaApplication instances (See benchmark).

Java Composition Discoverer


MoDisco provides a discoverer associated to the metamodel definition described here. The discovery takes as an entry one workspace Java project. The first step of the discovery creates one Java and one Kdm inventory model, using the associated discoverers. The second step creates a model with JavaApplication metamodel instances with references to the two models.

Java and kdm inventory discovery

User manual

The plug-in 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 Application model of your application (see next Figure).

Discovering a JavaApplication model

Discoverer API

Each MoDisco discoverer responds to a normalized interface and can be called programmatically (see org.eclipse.gmt.modisco.infra.discoverymanager.Discoverer).

As an example, you may checkout the code from project.


To use the plug-ins you need:

  • JDK 1.5 or above
  • a version of Eclipse 3.6 or above with the following set of plug-ins installed
  • EMF 2.5.0 or higher

Source Repository

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

Back to the top