MoDisco Use Cases

MoDisco Logo

MoDisco provides a set of model discovery use cases covering different technical spaces and different domains of application. These use cases are concrete examples of how metamodel-driven reverse-engineering (MDRE) and corresponding discoverers can be applied to build models from already existing real-life systems, and also of how these generated models can then be used. Some of these use cases are simple ones, some others are more elaborated and reuse basic use cases or components of the MoDisco tool box.

Other Eclipse components have such a use case section like the GMT AMW one or the M2M ATL one.

A general description is given for each of these use cases, as well as some more precise documentations for many of them. For some of them, prototypes have already been implemented and are directly downloadable from this website.

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

Specification Partially Implemented Reaching Completion


List of use cases

  • Bugzilla Metrics

    This complete use case covers both the Model Discovery and Model Understanding phases. It is about discovering bugs information expressed in HTML format, building a Bugzilla model from these data, computing it in order to produce a Metrics model and finally building some visualizations of the generated metrics. In order to perform this last step, the Metrics Visualization Builder tool (from the MoDisco infrastructure) is used.
  • Eclipse/BIRT Project
    Sample Database

    This complete use case covers a complex Model Discovery phase. It is about discovering the information on the content of the "Classic Models" BIRT sample database, by using the database content discovery facility of the generic "Relational Database Information" discovery tool (currently not available), and then generating a specific ClassicModels model.
  • Generating Java Platform Ontologies

    This complete use case covers both the Model Discovery and Model Understanding phases. It is about reverse engineering the Java API from the class library JAR files using the Jar2UML discovery tool (part of the MoDisco tool box), generating OWL ontologies from the created UML models using ATL model transformations, and finally bundling these ontologies with the PlatformKit Eclipse plugin.
  • Performance-Annotated UML2 State Charts

    This use case covers both the Model Discovery and Model Understanding phases. It is about discovering performance information from an Excel file and building a Trace model from these data. Then, this generated model is computed in order to produce a Metrics model whose data are finally used to automatically apply a "Performance" profile to a UML2 state chart.
  • SharenGo Java Legacy Reverse-Engineering

    This complete use case, which covers both the Model Discovery and Model Understanding phases, is about reverse engineering a Java application. It uses the Java Abstract Syntax discovery tool (from the MoDisco technologies) to discoverer the abstract syntax tree (AST) of each Java compilation unit (i.e. each source file). The generated models are then analyzed by model transformations in order to produce a SharenGo business model.
  • Visual Basic Code Analysis

    This complete use case covers both the Model Discovery and Model Understanding phases. It is about discovering Visual Basic (VB) models from VB source code, building UML models (i.e. in our case class diagrams) from these models and processing the VB models in order to produce some metrics (and their corresponding visualizations) on them.