This document provides information about Mia-Software and its MoDisco modeling project. It discusses how MoDisco can be used to generate models from various software artifacts like source code, configuration files, and databases. These models can then be used for tasks like quality analysis, understanding legacy systems, code refactoring, and technical migration. The document outlines MoDisco's support for technologies like Java, XML, and Eclipse plugins. It also describes MoDisco's model browser, extensibility features, and integration with other modeling standards and Eclipse projects.
I’m Frederic Madiot of Mia-Software
I’m going to talk about how the MoDisco project supports the specifications defined by ADM,
the OMG task force working on software modernization.
I will illustrate my presentation with a concrete example showing how ADM specifications and their implementation in MoDisco can be used to control the quality of Eclipse plug-ins.
First of all, let me me introduce Mia-Software and Atlanmod.
Mia-Software is member of the Eclipse foundation and we develop tools based on model-driven engineering.
These tools can be combined to transform existing software systems with a model-driven approach.
The idea is to create models from the existing systems, transform these models and regenerate the code with a new architecture or new technology.
Mia-Software is a subsidiary of Sodifrance which is the leader in the french market of IT modernization projects.
Sodifrance uses Mia-Software tools on modernization projects such as migrations from client-server applications to JEE or .Net platforms.
The approach we propose with MoDisco consists in creating fine-grained models from the different kinds of artifacts which compose an existing system. From these models we can then extract specific viewpoints to understand the existing system. And these viewpoints can also be used to regenerate a new version of the system.
MoDisco is an Eclipse platform for software modernization projects.
It has been created by AtlanMod during the Modelplex research project.
It is part of the Eclipse Modeling Project, under the MDT sub-project leaded by Kenn. MDT is the project which contains implementations of standards such as UML2 or OCL. The raison why MoDisco is under MDT is because it provides implementations for two OMG specifications.
To facilitate the development of modernization tools, MoDisco provides reusable components.
The first set of these components is completely independent from any legacy technology.
It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels.
On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
Just few words on the two ADM specifications supported by MoDisco.
The first one is KDM for Knowledge Discovery Metamodel.
It provides a pivot metamodel to describe existing software systems independently from their implementation.
The objectives is to dissociate the parsing phase from the analysis phase.
Modernization tools compliant with KDM can be combined more easily to support complex modernization scenarios.
The second one is SMM for Structured Metrics Metamodel.
It provides a metamodel for describing any kind of metrics which can be computed from a software system.
The main metaclasses are described here:
Metrics are computed during an observation which is done by an observer, with a given tool at a given time.
Each value which has been computed is represented by an instance of Measurement. For a given Measure, for example the number of lines of code, an ObservedMeasure collects all the measurements. Each measurement points to the object which has been measured.
To facilitate the development of modernization tools, MoDisco provides reusable components.
The first set of these components is completely independent from any legacy technology.
It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels.
On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
To facilitate the development of modernization tools, MoDisco provides reusable components.
The first set of these components is completely independent from any legacy technology.
It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels.
On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
To facilitate the development of modernization tools, MoDisco provides reusable components.
The first set of these components is completely independent from any legacy technology.
It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels.
On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
To facilitate the development of modernization tools, MoDisco provides reusable components.
The first set of these components is completely independent from any legacy technology.
It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels.
On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
The last example is about building plug-ins.
We have recently started to work on this problem with CEA (the french nuclear agency), IBM and Atlanmod.
The problem when you build a set of plug-ins is that, depending on the content of the update sites declared in your configuration, you don’t know exactly which version of depending plug-ins will really be integrated.
The default strategy takes the latest version available for each plugin.
We are experimenting a solution, based on a constraint solver, to calculate build configurations depending on other strategies.
Each build configuration can be converted into a B3 model or exported to a graphical cartography tool.