modisco at eclipse day paris 2010
DESCRIPTION
Presentation of MoDisco project at Eclispe Day Paris 2010TRANSCRIPT
![Page 1: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/1.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Frédéric Madiot, Mia-Software
Grégoire Dupé, Mia-Software
Analyze your Software AssetsWith MoDisco
![Page 2: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/2.jpg)
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 UnderstandingApplication Mining
Mia-QualityQuality Analysis
Mia-StudioModel-to-Model transformationModel-to-Text transformation
Eclipse projectsMoDiscoEMF Facet
![Page 3: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/3.jpg)
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
![Page 4: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/4.jpg)
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 applicationsreverse 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
![Page 5: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/5.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
About
Modernization…
![Page 6: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/6.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Software Modernization
Legacy Technologies
Source code
Databases
Configurationfiles
Other sources
Output
• Quality Analysis
• Understanding
• Code Refactoring
• Technical Migration
Scenarios
Documentation
Models
New system
Metrics
![Page 7: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/7.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Modeling Software Artifacts
Source Code can be
represented with Models
This is nota UML model
!
![Page 8: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/8.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Software artifacts : - source code
- configuration files - tests
- database - …
ExistingSoftware System
Discover
Models
use Models to represent and manipulate
artifacts of existing systems
Understand
Viewpoints
Transform
NewSoftware System
MoDisco
![Page 9: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/9.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
MoDisco Project
Official Eclipse Modeling project (in MDT)Open-source (EPL licence)Based on other Eclipse Modeling projectsReleased 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
![Page 10: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/10.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
What can you do with
MoDisco ?
![Page 11: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/11.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Quality Analysis
Your own rules
ComplexityMaintenability
UsabilityEfficiency
Portabilityetc
Existingapplication
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
![Page 12: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/12.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Understanding
Your own rules
What to extract from the code
How to representthe information
Modeling tools
ExistingApplication
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)
![Page 13: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/13.jpg)
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
Improvedapplication
Model of the existing
application
Model of the improved
application
![Page 14: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/14.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Technical Migration
Your own rules
MigrationStrategy
Migratedapplication
Existingapplication
MoDisco
Model of the existing
application
Model of the migrated
application
Transform to new technologies
![Page 15: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/15.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
the MoDisco
Toolbox
![Page 16: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/16.jpg)
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 ofspecific
Viewpoints
DiscoveryManager
Plug and orchestratetransformations
Eclipse Modeling projects
JSP Metamodel Discoverer Generator
OMG/ADMStandards
PivotMetamodels
(SMM & KDM)
![Page 17: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/17.jpg)
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
![Page 18: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/18.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
ADM Specifications
Structured Metrics Metamodel (SMM)
To represent measurements calculated on software systems
![Page 19: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/19.jpg)
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 ofspecific
Viewpoints
DiscoveryManager
Plug and orchestratetransformations
Eclipse Modeling projects
JSP Metamodel Discoverer Generator
OMG/ADMStandards
PivotMetamodels
(SMM & KDM)
Model Browser
Navigation through
complex models
![Page 20: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/20.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
EMF Model Browser
Spy On Your Models
![Page 21: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/21.jpg)
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 ofspecific
Viewpoints
DiscoveryManager
Plug and orchestratetransformations
Eclipse Modeling projects
JSP Metamodel Discoverer Generator
OMG/ADMStandards
PivotMetamodels
(SMM & KDM)
![Page 22: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/22.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Extensibility & Customization
Define Dynamic Viewpoints on Your Models
![Page 23: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/23.jpg)
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 ofspecific
Viewpoints
DiscoveryManager
Plug and orchestratetransformations
Eclipse Modeling projects
JSP Metamodel Discoverer Generator
OMG/ADMStandards
PivotMetamodels
(SMM & KDM)
![Page 24: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/24.jpg)
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
![Page 25: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/25.jpg)
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 ofspecific
Viewpoints
DiscoveryManager
Plug and orchestratetransformations
Eclipse Modeling projects
JSP Metamodel Discoverer Generator
OMG/ADMStandards
PivotMetamodels
(SMM & KDM)
![Page 26: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/26.jpg)
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 DB2etc…
![Page 27: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/27.jpg)
Copyright © 2010 Mia-Software All Rights Reserved
Model-DrivenReverse-Engineering
of Eclipse plug-ins
![Page 28: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/28.jpg)
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
Heterogeneity !
![Page 29: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/29.jpg)
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)Homogeneity !
![Page 30: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/30.jpg)
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
ExistingPlug-in
Model of the Plug-in
Demo
Viewpointon the Plug-in
![Page 31: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/31.jpg)
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
ExistingPlug-in
Model of the Plug-in
Model of the violations Problem View
Demo
![Page 32: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/32.jpg)
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
TransformedPlug-in
ExistingPlug-in
Model of the existing
Plug-in
Model of the migrated
Plug-in
![Page 33: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/33.jpg)
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-insdependencies
Build resolution strategies(constraints solver)
Cartography
IDM++ Research Project (ANR) -> Sept 2011
![Page 34: MoDisco at Eclipse Day Paris 2010](https://reader035.vdocuments.net/reader035/viewer/2022062513/554fb77fb4c9053d018b4579/html5/thumbnails/34.jpg)
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/emft/facet/
Blog
http://fmadiot.blogspot.com/