Date post: | 14-Jun-2015 |
Category: |
Technology |
Upload: | fmadiot |
View: | 463 times |
Download: | 6 times |
MoDiscoDiscover models out of existing applications
www.eclipse.org/gmt/modisco
Overview
Legacy is available in a high variety of heterogeneous formats.
Building tools for performing various operations on these legacy systems is a tedious and time consuming task.
Using models to describe existing systems allows reusing tools provided by the Eclipse Modeling Project : transformation, visualization, validation, generation, …
Objectives
The MoDisco Eclipse initiative aims at providinga framework to allow extracting and exploiting models from legacy systems.
MoDisco will facilitate the development of model-driven tools supporting legacy modernization use-cases :
Quality Analysis Legacy Understanding Reverse-modeling Refactoring Migration
MoDisco
Legacy Systems
How to contribute ?
Contributors are welcome to enrich MoDisco with : new modernization use-cases extensions of MoDisco components metamodels of legacy technologies discoverers and model transformations
Key principles
Based on EMF Integrates OMG/ADM standards (KDM, SMM) Open to any legacy technology Extensible to many modernization use-cases
Modernizationhelpers
•Documentation•Impact analysis
•Models•Viewpoints
•Restructured code•Migrated code
•Metrics•Norms checkingEclipse Modeling
Source code
Databases
Configurationfiles
MoDiscoDiscover models out of existing applications
www.eclipse.org/gmt/modisco
Architecture
To facilitate reuse of components between several use-cases, MoDisco has been organized in three layers:
• the Use-Cases layer containing components providing a solution for a specific modernization use-case. • the Technologies layer containing components dedicated to one legacy technology but independent from the modernization use case. • the Infrastructure layer containing generic components independent from any legacy technology.
Metamodels and discoverers
As MoDisco is a model-driven legacy modernization platform, it provides a set of metamodels for representing existing systems and corresponding discoverers to create models out of legacy artifacts.
MoDisco comes with technology-specific metamodels (Java, C#, VB, …) and technology-independent standard metamodels from OMG/ADM (KDM and SMM).
Generic Model Browser
The MoDisco model browser is an extension of the default Ecore model browser. It can be used to display any EMF model in a feature-rich treeview :
Display of links and associated model elements Infinite tree to navigate through links Display of attributes values in the tree Support of extensions developed for default
browser Direct access to all instances of a metaclass Display of the eContainer Hierarchical view of metaclasses Display options to view/hide information Display of model elements in a table
MoDiscoDiscover models out of existing applications
www.eclipse.org/gmt/modisco
Western Geco has developed a Large Scale Data Intensive Geological system with heterogeneous technologies (Java, C#, C, C++, …). Understanding this system has became difficult because parts of this system have no documentation, no model and initial developers have gone.
For the Modelplex project, Mia-Software has developed a tool based on MoDisco to extract lightweight UML models by analysing specific kind of dependencies from a selected Java or C# class.
About Western-Geco
WesternGeco, a business unit of Schlumberger, is the world's leading geophysical services company.
The time-lapse, or 4D, seismic method involves acquisition, processing, and interpretation of repeated seismic surveys over a producing hydrocarbon field.
To attain this goal, seismic acquisition has implied the development of a complex system :
•Data rate > 100MB/s •Number of sensors > 100000 •Disk capacity > 60 Tbyte •Compute power > 1 TFlop •Network of computers > 500•Heterogeneity : C, C++, C#, Java, etc.
Architecture of the solution
The tool is built upon these components :
a Java and a C# discoverers to create a KDM model out of Java and C# source code
an ATL transformation to enrich the KDM model with dependencies
a transformation to UML to export the result into Eclipse UML2 tools
Sample use-case : understanding complex legacy applications