No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
eu.opensourceprojects.mondo.benchmarks.itmfactory
.gitignore
README.md

README.md

ITM Factory Benchmark

This benchmark contains two transformations and a set of queries, each addressing a different phase in a model-driven reverse engineering process. The use case for this benchmark is taken from the Eclipse MoDisco project.

Thanks to the MoDisco Java discoverer, we are able to extract Java models up to 1.3GB, that conform to the Java metamodel defined in MoDisco (refinement of the JDTAST metamodel). We kindly invite you to follow this link to get more familiar with MoDisco Java Discoverer(y).

Below an incremental list of JDT plugins, as they appear in the Eclipse Juno Distribtion.

Sets Plugings
Set1 org.eclipse.jdt.apt.pluggable.core
Set2 Set1 + org.eclipse.jdt.apt.pluggable.core
Set3 Set2 + org.eclipse.jdt.core+ org.eclipse.jdt.compiler + org.eclipse.jdt.apt.core
Set4 Set3 + org.eclipse.jdt.core.manipulation + org.eclipse.jdt.launching + org.eclipse.jdt.ui + org.eclipse.jdt.debug
Set5 org.eclipse.jdt.* (all jdt plugins)

Use cases description

Transformations

Java2KDM

This transformation takes place at beginning of almost every modernization process of a Java legacy system, it comes just after the discovery of the Java model from Java projects (plugins) using the MoDisco Java Discoverer. This transformation generates a KDM (Knowledge Discovery Metamodel) model that defines common metadata required for deep semantic integration of application life-cycle management tools. Based on the previously generated model, this transformation generates a UML diagram in order to allow integrating KDM-compliant tools (i. e., discoverers) with UML-compliant tools (e.g. modelers, model transformation tools, code generators, etc.).

KDM2UML

Based on the previously generated model, this transformation generates a UML diagram in order to allow integrating KDM-compliant tools (i. e., discoverers) with UML-compliant tools (e.g. modelers, model transformation tools, code generators,etc.).

The transformations can be launched from the ant files contained in the build folder. Please note that the input and output models path should be edited before launching the transformation

Queries

Java code quality

This set of code quality transformations identify well-known anti-patterns in Java source code and fix the corresponding issues by a model transformation. The input format of the transformations is a model conforming to the Java metamodel. For a specification for the transformations we refer the reader to the implementations of these fixes in well-known codeanalysis tools like CheckStyle and PMD. References to the documentation for each code fix considered in this benchmark can be found here.