MoDisco EclipseCon2010
Upcoming SlideShare
Loading in...5
×
 

MoDisco EclipseCon2010

on

  • 6,262 views

 

Statistics

Views

Total Views
6,262
Views on SlideShare
3,717
Embed Views
2,545

Actions

Likes
3
Downloads
99
Comments
0

8 Embeds 2,545

http://modeling-languages.com 1267
http://www.eclipsecon.org 1240
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
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MoDisco EclipseCon2010 MoDisco EclipseCon2010 Presentation Transcript

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • MoDisco Demo Query Java OCL ATL XPath query query query ... query EMFQuery query 10 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • MoDisco Questions ? www.eclipse.org/gmt/modisco 20 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved