Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MoDisco at Eclipse Day Paris 2010

4,610 views

Published on

Presentation of MoDisco project at Eclispe Day Paris 2010

Published in: Technology
  • Be the first to comment

MoDisco at Eclipse Day Paris 2010

  1. 1. Copyright © 2010 Mia-Software All Rights Reserved Frédéric Madiot, Mia-Software Grégoire Dupé, Mia-Software Analyze your Software Assets With MoDisco
  2. 2. Copyright © 2010 Mia-Software All Rights Reserved Mia-Software Mia-Software is a Software Company 80 customers, in 10 different countries Eclipse Foundation member (5 committers) Develops Model-Driven solutions since 1998 Mia-Insight : Legacy Understanding Application Mining Mia-Quality Quality Analysis Mia-Studio Model-to-Model transformation Model-to-Text transformation Eclipse projects MoDisco EMF Facet
  3. 3. Copyright © 2010 Mia-Software All Rights Reserved Mia-Software Mia-Software is a subsidiary of Sodifrance French leader in IT Modernization 900 employees 11 offices in France, Belgium and Tunisia R&D team dedicated to IT Modernization > 70 successful IT Modernization projects VB6 to JEE/Ajax/JSF Oracle Forms to JEE VB6 to .Net ABAL to .Net
  4. 4. Copyright © 2010 Mia-Software All Rights Reserved AtlanMod Team AtlanMod is a research team Joint team between INRIA & École des Mines de Nantes (France) Founded by Jean Bézivin Around 12 members, lead by Jordi Cabot Research focus on: MDE core technologies metamodeling, model transformations, model weaving, megamodeling,… MDE applications reverse engineering, interoperability Organizers of the 1st full postgraduate program on MDE http://www.emn.fr/z-info/atlanmod/index.php/The_MDE_Diploma Commitment to Eclipse open-source projects: ATL, TCS, AM3, AMW, MoDisco, … Strong links with several software development companies Participation in national and international projects
  5. 5. Copyright © 2010 Mia-Software All Rights Reserved About Modernization…
  6. 6. Copyright © 2010 Mia-Software All Rights Reserved Software Modernization Legacy Technologies Source code Databases Configuration files Other sources Output • Quality Analysis • Understanding • Code Refactoring • Technical Migration Scenarios Documentation Models New system Metrics
  7. 7. Copyright © 2010 Mia-Software All Rights Reserved Modeling Software Artifacts Source Code can be represented with Models This is not a UML model !
  8. 8. Copyright © 2010 Mia-Software All Rights Reserved Software artifacts : - source code - configuration files - tests - database - … Existing Software System Discover Models use Models to represent and manipulate artifacts of existing systems Understand Viewpoints Transform New Software System MoDisco
  9. 9. Copyright © 2010 Mia-Software All Rights Reserved MoDisco Project Official Eclipse Modeling project (in MDT) Open-source (EPL licence) Based on other Eclipse Modeling projects Released with Helios Supported by the OMG Eclipse implementations for KDM (Knowledge Discovery Metamodel) SMM (Structured Metrics Metamodel) http://www.eclipse.org/MoDisco/ an Eclipse platform to support Software Modernization projects
  10. 10. Copyright © 2010 Mia-Software All Rights Reserved What can you do with MoDisco ?
  11. 11. Copyright © 2010 Mia-Software All Rights Reserved Quality Analysis Your own rules Complexity Maintenability Usability Efficiency Portability etc Existing application  Check your coding norms  Control multi-technos rules  Select your output format MoDisco Calculate metrics from your code 13 931 42 Model of the existing application Model of the metrics
  12. 12. Copyright © 2010 Mia-Software All Rights Reserved Understanding Your own rules What to extract from the code How to represent the information Modeling tools Existing Application  Detect specific patterns  Generate view-points  Respect your modelling norms Documentation Extract custom viewpoints out of your code MoDisco Model of the existing application Model of the viewpoint (UML or DSL)
  13. 13. Copyright © 2010 Mia-Software All Rights Reserved Code Refactoring Your own rules What to change + How to change Existing application  Re-apply coding norms  Upgrade component versions  Replace coding patterns Improve existing applications MoDisco Improved application Model of the existing application Model of the improved application
  14. 14. Copyright © 2010 Mia-Software All Rights Reserved Technical Migration Your own rules Migration Strategy Migrated application Existing application MoDisco Model of the existing application Model of the migrated application Transform to new technologies
  15. 15. Copyright © 2010 Mia-Software All Rights Reserved the MoDisco Toolbox
  16. 16. Copyright © 2010 Mia-Software All Rights Reserved Supported Technologies Infrastructure MoDisco Architecture Java Metamodel Discoverer Generator Transfo. to KDM XML Metamodel Discoverer Generator . . . Model Browser Navigation through complex models Customization & Extensibility Definition of specific Viewpoints Discovery Manager Plug and orchestrate transformations Eclipse Modeling projects JSP Metamodel Discoverer Generator OMG/ADM Standards Pivot Metamodels (SMM & KDM)
  17. 17. Copyright © 2010 Mia-Software All Rights Reserved ADM Specifications Knowledge Discovery Metamodel (KDM) To represent ''existing software systems'‘ Facilitates the integration of software analysis tools
  18. 18. Copyright © 2010 Mia-Software All Rights Reserved ADM Specifications Structured Metrics Metamodel (SMM) To represent measurements calculated on software systems
  19. 19. Copyright © 2010 Mia-Software All Rights Reserved Supported Technologies Infrastructure MoDisco Architecture Java Metamodel Discoverer Generator Transfo. to KDM XML Metamodel Discoverer Generator . . . Model Browser Navigation through complex models Customization & Extensibility Definition of specific Viewpoints Discovery Manager Plug and orchestrate transformations Eclipse Modeling projects JSP Metamodel Discoverer Generator OMG/ADM Standards Pivot Metamodels (SMM & KDM) Model Browser Navigation through complex models
  20. 20. Copyright © 2010 Mia-Software All Rights Reserved EMF Model Browser Spy On Your Models
  21. 21. Copyright © 2010 Mia-Software All Rights Reserved Supported Technologies Infrastructure MoDisco Architecture Java Metamodel Discoverer Generator Transfo. to KDM XML Metamodel Discoverer Generator . . . Model Browser Navigation through complex models Customization & Extensibility Definition of specific Viewpoints Discovery Manager Plug and orchestrate transformations Eclipse Modeling projects JSP Metamodel Discoverer Generator OMG/ADM Standards Pivot Metamodels (SMM & KDM)
  22. 22. Copyright © 2010 Mia-Software All Rights Reserved Extensibility & Customization Define Dynamic Viewpoints on Your Models
  23. 23. Copyright © 2010 Mia-Software All Rights Reserved Supported Technologies Infrastructure MoDisco Architecture Java Metamodel Discoverer Generator Transfo. to KDM XML Metamodel Discoverer Generator . . . Model Browser Navigation through complex models Customization & Extensibility Definition of specific Viewpoints Discovery Manager Plug and orchestrate transformations Eclipse Modeling projects JSP Metamodel Discoverer Generator OMG/ADM Standards Pivot Metamodels (SMM & KDM)
  24. 24. Copyright © 2010 Mia-Software All Rights Reserved JEE support Extract Models from Source code Generate Source Code from Models • Java files + annotations (ejb, jpa, servlet) • JSP pages • web.xml • ejb-jar.xml EMF models KDM model
  25. 25. Copyright © 2010 Mia-Software All Rights Reserved Supported Technologies Infrastructure MoDisco Architecture Java Metamodel Discoverer Generator Transfo. to KDM XML Metamodel Discoverer Generator . . . Model Browser Navigation through complex models Customization & Extensibility Definition of specific Viewpoints Discovery Manager Plug and orchestrate transformations Eclipse Modeling projects JSP Metamodel Discoverer Generator OMG/ADM Standards Pivot Metamodels (SMM & KDM)
  26. 26. Copyright © 2010 Mia-Software All Rights Reserved Discovery Manager Plug other parsers MoDisco Model of the existing application Mia-Insight Cobol Natural VB C DELPHI NSDK/NATSTAR SQL, PLSQL PL1 RPG FORTRAN Smalltalk Powerbuilder OracleForms Forte, Uniface Cool:Gen DL1 DB2 etc…
  27. 27. Copyright © 2010 Mia-Software All Rights Reserved Model-Driven Reverse-Engineering of Eclipse plug-ins
  28. 28. Copyright © 2010 Mia-Software All Rights Reserved Anatomy of an Eclipse 3.x Plug-in MANIFEST.MF plugin.xml Source code build.properties plugin.properties .project .classpath files folders Eclipse Plug-in
  29. 29. Copyright © 2010 Mia-Software All Rights Reserved Demo Using EMF to describe a Plug-in MANIFEST.MF plugin.xml Source code build.properties plugin.properties .project .classpath files folders Eclipse Plug-in Project’s structure (KDMSource) .project (XML) .classpath (XML) manifest build.properties (KDMCore) plugin (eclipseplugin) Java source code (Java) plugin.properties (KDMCore) extensions (XML)
  30. 30. Copyright © 2010 Mia-Software All Rights Reserved Understanding View Java elements which are specific to Eclipse Use EMF tools to detect Eclipse patterns Highlight the model elements related to these patterns Existing Plug-in Model of the Plug-in Demo Viewpoint on the Plug-in
  31. 31. Copyright © 2010 Mia-Software All Rights Reserved Quality Analysis Check plug-in development rules Use EMF tools to detect problems in the model of the Plug-in Store violations as Measurements into a SMM model Inject violations into the Problem View Existing Plug-in    Model of the Plug-in Model of the violations Problem View Demo
  32. 32. Copyright © 2010 Mia-Software All Rights Reserved Refactoring Example: Class must use UCI4J classes (yearly simultaneous release rule) Detect all the references to 19 prohibited classes: • java.lang.Character • java.text.DateFormat • java.util.Calendar • etc… Replace them by corresponding ICU4J classes Transformed Plug-in Existing Plug-in Model of the existing Plug-in Model of the migrated Plug-in
  33. 33. Copyright © 2010 Mia-Software All Rights Reserved Build Configuration Example: Improve build strategies B3 Model (build configuration) Plug-ins to build Model of plugins to build Team information (CVS, SVN, etc) Update sites (p2) Model of update sites content Resolved plug-ins dependencies Build resolution strategies (constraints solver) Cartography IDM++ Research Project (ANR) -> Sept 2011
  34. 34. Copyright © 2010 Mia-Software All Rights Reserved Thank you ! Company http://www.mia-software.com/ http://www.sodifrance.fr/ Eclipse projects http://www.eclipse.org/MoDisco/ http://www.eclipse.org/modeling/e mft/facet/ Blog http://fmadiot.blogspot.com/

×