SlideShare a Scribd company logo
1 of 27
Download to read offline
Using OMG/SMM and Eclipse/MoDisco
             to Facilitate the
      Eclipse Development Process

                2nd Biannual Symposium
Eclipse Open Source Software & OMG Open Specifications
      Tuesday, June 22, 2010, Minneapolis, MN USA


        Hugo Bruneliere, AtlanMod Team (INRIA & EMN)
        Frédéric Madiot, Mia-Software
        Jordi Cabot, AtlanMod Team (INRIA & EMN)

                     Copyright © 2010 Mia-Software & AtlanMod.
                                 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 :
       Quality Analysis
       Legacy Understanding
       Application Mining

   Mia-Studio
       Model-to-Model transformation
       Model-to-Text transformation

   Eclipse/MoDisco
       IT Model-Driven Modernization



                              Copyright © 2010 Mia-Software & AtlanMod.
                                          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 & AtlanMod.
                                        All Rights Reserved
AtlanMod Team
AtlanMod is a research team
   Joint team between INRIA & École des Mines de Nantes (France)
   Co-lead by Jean Bézivin and Jordi Cabot
   Around 12 members
   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 & AtlanMod.
                                             All Rights Reserved
MoDisco Overview
An Eclipse platform for software modernization projects
                  http://www.eclipse.org/MoDisco/

   Created by AtlanMod in 2008
      MoDisco stands for Model Discovery

   Eclipse Modeling project (under MDT)
      Open-source (EPL licence)
      Based on EMP technologies :
           EMF (Eclipse Modeling Framework)
           M2M (Model-to-Model transformation)
           M2T (Model-to-Text transformations)

   Supported by the OMG
      Eclipse implementations for
           KDM (Knowledge Discovery Metamodel)
           SMM (Structured Metrics Metamodel)

   Co-funded by the European Community
      Modelplex research project



                              Copyright © 2010 Mia-Software & AtlanMod.
                                          All Rights Reserved
MoDisco Approach

                              Model-Driven platform
                        for Software Modernization projects



    Existing
                          Discover                       Understand          Transform
Software System




Software artifacts :
                                                                                 New
    - source code          Models                            Viewpoints
- configuration files                                                       Software System
        - tests
      - database
          -…



                                Copyright © 2010 Mia-Software & AtlanMod.
                                            All Rights Reserved
MoDisco Architecture
                                Supported Technologies

              Java                                                                 ...
                                               XML
           Metamodel
                                        Metamodel
           Discoverer
                                        Discoverer
           Generator
                                        Generator
         Transfo. to KDM



    Discovery                   Model                         Customization              OMG/ADM
    Manager                    Browser                        & Extensibility            Standards




Plug and orchestrate          Navigation                           Definition of             Pivot
      artifacts                through                               specific             Metamodels
   transformators           complex models                          Viewpoints           (SMM & KDM)

                                          Infrastructure

                                Eclipse Modeling projects


                                  Copyright © 2010 Mia-Software & AtlanMod.
                                              All Rights Reserved
ADM Task Force

Architecture-Driven Modernization task force
  Mission:
     Create specifications and promote industry consensus on modernization of
     existing applications.

  What is ADM?
     Process of understanding and evolving existing software assets for:
          Software improvement
          Modifications
          Interoperability
          Refactoring
          Restructuring
          Reuse
          Porting
          Migration
          Translation into another language
          Enterprise application integration
          Service-oriented architecture
          MDA migration

                            Copyright © 2010 Mia-Software & AtlanMod.
                                        All Rights Reserved
ADM Specifications

Knowledge Discovery Metamodel (KDM)
 Addresses the need to integrate various software tools that
 analyze ''existing software systems''.




                     Copyright © 2010 Mia-Software & AtlanMod.
                                 All Rights Reserved
ADM Specifications

Structured Metrics Metamodel (SMM)
  Representing measurement information related to any model
  structured information with an initial focus on software




                     Copyright © 2010 Mia-Software & AtlanMod.
                                 All Rights Reserved
MoDisco tools for ADM Specifications

MoDisco 0.8 (Helios version)
  KDM
    EMF implementation for KDM
        Ecore file
        Generated Java code
    KDMSource discoverer
        Creates a KDMSource model from the content of a directory
    Java to KDM transformation
        Creates a KDMCore model from a Java model
    KDM to UML2 transformation
        Creates a UML2 model from a KDMCore model

  SMM
    EMF implementation for SMM
        Ecore file
        Generated Java code




                         Copyright © 2010 Mia-Software & AtlanMod.
                                     All Rights Reserved
MoDisco tools for ADM specifications
MoDisco 0.9 (Indigo version)
   Quality Model editor
       To define a quality model
            By importing or defining
            quality characteristics (SMM
            Measure Category)
            By importing or defining
            metrics (SMM Measure)
            By setting metrics to quality
            characteristics

   SMM Measurement to Eclipse
   Markers
       To visualize the result of a QA
       analysis (SMM Measurement)
       in the Eclipse Problems View

   Property file discoverer
       Creates a KDM model



                              Copyright © 2010 Mia-Software & AtlanMod.
                                          All Rights Reserved
Measuring Eclipse Plug-ins Quality

Context
 An Eclipse plug-in is composed of several different kinds of
 artifacts
    Java source code
    Configuration files:
          Plugin.xml
          MANIFEST.MF
          plugin.properties
          build.properties
          .project
    Other files:
          about.html
          messages.properties
          Icons, models, …

 Eclipse tools already provide lots of automated validation rules
 But… there are still important rules to check manually 

                              Copyright © 2010 Mia-Software & AtlanMod.
                                          All Rights Reserved
Measuring Eclipse Plug-ins Quality
Examples of non-automated rules
  Eclipse foundation requirements (yearly simultaneous release)
      Version number ends with « qualifier »
      Source code must use ICU4J classes
      The project must contain an « about.html » file
      Packages name should start with the plug-in Id
      Plug-in must not contain JARs files
      Plug-in should contain only one « message.properties » and « Message.java » files

  Mia-Software internal rules
      “PLUGIN_ID” variable of “Activator.java” should be initialized with the plug-in Id
      Plug-in Id and Project name should be equal
      «Bundle-Vendor» property value of « MANIFEST.MF » should be « %providerName »
      « plugin.properties » should declare a « providerName » property
      «Bundle-Name» property value of « MANIFEST.MF » should be « %pluginName »
      « plugin.properties » should declare a « pluginName » property




                             Copyright © 2010 Mia-Software & AtlanMod.
                                         All Rights Reserved
Measuring Eclipse Plug-ins Quality
      Automation of QA Analysis

     Eclipse                                                            Rule 1
                                                                        Rule 2
                                                                        Rule 3
                                                                        Rule 4



Plugin project




    .project
                                                                          Eclipse
                                                                       Problems View
  MANIFEST.MF


plugin.properties


build.properties



                           Copyright © 2010 Mia-Software & AtlanMod.
                                       All Rights Reserved
Measuring Eclipse Plug-ins Quality

Solutions
  Use Eclipse APIs
     Eclipse provides APIs to manipulate projects and plugins
          org.eclipse.core (Eclipse SDK)
          org.eclipse.pde (Plug-in Development Environment)
          org.eclipse.osgi (OSGI tooling)
     Requires a deep understanding of these APIs 
     Some required APIs are «internal» 
          PDEProject, IManifestHeader, …



  Provide a generic solution based on MoDisco and SMM
     Use EMF models to represent Eclipse plug-ins
          KDM Source model for the structure of the project
          Java model for the source code
          DSLs for other artifacts
     Use SMM to represent QA results
     Requires only EMF APIs to implement the rules 

                           Copyright © 2010 Mia-Software & AtlanMod.
                                       All Rights Reserved
Measuring Eclipse Plug-ins Quality
      Using MoDisco and SMM

     Eclipse          Plugin models                                         Rule 1
                                                                            Rule 2
                                                                            Rule 3
                                                                            Rule 4
                      KDMSource model


Plugin project




    .project
                                                                              Eclipse
                                                                           Problems View
  MANIFEST.MF


plugin.properties


build.properties



                               Copyright © 2010 Mia-Software & AtlanMod.
                                           All Rights Reserved
Measuring Eclipse Plug-ins Quality
KDMSource model of the project
   Automatically created by org.eclipse.gmt.modisco.kdm.source.discoverer plugin




                          Copyright © 2010 Mia-Software & AtlanMod.
                                      All Rights Reserved
Measuring Eclipse Plug-ins Quality
      Using MoDisco and SMM

     Eclipse          Plugin models                                         Rule 1
                                                                            Rule 2
                                                                            Rule 3
                                                                            Rule 4
                      KDMSource model


Plugin project
                        Java model




    .project
                                                                              Eclipse
                                                                           Problems View
  MANIFEST.MF


plugin.properties


build.properties



                               Copyright © 2010 Mia-Software & AtlanMod.
                                           All Rights Reserved
Measuring Eclipse Plug-ins Quality
Java model of the Java source code
   Automatically created by org.eclipse.gmt.modisco.java.discoverer plugin




                          Copyright © 2010 Mia-Software & AtlanMod.
                                      All Rights Reserved
Measuring Eclipse Plug-ins Quality
      Using MoDisco and SMM                                                Declare
                                                                           QA Rules

     Eclipse          Plugin models                                                    Rule 1
                                                                                       Rule 2
                                                                                       Rule 3
                                                                     SMM Measure
                                                                                       Rule 4
                      KDMSource model                                   model


Plugin project
                        Java model



                         XML model
    .project
                                                                                         Eclipse
                                                                                      Problems View
  MANIFEST.MF          Manifest model



plugin.properties      KDMCode model



build.properties       KDMCode model



                               Copyright © 2010 Mia-Software & AtlanMod.
                                           All Rights Reserved
Measuring Eclipse Plug-ins Quality
Quality Model editor
   Assists in defining the SMM measures




                          Copyright © 2010 Mia-Software & AtlanMod.
                                      All Rights Reserved
Measuring Eclipse Plug-ins Quality
      Using MoDisco and SMM                                                Declare
                                                                           QA Rules

     Eclipse          Plugin models                                                     Rule 1
                                                                                        Rule 2
                                                                                        Rule 3
                                                                     SMM Measure
                                                                                        Rule 4
                      KDMSource model                                   model


Plugin project
                        Java model



                         XML model                               SMM Measurement
    .project                                                          model               Eclipse
                                                                                       Problems View
  MANIFEST.MF          Manifest model

                                                                           Implement
plugin.properties      KDMCode model
                                                                            QA Rules

build.properties       KDMCode model



                               Copyright © 2010 Mia-Software & AtlanMod.
                                           All Rights Reserved
Measuring Eclipse Plug-ins Quality
SMM Measurements to Eclipse Markers




                   Copyright © 2010 Mia-Software & AtlanMod.
                               All Rights Reserved
Measuring Eclipse Plug-ins Quality
SMM Measurements can be exported to other tools
  Example: Sonar




                    Copyright © 2010 Mia-Software & AtlanMod.
                                All Rights Reserved
Measuring Eclipse Plug-ins Quality

Benefits of the approach
  Declaring the rules only requires functional skills (SMM Editor)
     Which quality characteristics ?
     Which metrics ?
     On which scope ?

  Implementing the rules only requires:
     SMM metamodel knowledge
     EMF APIs knowledge

  Leverage existing tools
     MoDisco metamodels and discoverers
     SMM-compliant tools

  The result can be exported to other tools
     Excel spreadsheets
     QA portals (ex: Sonar)



                          Copyright © 2010 Mia-Software & AtlanMod.
                                      All Rights Reserved
Conclusion

Mutual benefits in OMG / Eclipse collaboration
  For Eclipse
     Standard-compliance is a key factor for tools
     Good implementation of standards discourage tools heterogeneity
     OMG is a well established standardization organization

     OMG standards implementations facilitate the adoption of Eclipse tools


  For OMG
     Standard-compliant tools help in demonstrating the interest of the standard
     Tools users and implementors give feedback to improve the standard
     Eclipse is the most adopted development platform

     Eclipse tools facilitate the diffusion of OMG standards




                          Copyright © 2010 Mia-Software & AtlanMod.
                                      All Rights Reserved

More Related Content

What's hot

MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
fmadiot
 
Java one brazil_keynote_dochez
Java one brazil_keynote_dochezJava one brazil_keynote_dochez
Java one brazil_keynote_dochez
Jerome Dochez
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentation
EuroCloud
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
Majong DevJfu
 
Modern Software Infrastructures Revisited
Modern Software Infrastructures RevisitedModern Software Infrastructures Revisited
Modern Software Infrastructures Revisited
ibogicevic
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
Dang Tuan
 
Soft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate PresentationSoft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate Presentation
Softsolvers
 
OpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite Mechanics
OpenTravel Alliance
 
Bernard Chalk 21.doc
Bernard Chalk 21.docBernard Chalk 21.doc
Bernard Chalk 21.doc
butest
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 

What's hot (20)

QVT & MTL In Eclipse
QVT & MTL In EclipseQVT & MTL In Eclipse
QVT & MTL In Eclipse
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Understanding Mda
Understanding MdaUnderstanding Mda
Understanding Mda
 
Java one brazil_keynote_dochez
Java one brazil_keynote_dochezJava one brazil_keynote_dochez
Java one brazil_keynote_dochez
 
26 standards
26 standards26 standards
26 standards
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
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
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Modern Software Infrastructures Revisited
Modern Software Infrastructures RevisitedModern Software Infrastructures Revisited
Modern Software Infrastructures Revisited
 
XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFa
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 Metamodel
 
CG2010 Introducing MDSD
CG2010 Introducing MDSDCG2010 Introducing MDSD
CG2010 Introducing MDSD
 
Soft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate PresentationSoft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate Presentation
 
OpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite Mechanics
 
Acceleo Code Generation
Acceleo Code GenerationAcceleo Code Generation
Acceleo Code Generation
 
Bernard Chalk 21.doc
Bernard Chalk 21.docBernard Chalk 21.doc
Bernard Chalk 21.doc
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 

Viewers also liked

Say No To Punishments And Rewards
Say No To Punishments And RewardsSay No To Punishments And Rewards
Say No To Punishments And Rewards
Mariana Florea
 
Himss 2011 securing health information in the cloud -- feisal nanji
Himss 2011    securing health information in the cloud -- feisal nanjiHimss 2011    securing health information in the cloud -- feisal nanji
Himss 2011 securing health information in the cloud -- feisal nanji
Feisal Nanji
 
MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009
fmadiot
 
Session # 9 Nanji Himss10 Presentation Sent To Himss Revised And Final
Session # 9 Nanji   Himss10 Presentation   Sent To Himss   Revised And FinalSession # 9 Nanji   Himss10 Presentation   Sent To Himss   Revised And Final
Session # 9 Nanji Himss10 Presentation Sent To Himss Revised And Final
Feisal Nanji
 
Feisal Nanji --- Article - Journal Of Health Care Compliance; Sept. 2010
Feisal Nanji ---  Article - Journal Of Health Care Compliance; Sept. 2010Feisal Nanji ---  Article - Journal Of Health Care Compliance; Sept. 2010
Feisal Nanji --- Article - Journal Of Health Care Compliance; Sept. 2010
Feisal Nanji
 
Colegio De Enfermeras
Colegio De EnfermerasColegio De Enfermeras
Colegio De Enfermeras
guest2fab0b
 
Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009
guest2fab0b
 

Viewers also liked (9)

Say No To Punishments And Rewards
Say No To Punishments And RewardsSay No To Punishments And Rewards
Say No To Punishments And Rewards
 
Himss 2011 securing health information in the cloud -- feisal nanji
Himss 2011    securing health information in the cloud -- feisal nanjiHimss 2011    securing health information in the cloud -- feisal nanji
Himss 2011 securing health information in the cloud -- feisal nanji
 
MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009
 
Session # 9 Nanji Himss10 Presentation Sent To Himss Revised And Final
Session # 9 Nanji   Himss10 Presentation   Sent To Himss   Revised And FinalSession # 9 Nanji   Himss10 Presentation   Sent To Himss   Revised And Final
Session # 9 Nanji Himss10 Presentation Sent To Himss Revised And Final
 
Feisal Nanji --- Article - Journal Of Health Care Compliance; Sept. 2010
Feisal Nanji ---  Article - Journal Of Health Care Compliance; Sept. 2010Feisal Nanji ---  Article - Journal Of Health Care Compliance; Sept. 2010
Feisal Nanji --- Article - Journal Of Health Care Compliance; Sept. 2010
 
Colegio De Enfermeras
Colegio De EnfermerasColegio De Enfermeras
Colegio De Enfermeras
 
Mappekrav 2
Mappekrav 2Mappekrav 2
Mappekrav 2
 
Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009
 
APRENDIZAJE VIRTUAL
APRENDIZAJE VIRTUALAPRENDIZAJE VIRTUAL
APRENDIZAJE VIRTUAL
 

Similar to MoDisco Eclipse-OMG Symp 2010

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
Hugo Bruneliere
 
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
fmadiot
 
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
elliando dias
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep Katoch
Roopa Nadkarni
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
IBM
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
ADC Austin Tech
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
ravinxg
 

Similar to MoDisco Eclipse-OMG Symp 2010 (20)

MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010
 
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
 
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
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
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
 
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
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Mohamed attia farag
Mohamed attia faragMohamed attia farag
Mohamed attia farag
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep Katoch
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
RTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud ApplicationsRTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud Applications
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
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
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGi
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
 
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
 
Use Eclipse Technologies to build a modern embedded development IDE
Use Eclipse Technologies to build a modern embedded development IDEUse Eclipse Technologies to build a modern embedded development IDE
Use Eclipse Technologies to build a modern embedded development IDE
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDisco
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 

More from fmadiot (7)

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
 
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

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

MoDisco Eclipse-OMG Symp 2010

  • 1. Using OMG/SMM and Eclipse/MoDisco to Facilitate the Eclipse Development Process 2nd Biannual Symposium Eclipse Open Source Software & OMG Open Specifications Tuesday, June 22, 2010, Minneapolis, MN USA Hugo Bruneliere, AtlanMod Team (INRIA & EMN) Frédéric Madiot, Mia-Software Jordi Cabot, AtlanMod Team (INRIA & EMN) Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 2. 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 : Quality Analysis Legacy Understanding Application Mining Mia-Studio Model-to-Model transformation Model-to-Text transformation Eclipse/MoDisco IT Model-Driven Modernization Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 3. 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 & AtlanMod. All Rights Reserved
  • 4. AtlanMod Team AtlanMod is a research team Joint team between INRIA & École des Mines de Nantes (France) Co-lead by Jean Bézivin and Jordi Cabot Around 12 members 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 & AtlanMod. All Rights Reserved
  • 5. MoDisco Overview An Eclipse platform for software modernization projects http://www.eclipse.org/MoDisco/ Created by AtlanMod in 2008 MoDisco stands for Model Discovery Eclipse Modeling project (under MDT) Open-source (EPL licence) Based on EMP technologies : EMF (Eclipse Modeling Framework) M2M (Model-to-Model transformation) M2T (Model-to-Text transformations) Supported by the OMG Eclipse implementations for KDM (Knowledge Discovery Metamodel) SMM (Structured Metrics Metamodel) Co-funded by the European Community Modelplex research project Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 6. MoDisco Approach Model-Driven platform for Software Modernization projects Existing Discover Understand Transform Software System Software artifacts : New - source code Models Viewpoints - configuration files Software System - tests - database -… Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 7. MoDisco Architecture Supported Technologies Java ... XML Metamodel Metamodel Discoverer Discoverer Generator Generator Transfo. to KDM Discovery Model Customization OMG/ADM Manager Browser & Extensibility Standards Plug and orchestrate Navigation Definition of Pivot artifacts through specific Metamodels transformators complex models Viewpoints (SMM & KDM) Infrastructure Eclipse Modeling projects Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 8. ADM Task Force Architecture-Driven Modernization task force Mission: Create specifications and promote industry consensus on modernization of existing applications. What is ADM? Process of understanding and evolving existing software assets for: Software improvement Modifications Interoperability Refactoring Restructuring Reuse Porting Migration Translation into another language Enterprise application integration Service-oriented architecture MDA migration Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 9. ADM Specifications Knowledge Discovery Metamodel (KDM) Addresses the need to integrate various software tools that analyze ''existing software systems''. Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 10. ADM Specifications Structured Metrics Metamodel (SMM) Representing measurement information related to any model structured information with an initial focus on software Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 11. MoDisco tools for ADM Specifications MoDisco 0.8 (Helios version) KDM EMF implementation for KDM Ecore file Generated Java code KDMSource discoverer Creates a KDMSource model from the content of a directory Java to KDM transformation Creates a KDMCore model from a Java model KDM to UML2 transformation Creates a UML2 model from a KDMCore model SMM EMF implementation for SMM Ecore file Generated Java code Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 12. MoDisco tools for ADM specifications MoDisco 0.9 (Indigo version) Quality Model editor To define a quality model By importing or defining quality characteristics (SMM Measure Category) By importing or defining metrics (SMM Measure) By setting metrics to quality characteristics SMM Measurement to Eclipse Markers To visualize the result of a QA analysis (SMM Measurement) in the Eclipse Problems View Property file discoverer Creates a KDM model Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 13. Measuring Eclipse Plug-ins Quality Context An Eclipse plug-in is composed of several different kinds of artifacts Java source code Configuration files: Plugin.xml MANIFEST.MF plugin.properties build.properties .project Other files: about.html messages.properties Icons, models, … Eclipse tools already provide lots of automated validation rules But… there are still important rules to check manually  Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 14. Measuring Eclipse Plug-ins Quality Examples of non-automated rules Eclipse foundation requirements (yearly simultaneous release) Version number ends with « qualifier » Source code must use ICU4J classes The project must contain an « about.html » file Packages name should start with the plug-in Id Plug-in must not contain JARs files Plug-in should contain only one « message.properties » and « Message.java » files Mia-Software internal rules “PLUGIN_ID” variable of “Activator.java” should be initialized with the plug-in Id Plug-in Id and Project name should be equal «Bundle-Vendor» property value of « MANIFEST.MF » should be « %providerName » « plugin.properties » should declare a « providerName » property «Bundle-Name» property value of « MANIFEST.MF » should be « %pluginName » « plugin.properties » should declare a « pluginName » property Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 15. Measuring Eclipse Plug-ins Quality Automation of QA Analysis Eclipse Rule 1 Rule 2 Rule 3 Rule 4 Plugin project .project Eclipse Problems View MANIFEST.MF plugin.properties build.properties Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 16. Measuring Eclipse Plug-ins Quality Solutions Use Eclipse APIs Eclipse provides APIs to manipulate projects and plugins org.eclipse.core (Eclipse SDK) org.eclipse.pde (Plug-in Development Environment) org.eclipse.osgi (OSGI tooling) Requires a deep understanding of these APIs  Some required APIs are «internal»  PDEProject, IManifestHeader, … Provide a generic solution based on MoDisco and SMM Use EMF models to represent Eclipse plug-ins KDM Source model for the structure of the project Java model for the source code DSLs for other artifacts Use SMM to represent QA results Requires only EMF APIs to implement the rules  Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 17. Measuring Eclipse Plug-ins Quality Using MoDisco and SMM Eclipse Plugin models Rule 1 Rule 2 Rule 3 Rule 4 KDMSource model Plugin project .project Eclipse Problems View MANIFEST.MF plugin.properties build.properties Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 18. Measuring Eclipse Plug-ins Quality KDMSource model of the project Automatically created by org.eclipse.gmt.modisco.kdm.source.discoverer plugin Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 19. Measuring Eclipse Plug-ins Quality Using MoDisco and SMM Eclipse Plugin models Rule 1 Rule 2 Rule 3 Rule 4 KDMSource model Plugin project Java model .project Eclipse Problems View MANIFEST.MF plugin.properties build.properties Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 20. Measuring Eclipse Plug-ins Quality Java model of the Java source code Automatically created by org.eclipse.gmt.modisco.java.discoverer plugin Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 21. Measuring Eclipse Plug-ins Quality Using MoDisco and SMM Declare QA Rules Eclipse Plugin models Rule 1 Rule 2 Rule 3 SMM Measure Rule 4 KDMSource model model Plugin project Java model XML model .project Eclipse Problems View MANIFEST.MF Manifest model plugin.properties KDMCode model build.properties KDMCode model Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 22. Measuring Eclipse Plug-ins Quality Quality Model editor Assists in defining the SMM measures Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 23. Measuring Eclipse Plug-ins Quality Using MoDisco and SMM Declare QA Rules Eclipse Plugin models Rule 1 Rule 2 Rule 3 SMM Measure Rule 4 KDMSource model model Plugin project Java model XML model SMM Measurement .project model Eclipse Problems View MANIFEST.MF Manifest model Implement plugin.properties KDMCode model QA Rules build.properties KDMCode model Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 24. Measuring Eclipse Plug-ins Quality SMM Measurements to Eclipse Markers Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 25. Measuring Eclipse Plug-ins Quality SMM Measurements can be exported to other tools Example: Sonar Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 26. Measuring Eclipse Plug-ins Quality Benefits of the approach Declaring the rules only requires functional skills (SMM Editor) Which quality characteristics ? Which metrics ? On which scope ? Implementing the rules only requires: SMM metamodel knowledge EMF APIs knowledge Leverage existing tools MoDisco metamodels and discoverers SMM-compliant tools The result can be exported to other tools Excel spreadsheets QA portals (ex: Sonar) Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved
  • 27. Conclusion Mutual benefits in OMG / Eclipse collaboration For Eclipse Standard-compliance is a key factor for tools Good implementation of standards discourage tools heterogeneity OMG is a well established standardization organization OMG standards implementations facilitate the adoption of Eclipse tools For OMG Standard-compliant tools help in demonstrating the interest of the standard Tools users and implementors give feedback to improve the standard Eclipse is the most adopted development platform Eclipse tools facilitate the diffusion of OMG standards Copyright © 2010 Mia-Software & AtlanMod. All Rights Reserved