SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
Java one brazil_keynote_dochez
Java one brazil_keynote_dochezJava one brazil_keynote_dochez
Java one brazil_keynote_dochezJerome Dochez
 
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
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Modern Software Infrastructures Revisited
Modern Software Infrastructures RevisitedModern Software Infrastructures Revisited
Modern Software Infrastructures Revisitedibogicevic
 
XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)XML Metadata Interchange (XMI)
XML Metadata Interchange (XMI)elliando dias
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaBENOIT_LANGLOIS
 
M05 Metamodel
M05 MetamodelM05 Metamodel
M05 MetamodelDang Tuan
 
Soft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate PresentationSoft Solvers Technologies Corporate Presentation
Soft Solvers Technologies Corporate PresentationSoftsolvers
 
OpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel Alliance
 
Bernard Chalk 21.doc
Bernard Chalk 21.docBernard Chalk 21.doc
Bernard Chalk 21.docbutest
 
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
 
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 ProfilesPhilip Langer
 

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

En vedette

Say No To Punishments And Rewards
Say No To Punishments And RewardsSay No To Punishments And Rewards
Say No To Punishments And RewardsMariana 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 nanjiFeisal Nanji
 
MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009MoDisco Poster EclipseCon 2009
MoDisco Poster EclipseCon 2009fmadiot
 
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 FinalFeisal 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. 2010Feisal Nanji
 
Colegio De Enfermeras
Colegio De EnfermerasColegio De Enfermeras
Colegio De Enfermerasguest2fab0b
 
Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009Beneficiados Beca De Matricula 2009
Beneficiados Beca De Matricula 2009guest2fab0b
 

En vedette (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
 

Similaire à MoDisco Eclipse-OMG Symp 2010

MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010MoDisco at Eclipse Day Paris 2010
MoDisco at Eclipse Day Paris 2010fmadiot
 
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
 
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
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orangesliard
 
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
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochRoopa Nadkarni
 
RTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud ApplicationsRTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud ApplicationsSL Corporation
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
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 IcineticIcinetic
 
Enterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiEnterprise Mobility with Mobile OSGi
Enterprise Mobility with Mobile OSGiJoachim Ritter
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case StudyADC Austin Tech
 
The REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudThe REMICS model-driven process for migrating legacy applications to the cloud
The REMICS model-driven process for migrating legacy applications to the cloudMarcos Almeida
 
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 IDEBenjamin Cabé
 
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...Prolifics
 
Introducing Eclipse MoDisco
Introducing Eclipse MoDiscoIntroducing Eclipse MoDisco
Introducing Eclipse MoDiscoHugo Bruneliere
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 

Similaire à 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
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
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
 

Plus de fmadiot

Eclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and AcceleoEclipse Party Toulouse - EEF and Acceleo
Eclipse Party Toulouse - EEF and Acceleofmadiot
 
EMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 AuditionEMF Facet EclipseCon 2011 Audition
EMF Facet EclipseCon 2011 Auditionfmadiot
 
Mia-Software at MD Day 2010
Mia-Software at MD Day 2010Mia-Software at MD Day 2010
Mia-Software at MD Day 2010fmadiot
 
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
 
Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009Mo Disco Poster Eclipse Con 2009
Mo Disco Poster Eclipse Con 2009fmadiot
 

Plus de fmadiot (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
 

Dernier

UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationKnoldus Inc.
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 

Dernier (20)

UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Introduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its applicationIntroduction to RAG (Retrieval Augmented Generation) and its application
Introduction to RAG (Retrieval Augmented Generation) and its application
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 

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