SlideShare a Scribd company logo
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

PDF
Analyze your software assets with Modisco par Frédéric Madiot
PDF
Modelling and code generation in .NET at Icinetic
ODP
Transforming a 15 year old model-driven application from C++ to Java
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
PDF
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart
PPT
Summer training java
Analyze your software assets with Modisco par Frédéric Madiot
Modelling and code generation in .NET at Icinetic
Transforming a 15 year old model-driven application from C++ to Java
5 - Architetture Software - Metamodelling and the Model Driven Architecture
20090410 J Spring Pragmatic Model Driven Development In Java Using Smart
Summer training java

What's hot (20)

PDF
QVT & MTL In Eclipse
PDF
MoDisco EclipseCon2010
PDF
Understanding Mda
PDF
Java one brazil_keynote_dochez
PPT
26 standards
PPT
Introduction to MDA
PDF
colony framework & omni platform
PDF
Hive solutions cloudviews 2010 presentation
PDF
6 - Architetture Software - Model transformation
PDF
Modern Software Infrastructures Revisited
PDF
XML Metadata Interchange (XMI)
PDF
Eclipse Summit 2008 - Thales - SolFa
PPT
M05 Metamodel
PDF
CG2010 Introducing MDSD
PDF
Soft Solvers Technologies Corporate Presentation
PPTX
OpenTravel XML Object Suite Mechanics
PDF
Acceleo Code Generation
DOC
Bernard Chalk 21.doc
PPTX
Industrial and Academic Experiences with a User Interaction Modeling Language...
PDF
You need to extend your models? EMF Facet vs. EMF Profiles
QVT & MTL In Eclipse
MoDisco EclipseCon2010
Understanding Mda
Java one brazil_keynote_dochez
26 standards
Introduction to MDA
colony framework & omni platform
Hive solutions cloudviews 2010 presentation
6 - Architetture Software - Model transformation
Modern Software Infrastructures Revisited
XML Metadata Interchange (XMI)
Eclipse Summit 2008 - Thales - SolFa
M05 Metamodel
CG2010 Introducing MDSD
Soft Solvers Technologies Corporate Presentation
OpenTravel XML Object Suite Mechanics
Acceleo Code Generation
Bernard Chalk 21.doc
Industrial and Academic Experiences with a User Interaction Modeling Language...
You need to extend your models? EMF Facet vs. EMF Profiles
Ad

Viewers also liked (9)

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

Similar to MoDisco Eclipse-OMG Symp 2010 (20)

PPTX
MoDisco at Eclipse Day Paris 2010
PPTX
Spy On Your Models, Standard talk at EclipseCon 2011
PPTX
Model Data Architecture for College presentation
PPT
ERP_Up_Down.ppt
PPT
Acceleo Day - Orange
PDF
Agile Modelling Architecture
PPTX
Mia-Software at Eclipse Modeling Symposium 2010
PPTX
Agile MDD
PPT
Discover models out of existing applications with Eclipse/MoDisco
PDF
Advanced Systems Design with Java UML and MDA 1st Edition Kevin Lano
PDF
CS587 Project - Raychaudhury,Shaalmali
PDF
PPS
Sig A&D - MDA
DOCX
MDD and modeling tools research
PDF
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
PDF
M3 Modernization Case Study
PPT
Web technologies: Model Driven Engineering
PDF
Model Driven Architecture (MDA): Motivations, Status & Future
PDF
Advanced Systems Design with Java UML and MDA 1st Edition Kevin Lano
PPT
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
MoDisco at Eclipse Day Paris 2010
Spy On Your Models, Standard talk at EclipseCon 2011
Model Data Architecture for College presentation
ERP_Up_Down.ppt
Acceleo Day - Orange
Agile Modelling Architecture
Mia-Software at Eclipse Modeling Symposium 2010
Agile MDD
Discover models out of existing applications with Eclipse/MoDisco
Advanced Systems Design with Java UML and MDA 1st Edition Kevin Lano
CS587 Project - Raychaudhury,Shaalmali
Sig A&D - MDA
MDD and modeling tools research
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
M3 Modernization Case Study
Web technologies: Model Driven Engineering
Model Driven Architecture (MDA): Motivations, Status & Future
Advanced Systems Design with Java UML and MDA 1st Edition Kevin Lano
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties

More from fmadiot (6)

ODP
Eclipse Party Toulouse - EEF and Acceleo
PPTX
EMF Facet EclipseCon 2011 Audition
PPTX
Mia-Software at MD Day 2010
PPTX
EMF Facet at ESE 2010
PDF
Mia-Software Maaf MDDay2009
PDF
Mo Disco Poster Eclipse Con 2009
Eclipse Party Toulouse - EEF and Acceleo
EMF Facet EclipseCon 2011 Audition
Mia-Software at MD Day 2010
EMF Facet at ESE 2010
Mia-Software Maaf MDDay2009
Mo Disco Poster Eclipse Con 2009

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
A Presentation on Artificial Intelligence
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Cloud computing and distributed systems.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
A Presentation on Artificial Intelligence
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Cloud computing and distributed systems.

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