MoDisco Technologies

MoDisco Logo

MoDisco provides a set of technology-specific tools which may be part of a metamodel-driven reverse-engineering (MDRE) framework or may be used in various MDRE processes (for instance in MoDisco use cases). Most of these tools are discoverers, concerning different technical spaces, which allow injecting raw data into concrete models.

A least a general description and first implementation is available for most of the presented tools, as well as some more precise documentations for many of them.

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

Specification Partially Implemented Reaching Completion


List of tools

  • Java 2 Standard Edition 5 Metamodel Implementation

    This provides an EMF implementation of the Java 2 Standard Edition 5 Metamodel (J2SE5) specification which defines a metamodel for representing models of Java programs developed using the Java Platform Standard Edition (Java SE), which is the premier platform for rapidly developing and deploying secure, portable applications that run on server and desktop systems spanning most operating systems.
  • 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).
  • 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.
  • 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.
  • CSharp Metamodel Implementation

    This provides an EMF implementation of the CSharp language specification which defines a metamodel for representing models of CSharp programs developed using the .Net Platform , which is the premier platform for rapidly developing and deploying secure, portable applications that run on server and desktop systems.
  • 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.
  • Unix File System

    This use case is about discovering the file tree of a Unix system and building a model representing it. The model produced conforms to a very simple Unix file system metamodel.