MoDisco EclipseCon2010
-
Upload
fmadiot -
Category
Technology
-
view
5.910 -
download
2
Transcript of MoDisco EclipseCon2010
![Page 1: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/1.jpg)
1Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
How to Deal With Your IT Legacy? Reverse Engineering with MoDisco...
Hugo Brunelière INRIA / AtlanMod teamFrédéric Madiot Mia-Software
![Page 2: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/2.jpg)
2
Overview
Support multipleLegacy Technologies
Source code
Databases
Configurationfiles
Other sources
Support multipleOutputs
• Quality Assurance• Understanding• Refactoring• Technical Migration
Support multipleModernization Scenarios
Documentation
Models
New system
Metrics
a Model-Driven platform
for Software Modernization projects
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
![Page 3: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/3.jpg)
3
Software artifacts : - source code - configuration files - tests - database - …
Approach
ExistingSoftware System Discover
Models
Models to represent and manipulate
artifacts of existing systems
Understand
Viewpoints
Transform
NewSoftware System
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
![Page 4: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/4.jpg)
4
Supported Technologies
Infrastructure
Architecture
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Java
MetamodelDiscovererGenerator
XML
MetamodelDiscoverer
. . .
Model Browser
Navigation through
complex models
Customization & Extensibility
Definition ofspecific
Viewpoints
DiscoveryManager
Plug and orchestrateartifacts
transformators
![Page 5: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/5.jpg)
5
Legacy applications in Java ?
– 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
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
From the moment one writes a line of code, it becomes legacy, and that legacy accumulates (Grady Booch)
![Page 6: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/6.jpg)
6
Java metamodel :
-126 types-173 references
Example :
Java model of draw2d :- org.eclipse.draw2d- org.eclipse.draw2d.tests
447 Java classes 144 374 nodes !
Complex models ?
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved6
![Page 7: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/7.jpg)
7Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
MoDisco Demo
draw2d Java source code
Models
MoDiscoModelBrowser
draw2d java EMF model
java.ecore
conforms to
MoDiscoJava
Discoverer
Demo
![Page 8: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/8.jpg)
8
Find Patterns in your Models !
Define and dynamically plug your own
Facets & UI CustomizationsExample
Decorate the Java model of org.eclipse.draw2d.tests
To highlight JUnit patterns:
-Test suite-Test case-Test
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved8
![Page 9: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/9.jpg)
9
MoDiscoMoDiscoModelBrowserModelBrowser
draw2d java EMF model
conforms to
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
MoDisco Demo
Models
java.ecore
JUnit3Customization
customizes
JUnit3Queries
uses
Demo
![Page 10: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/10.jpg)
10Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Query
Java query
XPathquery
EMFQueryquery
OCL query
ATL query . . .
MoDisco Demo
![Page 11: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/11.jpg)
11
MoDiscoMoDiscoModelBrowserModelBrowser
draw2d java EMF model
conforms to
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
MoDisco Demo
Models
java.ecore
JUnit3Customization
customizes
JUnit3Queries
uses
JUnit3Facets
extends
uses
Demo
![Page 12: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/12.jpg)
12
draw2d java EMF model
conforms to
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
MoDisco Demo
Models
java.ecore
JUnit3Queries
JUnit3Facets
extends
uses
testsuite.ecore
conforms to
draw2d testsuite EMF model
uses
MoDiscoModelBrowserDemo
![Page 13: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/13.jpg)
13
Transform and Regenerate …
ClassDeclarationRayTest
ClassDeclarationjunit.framework.TestCase
superClass
MethodDeclarationtest_length()bodyDeclarations
ImportDeclarationimports
importedElement
MoDiscoJava
Discoverer
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 14: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/14.jpg)
14
Transform and Regenerate …
ClassDeclarationRayTest
ClassDeclarationjunit.framework.TestCase
superClass
MethodDeclarationtest_length()bodyDeclarations
ImportDeclarationimports
importedElement
MoDiscoJava
Discoverer
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 15: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/15.jpg)
15
Transform and Regenerate …
ClassDeclarationRayTest
MethodDeclarationtest_length()bodyDeclarations
MoDiscoJava
Discoverer
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 16: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/16.jpg)
16
Transform and Regenerate …
ClassDeclarationRayTest
MethodDeclarationtest_length()bodyDeclarations
MoDiscoJava
Discoverer
ClassDeclarationorg.junit.Test
Annotationannotations
type
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 17: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/17.jpg)
17
Transform and Regenerate …
ClassDeclarationRayTest
MethodDeclarationtest_length()bodyDeclarations
ImportDeclarationimports
MoDiscoJava
Discoverer
ClassDeclarationorg.junit.Test
Annotationannotations
type
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 18: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/18.jpg)
18
Transform and Regenerate …
ClassDeclarationRayTest
MethodDeclarationtest_length()bodyDeclarations
ImportDeclarationimports
MoDiscoJava
Discoverer
MoDiscoJava
Generator
ClassDeclarationorg.junit.Test
Annotationannotations
type
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
Example : from JUnit3 to JUnit4
![Page 19: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/19.jpg)
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
24/03/10 Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
![Page 20: MoDisco EclipseCon2010](https://reader033.fdocuments.us/reader033/viewer/2022052410/554fb627b4c9057b298b5412/html5/thumbnails/20.jpg)
20
MoDisco
Questions ?www.eclipse.org/gmt/modisco
Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved