SlideShare a Scribd company logo
1 of 20
Download to read offline
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

More Related Content

What's hot

Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Jordi Cabot
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
Transforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaEric Malotaux
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticPedro J. Molina
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 MetamodelDang Tuan
 
Lecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLLecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLop205
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDALai Ha
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)elliando dias
 

What's hot (20)

Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
MDA
MDAMDA
MDA
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
01 mde principles
01 mde principles01 mde principles
01 mde principles
 
Uml3
Uml3Uml3
Uml3
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
6
66
6
 
Transforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to JavaTransforming a 15 year old model-driven application from C++ to Java
Transforming a 15 year old model-driven application from C++ to Java
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
Modelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at IcineticModelling and code generation in .NET at Icinetic
Modelling and code generation in .NET at Icinetic
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
26 standards
26 standards26 standards
26 standards
 
Lecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UMLLecture 3 Software Engineering and Design Introduction to UML
Lecture 3 Software Engineering and Design Introduction to UML
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDA
 
UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)UML-based Web Engineering (UWE)
UML-based Web Engineering (UWE)
 

Viewers also liked

Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework XtextSebastian Zarnekow
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)mikaelbarbero
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfEd Seidewitz
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingPeter Friese
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific LanguagesJavier Canovas
 
Real world DSL - making technical and business people speaking the same language
Real world DSL - making technical and business people speaking the same languageReal world DSL - making technical and business people speaking the same language
Real world DSL - making technical and business people speaking the same languageMario Fusco
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 
ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008William Piers
 
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling FrameworkEclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
 
Single-Source approach to the design of HW/SW Embedded Systems
Single-Source approach to the design of HW/SW Embedded SystemsSingle-Source approach to the design of HW/SW Embedded Systems
Single-Source approach to the design of HW/SW Embedded SystemsEugenio Villar
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewEelco Visser
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentJohan den Haan
 
Looking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherLooking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherJordi Cabot
 
Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Jordi Cabot
 
PrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsPrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsJordi Cabot
 
Wanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityWanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityJordi Cabot
 

Viewers also liked (20)

Eugenia
EugeniaEugenia
Eugenia
 
Textual Modeling Framework Xtext
Textual Modeling Framework XtextTextual Modeling Framework Xtext
Textual Modeling Framework Xtext
 
EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)EMF Compare 2.0: Scaling to Millions (updated)
EMF Compare 2.0: Scaling to Millions (updated)
 
Programming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and AlfProgramming in UML: An Introduction to fUML and Alf
Programming in UML: An Introduction to fUML and Alf
 
The Unbearable Stupidity of Modeling
The Unbearable Stupidity of ModelingThe Unbearable Stupidity of Modeling
The Unbearable Stupidity of Modeling
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Real world DSL - making technical and business people speaking the same language
Real world DSL - making technical and business people speaking the same languageReal world DSL - making technical and business people speaking the same language
Real world DSL - making technical and business people speaking the same language
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008
 
OCL tutorial
OCL tutorial OCL tutorial
OCL tutorial
 
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling FrameworkEclipse World 2007: Fundamentals of the Eclipse Modeling Framework
Eclipse World 2007: Fundamentals of the Eclipse Modeling Framework
 
Single-Source approach to the design of HW/SW Embedded Systems
Single-Source approach to the design of HW/SW Embedded SystemsSingle-Source approach to the design of HW/SW Embedded Systems
Single-Source approach to the design of HW/SW Embedded Systems
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Model-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & OverviewModel-Driven Software Development - Introduction & Overview
Model-Driven Software Development - Introduction & Overview
 
Why there is no future for Model Driven Development
Why there is no future for Model Driven DevelopmentWhy there is no future for Model Driven Development
Why there is no future for Model Driven Development
 
Looking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software ResearcherLooking at WordPress through the eyes of a Software Researcher
Looking at WordPress through the eyes of a Software Researcher
 
Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems Governance Rules for Open Source Software Systems
Governance Rules for Open Source Software Systems
 
PrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching modelsPrefetchML: a Framework for Prefetching and Caching models
PrefetchML: a Framework for Prefetching and Caching models
 
Wanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your communityWanna see your open source project succeed? - Nurture your community
Wanna see your open source project succeed? - Nurture your community
 

Similar to MoDisco EclipseCon2010

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
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010fmadiot
 
Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Arjan
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...EclipseDayParis
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orangesliard
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesDaniel Cukier
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architecturesccsl-usp
 
colony framework & omni platform
colony framework & omni platformcolony framework & omni platform
colony framework & omni platformHive Solutions
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationEuroCloud
 
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1Cedric Vidal
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Hugo Bruneliere
 
MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010fmadiot
 
Serenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringSerenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringFrancisco Sanchez Cid
 
ITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers ForumITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers Forumdjazayeri
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationMarc Dutoo
 
The business opportunities in capacity building for APPS development in Africa
The business opportunities in capacity building for APPS development in AfricaThe business opportunities in capacity building for APPS development in Africa
The business opportunities in capacity building for APPS development in AfricaDerek Keats
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 

Similar to MoDisco EclipseCon2010 (20)

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
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010
 
Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011Zotonic presentation Erlang Camp Boston, august 2011
Zotonic presentation Erlang Camp Boston, august 2011
 
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
Understanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual MachineUnderstanding the Dalvik Virtual Machine
Understanding the Dalvik Virtual Machine
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architectures
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architectures
 
colony framework & omni platform
colony framework & omni platformcolony framework & omni platform
colony framework & omni platform
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentation
 
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1
RMLL - Eclipse Acceleo Day - MDSD Scaffolding and Acceleo - Cédric Vidal - 1.1
 
Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011Spy On Your Models, Standard talk at EclipseCon 2011
Spy On Your Models, Standard talk at EclipseCon 2011
 
MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010
 
Serenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringSerenity Project: Security in Software Enginering
Serenity Project: Security in Software Enginering
 
ITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers ForumITECH Kenya presentation on OpenMRS Developers Forum
ITECH Kenya presentation on OpenMRS Developers Forum
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
 
The business opportunities in capacity building for APPS development in Africa
The business opportunities in capacity building for APPS development in AfricaThe business opportunities in capacity building for APPS development in Africa
The business opportunities in capacity building for APPS development in Africa
 
Bhavin_Resume
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 

More from 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
 
EMF Facet at ESE 2010
EMF Facet at ESE 2010EMF Facet at ESE 2010
EMF Facet at ESE 2010fmadiot
 
Mia-Software at Eclipse Modeling Symposium 2010
Mia-Software at Eclipse Modeling Symposium 2010Mia-Software at Eclipse Modeling Symposium 2010
Mia-Software at Eclipse Modeling Symposium 2010fmadiot
 
Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009fmadiot
 
Discover models out of existing applications with Eclipse/MoDisco
Discover models out of existing applications with Eclipse/MoDiscoDiscover models out of existing applications with Eclipse/MoDisco
Discover models out of existing applications with Eclipse/MoDiscofmadiot
 
MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009fmadiot
 
Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009fmadiot
 

More from fmadiot (9)

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
 
EMF Facet at ESE 2010
EMF Facet at ESE 2010EMF Facet at ESE 2010
EMF Facet at ESE 2010
 
Mia-Software at Eclipse Modeling Symposium 2010
Mia-Software at Eclipse Modeling Symposium 2010Mia-Software at Eclipse Modeling Symposium 2010
Mia-Software at Eclipse Modeling Symposium 2010
 
Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009Mia-Software Maaf MDDay2009
Mia-Software Maaf MDDay2009
 
Discover models out of existing applications with Eclipse/MoDisco
Discover models out of existing applications with Eclipse/MoDiscoDiscover models out of existing applications with Eclipse/MoDisco
Discover models out of existing applications with Eclipse/MoDisco
 
MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009
 
Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

MoDisco EclipseCon2010

  • 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