SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Copyright © 2010 Mia-Software
All Rights Reserved
Frédéric Madiot, Mia-Software
Grégoire Dupé, Mia-Software
Analyze your Software Assets
With MoDisco
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
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
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
Copyright © 2010 Mia-Software
All Rights Reserved
About
Modernization…
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
Copyright © 2010 Mia-Software
All Rights Reserved
Modeling Software Artifacts
Source Code can be
represented with Models
This is not
a UML model !
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
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
Copyright © 2010 Mia-Software
All Rights Reserved
What can you do
with MoDisco ?
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
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)
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
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
Copyright © 2010 Mia-Software
All Rights Reserved
the
MoDisco
Toolbox
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)
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
Copyright © 2010 Mia-Software
All Rights Reserved
ADM Specifications
Structured Metrics Metamodel (SMM)
To represent measurements calculated on software systems
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
Copyright © 2010 Mia-Software
All Rights Reserved
EMF Model Browser
Spy On Your Models
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)
Copyright © 2010 Mia-Software
All Rights Reserved
Extensibility & Customization
Define Dynamic Viewpoints on Your Models
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)
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
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)
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…
Copyright © 2010 Mia-Software
All Rights Reserved
Model-Driven
Reverse-Engineering
of Eclipse plug-ins
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
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)
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
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
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
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
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/

Contenu connexe

Similaire à MoDisco at Eclipse Day Paris 2010

MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010fmadiot
 
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotEclipseDayParis
 
EMF Facet at ESE 2010
EMF Facet at ESE 2010EMF Facet at ESE 2010
EMF Facet at ESE 2010fmadiot
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudMarcos Almeida
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 
Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleSimon Haslam
 
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...Flexera
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDDJohan den Haan
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesMert Çalışkan
 
Integrate Machine Learning into Your Spring Application in Less than an Hour
Integrate Machine Learning into Your Spring Application in Less than an HourIntegrate Machine Learning into Your Spring Application in Less than an Hour
Integrate Machine Learning into Your Spring Application in Less than an HourVMware Tanzu
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0Cogility
 
Mostafa Mohamed Abdelmoniem
Mostafa Mohamed AbdelmoniemMostafa Mohamed Abdelmoniem
Mostafa Mohamed Abdelmoniembadom
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013Martin Fousek
 
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokia
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, NokiaHistory and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokia
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokiamfrancis
 
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQuteOSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQutemfrancis
 
仕事ではじめる機械学習
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習Aki Ariga
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 

Similaire à MoDisco at Eclipse Day Paris 2010 (20)

MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010
 
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric MadiotAnalyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
 
EMF Facet at ESE 2010
EMF Facet at ESE 2010EMF Facet at ESE 2010
EMF Facet at ESE 2010
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloud
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
 
Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using Oracle
 
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
Does the Cloud Change Anything? What can be learned from the Changing Enterpr...
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDD
 
MohamedSalah-Resume
MohamedSalah-ResumeMohamedSalah-Resume
MohamedSalah-Resume
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
 
Integrate Machine Learning into Your Spring Application in Less than an Hour
Integrate Machine Learning into Your Spring Application in Less than an HourIntegrate Machine Learning into Your Spring Application in Less than an Hour
Integrate Machine Learning into Your Spring Application in Less than an Hour
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0
 
Mostafa Mohamed Abdelmoniem
Mostafa Mohamed AbdelmoniemMostafa Mohamed Abdelmoniem
Mostafa Mohamed Abdelmoniem
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
 
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokia
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, NokiaHistory and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokia
History and Future of the Downloadable Mobile Marketplace - Jon Bostrom, Nokia
 
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQuteOSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
 
仕事ではじめる機械学習
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 

Plus de fmadiot

Eclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and AcceleoEclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and Acceleofmadiot
 
EMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 AuditionEMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 Auditionfmadiot
 
Mia-Software at MD Day 2010
Mia-Software at MD Day 2010Mia-Software at MD Day 2010
Mia-Software at MD Day 2010fmadiot
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009fmadiot
 
Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009fmadiot
 

Plus de fmadiot (6)

Eclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and AcceleoEclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and Acceleo
 
EMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 AuditionEMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 Audition
 
Mia-Software at MD Day 2010
Mia-Software at MD Day 2010Mia-Software at MD Day 2010
Mia-Software at MD Day 2010
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009
 
Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009
 

Dernier

Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 

Dernier (20)

Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 

MoDisco at Eclipse Day Paris 2010

  • 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. 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. 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. 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. Copyright © 2010 Mia-Software All Rights Reserved About Modernization…
  • 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. Copyright © 2010 Mia-Software All Rights Reserved Modeling Software Artifacts Source Code can be represented with Models This is not a UML model !
  • 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. 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. Copyright © 2010 Mia-Software All Rights Reserved What can you do with MoDisco ?
  • 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. 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. 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. 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. Copyright © 2010 Mia-Software All Rights Reserved the MoDisco Toolbox
  • 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. 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. Copyright © 2010 Mia-Software All Rights Reserved ADM Specifications Structured Metrics Metamodel (SMM) To represent measurements calculated on software systems
  • 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. Copyright © 2010 Mia-Software All Rights Reserved EMF Model Browser Spy On Your Models
  • 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. Copyright © 2010 Mia-Software All Rights Reserved Extensibility & Customization Define Dynamic Viewpoints on Your Models
  • 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. 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. 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. 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. Copyright © 2010 Mia-Software All Rights Reserved Model-Driven Reverse-Engineering of Eclipse plug-ins
  • 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. 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. 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. 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. 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. 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. 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/

Notes de l'éditeur

  1. I’m Frederic Madiot of Mia-Software I’m going to talk about how the MoDisco project supports the specifications defined by ADM, the OMG task force working on software modernization. I will illustrate my presentation with a concrete example showing how ADM specifications and their implementation in MoDisco can be used to control the quality of Eclipse plug-ins.
  2. First of all, let me me introduce Mia-Software and Atlanmod. Mia-Software is member of the Eclipse foundation and we develop tools based on model-driven engineering. These tools can be combined to transform existing software systems with a model-driven approach. The idea is to create models from the existing systems, transform these models and regenerate the code with a new architecture or new technology.
  3. Mia-Software is a subsidiary of Sodifrance which is the leader in the french market of IT modernization projects. Sodifrance uses Mia-Software tools on modernization projects such as migrations from client-server applications to JEE or .Net platforms.
  4. The approach we propose with MoDisco consists in creating fine-grained models from the different kinds of artifacts which compose an existing system. From these models we can then extract specific viewpoints to understand the existing system. And these viewpoints can also be used to regenerate a new version of the system.
  5. MoDisco is an Eclipse platform for software modernization projects. It has been created by AtlanMod during the Modelplex research project. It is part of the Eclipse Modeling Project, under the MDT sub-project leaded by Kenn. MDT is the project which contains implementations of standards such as UML2 or OCL. The raison why MoDisco is under MDT is because it provides implementations for two OMG specifications.
  6. To facilitate the development of modernization tools, MoDisco provides reusable components. The first set of these components is completely independent from any legacy technology. It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels. On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
  7. Just few words on the two ADM specifications supported by MoDisco. The first one is KDM for Knowledge Discovery Metamodel. It provides a pivot metamodel to describe existing software systems independently from their implementation. The objectives is to dissociate the parsing phase from the analysis phase. Modernization tools compliant with KDM can be combined more easily to support complex modernization scenarios.
  8. The second one is SMM for Structured Metrics Metamodel. It provides a metamodel for describing any kind of metrics which can be computed from a software system. The main metaclasses are described here: Metrics are computed during an observation which is done by an observer, with a given tool at a given time. Each value which has been computed is represented by an instance of Measurement. For a given Measure, for example the number of lines of code, an ObservedMeasure collects all the measurements. Each measurement points to the object which has been measured.
  9. To facilitate the development of modernization tools, MoDisco provides reusable components. The first set of these components is completely independent from any legacy technology. It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels. On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
  10. To facilitate the development of modernization tools, MoDisco provides reusable components. The first set of these components is completely independent from any legacy technology. It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels. On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
  11. To facilitate the development of modernization tools, MoDisco provides reusable components. The first set of these components is completely independent from any legacy technology. It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels. On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
  12. To facilitate the development of modernization tools, MoDisco provides reusable components. The first set of these components is completely independent from any legacy technology. It is composed of a Discovery Manager, a Model Browser to navigate through complex models, several extensibility mechanisms to define viewpoints on models, and the implementation of SMM and KDM specification which can serve as pivot metamodels. On top these generic components you can find components dedicated to specific legacy technologies. At this time we provide components for Java and XML. JSP will come soon. Mia-Software contributes open-source components for JEE, but the project is open and other companies are welcome to contribute components for other technologies such as C or C++.
  13. The last example is about building plug-ins. We have recently started to work on this problem with CEA (the french nuclear agency), IBM and Atlanmod. The problem when you build a set of plug-ins is that, depending on the content of the update sites declared in your configuration, you don’t know exactly which version of depending plug-ins will really be integrated. The default strategy takes the latest version available for each plugin. We are experimenting a solution, based on a constraint solver, to calculate build configurations depending on other strategies. Each build configuration can be converted into a B3 model or exported to a graphical cartography tool.