MoDisco Discover 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 providing a 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  Modernization helpers Documentation Impact analysis Models Viewpoints Restructured code Migrated code Metrics Norms checking Eclipse Modeling Source code Databases Configuration files
MoDisco Discover 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
MoDisco Discover 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

MoDisco Poster EclipseCon 2009

  • 1.
    MoDisco Discover modelsout 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 providing a 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 Modernization helpers Documentation Impact analysis Models Viewpoints Restructured code Migrated code Metrics Norms checking Eclipse Modeling Source code Databases Configuration files
  • 2.
    MoDisco Discover modelsout 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
  • 3.
    MoDisco Discover modelsout 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