MoDisco EclipseCon2010
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,492
On Slideshare
3,810
From Embeds
2,682
Number of Embeds
8

Actions

Shares
Downloads
101
Comments
0
Likes
3

Embeds 2,682

http://modeling-languages.com 1,403
http://www.eclipsecon.org 1,241
http://www.slideshare.net 19
http://eclipsecon.org 9
http://modelinglang.staging.wpengine.com 6
http://translate.googleusercontent.com 2
http://webcache.googleusercontent.com 1
http://plus.url.google.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. How to Deal With Your IT Legacy? Reverse Engineering with MoDisco... Hugo Brunelière INRIA / AtlanMod team Frédéric Madiot Mia-Software 1 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 2. Overview a Model-Driven platform for Software Modernization projects Support multiple Support multiple Legacy Technologies Support multiple Outputs Modernization Scenarios Source code Metrics Databases • Quality Assurance Models • Understanding • Refactoring Configuration • Technical Migration files New system Other sources Documentation 2 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 3. Approach Models to represent and manipulate artifacts of existing systems Existing Software System Discover Understand Transform Software artifacts : New - source code Models Viewpoints Software System - configuration files - tests - database -… 3 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 4. Architecture Supported Technologies Java XML ... Metamodel Metamodel Discoverer Discoverer Generator Discovery Model Customization Manager Browser & Extensibility Plug and orchestrate Navigation Definition of artifacts through specific transformators complex models Viewpoints Infrastructure 4 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 5. Legacy applications in Java ? From the moment one writes a line of code, it becomes legacy, and that legacy accumulates (Grady Booch) – Samples • LinkedIn > 1M lines of java code • Texas Health (TIERS application) > 2.5M lines of java code • CruiseControl > 5M lines of java code • Eclipse (Galileo) > 24M lines of java code • SAP (NetWeaver) > 24M lines of java code (255k classes) – Continuous evolution • JDK versions x Frameworks x Design Patterns 5 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 6. Complex models ? Java metamodel : Example : -126 types -173 references Java model of draw2d : - org.eclipse.draw2d - org.eclipse.draw2d.tests 447 Java classes  144 374 nodes ! 6 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 7. MoDisco Demo java.ecore MoDisco Java conforms to Discoverer draw2d draw2d java EMF model Java source code Demo Models MoDisco ModelBrowser 7 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 8. Find Patterns in your Models ! Define and dynamically plug your own Example Facets & UI Customizations Decorate the Java model of org.eclipse.draw2d.tests To highlight JUnit patterns: -Test suite -Test case -Test 8 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 9. MoDisco Demo java.ecore customizes conforms to draw2d java EMF model JUnit3 Customization Demo MoDisco ModelBrowser Models uses JUnit3 Queries 9 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 10. MoDisco Demo Query Java OCL ATL XPath query query query ... query EMFQuery query 10 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 11. MoDisco Demo java.ecore customizes extends conforms to draw2d java EMF model JUnit3 JUnit3 Customization Facets MoDisco ModelBrowser Models Demo uses uses JUnit3 Queries 11 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 12. MoDisco Demo java.ecore testsuite.ecore extends conforms to conforms to draw2d draw2d java EMF model testsuite EMF model JUnit3 uses Facets Models uses MoDisco JUnit3 Queries Demo ModelBrowser 12 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 13. Transform and Regenerate … Example : from JUnit3 to JUnit4 superClass ClassDeclaration ClassDeclaration junit.framework.TestCase RayTest importedElement ImportDeclaration imports MoDisco MethodDeclaration Java bodyDeclarations test_length() Discoverer 13 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 14. Transform and Regenerate … Example : from JUnit3 to JUnit4 superClass ClassDeclaration ClassDeclaration junit.framework.TestCase RayTest importedElement ImportDeclaration imports MoDisco MethodDeclaration Java bodyDeclarations test_length() Discoverer 14 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 15. Transform and Regenerate … Example : from JUnit3 to JUnit4 ClassDeclaration RayTest MoDisco MethodDeclaration Java bodyDeclarations test_length() Discoverer 15 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 16. Transform and Regenerate … Example : from JUnit3 to JUnit4 ClassDeclaration ClassDeclaration RayTest org.junit.Test type annotations Annotation MoDisco MethodDeclaration Java bodyDeclarations test_length() Discoverer 16 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 17. Transform and Regenerate … Example : from JUnit3 to JUnit4 ClassDeclaration ClassDeclaration RayTest org.junit.Test type ImportDeclaration imports annotations Annotation MoDisco MethodDeclaration Java bodyDeclarations test_length() Discoverer 17 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 18. Transform and Regenerate … Example : from JUnit3 to JUnit4 ClassDeclaration ClassDeclaration RayTest org.junit.Test type ImportDeclaration imports Annotation MoDisco annotations MoDisco MethodDeclaration Java Java bodyDeclarations test_length() Discoverer Generator 18 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 19. Who is involved in MoDisco ? • The MoDisco team – 6 committers • 1 from INRIA • 5 from Mia-Software – Several regular active contributors • Supported by the OMG (ADM TF) – Reference implementations of standards from the – Architecture Driven Modernization Task Force • KDM (Knowledge Discovery Metamodel) • SMM (Software Metrics Metamodel) • Supported by the European Commission – Project initiated by INRIA in the context of – the MODELPLEX IST-FP6 European Project 19 24/03/10 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 20. MoDisco Questions ? www.eclipse.org/gmt/modisco 20 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved