MoDisco Technologies
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
-
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.
-
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).
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.