MoDisco Toolbox

MoDisco Logo

MoDisco provides a set of tools which may be part of a metamodel-driven reverse-engineering (MDRE) framework or may be used in such a MDRE process (for instance in MoDisco use cases). Some of these tools are simple discoverers, concerning different technical spaces and different domains of application, that allow injecting raw data into models. Some others are more elaborated tools that allow performing different kinds of complex operation on models.

A least a general description and first implementation are given for each of the provided tools, as well as some more precise documentations for many of them. For the more advanced tools which are independent projects or other Eclipse components, the link to the official website is provided.

The progress status of each tool is indicated by the icons below:

Specification Partially Implemented Reaching Completion


List of tools

  • Java Abstract Syntax Discovery Tool

    This generic tool is about discovering a full abstract syntax tree (AST) of the code (statements, expressions, annotations and Javadoc) taken from a Java compilation unit (typically a Class). It builds models, representing Java compilation units, which conform to a metamodel designed from the Eclipse JDT Java API.
  • Metrics Visualization Builder

    This generic tool is about building metrics visualizations in different formats (HTML and Excel for tabular representations, SVG for graphical ones like bar charts and pie charts) from any metrics data stored into models that conform to the provided generic Metrics metamodel.
  • Eclipse/M2M ATL component

    The ATL (ATLAS Transformation Language) M2M standard component provides a complete set of model-to-model transformation (M2M) tools. These include many sample ATL transformations, an ATL transformation engine, an Eclipse IDE for ATL (ADT: ATL Development Tools), general documentations, etc.
  • Eclipse/GMT AMW component

    The AMW (ATLAS Model Weaver) GMT component provides a tool for establishing relationships (i.e., links) between models. The links are stored in a model, called weaving model which is created conforming to a weaving metamodel. A base weaving metamodel is provided: the metamodel may be extended to add other mapping semantics in order to allow creating variable mapping languages dedicated to specific application requirements.
  • Jar2UML Discovery Tool

    This discovery tool, written by Dennis Wagelaar from the System and Software Engineering Lab (VUB), is about generating UML models from Java APIs. It takes a Jar file as input and generates a UML file (that contains a representation of the API) as output.
  • Visual Basic 6
    Discovery Tool

    This generic tool is about discovering the structural part of the Visual Basic source code. It identifies and stores into a model (which conforms to the provided Visual Basic metamodel) the headers, constants, variables, functions and subs contained in a Visual Basic 6 source file.
  • Relational Database Information Discovery Tool

    This generic tool is about discovering information from any concrete relational database stored into a DBMS. It is composed of two distinct but complementary discoverers: the retrieved information concerns both the schema (i.e. the structure) and the tuples (i.e. the content) of a database. The objective of this tool is to build models, from this information, that conform to a database's schema metamodel or to a database's content metamodel.
  • KDM-to-UML2 Converter

    This tool is about converting KDM models into UML2 models in order to allow integrating KDM-compliant tools (i.e. discoverers) with UML2-compliant tools (e.g. modelers, model transformation tools, code generators, etc). The converter is implemented by an ATL model-to-model transformation taking as input a model conforming to the KDM metamodel and producing as output a model conforming to the UML2 metamodel.
  • Java 2 Standard Edition 5.0 Discovery Tool

    This generic tool is about discovering a complete model out of the source code of a Java 5 application. 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).

Incubation
Incubation