Introducing Eclipse MoDisco

11,728 views
11,655 views

Published on

A quick introduction to the Eclipse MoDisco framework dedicated to the elaboration of (model driven) reverse engineering solutions.

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
11,728
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Introducing Eclipse MoDisco

  1. 1. Introducing Eclipse MoDisco (Model Driven) Reverse Engineering Hugo Bruneliere AtlanMod Team (Inria, Mines Nantes & LINA) © AtlanMod - atlanmod-contact@mines-nantes.fr 1
  2. 2. Different Possible Reverse Engineering Scenarios Support for multiple scenarios/results Support for multiple legacy technologies Transformations •Documentation •Impact analysis Configuration files Other sources Models of the system(s) Generators Databases Discoverers Source code MoDisco •Models •Viewpoints •Upgrade •Migration •Metrics •Quality Assurance Eclipse Modeling © AtlanMod - atlanmod-contact@mines-nantes.fr 2
  3. 3. Model Driven Reverse Engineering (MDRE) Approach  Use models to represent and manipulate artifacts from existing systems Existing Legacy System Software artifacts : - source code - configuration files - tests - database -… Discover Models Understand Viewpoints © AtlanMod - atlanmod-contact@mines-nantes.fr Transform New Software Artifacts 3
  4. 4. Model Driven Reverse Engineering (MDRE) Approach  Discover Java metamodel MoDisco Java Discoverer Java source code conforms to Java model JUnit3 JUnit3 code  Navigate © AtlanMod - atlanmod-contact@mines-nantes.fr MoDisco Model Browser 4
  5. 5. Model Driven Reverse Engineering (MDRE) Approach  Understand Java model JUnit3 Java JUnit3 Customization MoDisco ModelBrowser Facets Models uses  Extract © AtlanMod - atlanmod-contact@mines-nantes.fr JUnit3 Queries 5
  6. 6. Model Driven Reverse Engineering (MDRE) Approach  Transform JUnit3 to JUnit4 M2M Transformation Java model JUnit3 Java model JUnit4 JUnit3 Facets  Regenerate © AtlanMod - atlanmod-contact@mines-nantes.fr Java source code JUnit4 code 6
  7. 7. Eclipse MoDisco An Eclipse framework to support the elaboration of Model Driven Reverse Engineering solutions  Official Eclipse Modeling project  Open-source (EPL)  Based on other Eclipse Modeling projects  Released with Helios, Indigo, Juno, Kepler, …  Supported by the OMG  Reference implementations for several ADM (Architecture Driven Modernization) standards:  KDM (Knowledge Discovery Metamodel)  SMM (Structured Metrics Metamodel)  ASTM (Abstract Syntax Tree Metamodel) © AtlanMod - atlanmod-contact@mines-nantes.fr 7
  8. 8. MoDisco: Global Architecture Java JSP XML Metamodel Discoverer Generator Transfo. to KDM/UML Metamodel Discoverer Generator … Metamodel Discoverer Generator MoDisco – “Technologies” layer Discovery Manager, Workflow Plug and orchestrate transformations Model Browser Navigation through complex models Querying & Customization Definition of specific viewpoints OMG/ADM Standards Pivot metamodels (KDM, ASTM, SMM) MoDisco – “Infrastructure” layer Eclipse Modeling projects © AtlanMod - atlanmod-contact@mines-nantes.fr 8
  9. 9. MoDisco Model Browser  A feature-rich Ecore model browser  Generic (metamodelindependent)  Customizable (display, fonts, colors, icons, et c.)  Advanced navigation & search capabilities © AtlanMod - atlanmod-contact@mines-nantes.fr 9
  10. 10. MoDisco Discoverer Manager  Define and register model discoverers – Support for different legacy technologies © AtlanMod - atlanmod-contact@mines-nantes.fr 10
  11. 11. MoDisco Workflow  Specify reverse engineering processes – Chain discoverers, transformations & generations © AtlanMod - atlanmod-contact@mines-nantes.fr 11
  12. 12. MoDisco Support for Java  Technology-specific components for Java  Complete metamodel  Corresponding discoverer & generator  Transformation to KDM  Advanced composite discoverer (Java + KDM) © AtlanMod - atlanmod-contact@mines-nantes.fr 12
  13. 13. MoDisco Support for JEE  Technology-specific components for JEE  Complete JSP metamodel & corresponding discoverer  Discoverers for web.xml & ejbjar.xml files (based on XML) + generic framework  JEE queries & facets (based on Java) © AtlanMod - atlanmod-contact@mines-nantes.fr 13
  14. 14. MoDisco Support for XML  Technology-specific components for XML  Generic support (XSD- or DTDindependent)  Complete metamodel (based W3C specification)  Corresponding discoverer © AtlanMod - atlanmod-contact@mines-nantes.fr 14
  15. 15. MoDisco in Action… Click here to run the demo… © AtlanMod - atlanmod-contact@mines-nantes.fr 15
  16. 16. Thanks for your attention!  Useful links – Eclipse Modeling Project  http://eclipse.org/modeling/ – Eclipse MoDisco project  http://www.eclipse.org/MoDisco – Eclipse EMF Facet project  http://www.eclipse.org/facet/  AtlanMod Contact – Hugo Bruneliere  R&D engineer and MoDisco project co-leader  hugo.bruneliere@inria.fr © AtlanMod - atlanmod-contact@mines-nantes.fr 16

×