• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

MoDisco at Eclipse Day Paris 2010

on

  • 3,720 views

Presentation of MoDisco project at Eclispe Day Paris 2010

Presentation of MoDisco project at Eclispe Day Paris 2010

Statistics

Views

Total Views
3,720
Views on SlideShare
3,584
Embed Views
136

Actions

Likes
1
Downloads
48
Comments
0

14 Embeds 136

http://fmadiot.blogspot.com 64
http://fmadiot.blogspot.fr 22
http://fmadiot.blogspot.de 15
http://flavors.me 13
http://fredmadiot.flavors.me 11
http://fmadiot.blogspot.com.es 2
http://fmadiot.blogspot.jp 2
http://fmadiot.blogspot.ro 1
http://fmadiot.blogspot.dk 1
http://fmadiot.blogspot.com.br 1
http://fmadiot.blogspot.mx 1
http://fmadiot.blogspot.it 1
http://fmadiot.blogspot.hu 1
http://fmadiot.blogspot.in 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MoDisco at Eclipse Day Paris 2010 MoDisco at Eclipse Day Paris 2010 Presentation Transcript

    • Analyze your Software Assets
      With MoDisco
      Frédéric Madiot, Mia-Software
      Grégoire Dupé, Mia-Software
    • 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 :
      LegacyUnderstanding
      Application Mining
      Mia-Quality
      QualityAnalysis
      Mia-Studio
      Model-to-Model transformation
      Model-to-Text transformation
      Eclipse projects
      MoDisco
      EMF Facet
    • 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
    • AtlanMod Team
      AtlanModis a researchteam
      Jointteambetween INRIA & École des Mines de Nantes (France)
      Foundedby Jean Bézivin
      Around 12 members, lead by Jordi Cabot
      Researchfocuson:
      MDE coretechnologies
      metamodeling, modeltransformations, modelweaving, megamodeling,…
      MDE applications
      reverse engineering, interoperability
      Organizers of the 1st full postgraduateprogramon MDE
      http://www.emn.fr/z-info/atlanmod/index.php/The_MDE_Diploma
      Commitmentto Eclipse open-sourceprojects:
      ATL, TCS, AM3, AMW, MoDisco, …
      Strong links withseveral software developmentcompanies
      Participation in national and international projects
    • About
      Modernization…
    • Software Modernization
      Legacy Technologies
      Output
      Scenarios
      Metrics
      Source code
      • Quality Analysis
      • Understanding
      • Code Refactoring
      • Technical Migration
      Databases
      Models
      Configuration
      files
      New system
      Other sources
      Documentation
    • Modeling Software Artifacts
      Source Code can be
      represented with Models
      This is not
      a UML model !
    • use Modelsto represent and manipulate
      artifactsof existing systems
      Discover
      Understand
      Transform
      Existing
      Software System
      Software artifacts :
      - source code
      - configuration files
      - tests
      - database
      - …
      New
      Software System
      Models
      Viewpoints
      MoDisco
    • MoDisco Project
      Official Eclipse Modelingproject (in MDT)
      Open-source (EPL licence)
      Based on other Eclipse Modelingprojects
      ReleasedwithHelios
      Supported by the OMG
      Eclipse implementations for
      KDM (KnowledgeDiscoveryMetamodel)
      SMM (StructuredMetricsMetamodel)
      an Eclipse platform to support
      Software Modernizationprojects
      http://www.eclipse.org/MoDisco/
    • Whatcanyou do withMoDisco ?
    • QualityAnalysis
      Complexity
      Maintenability
      Usability
      Efficiency
      Portability
      etc
      Existing
      application
      Calculatemetricsfromyourcode
      MoDisco
      42
      13
      931
      Model
      of the existing
      application
      Model
      of the metrics
      • Check yourcodingnorms
      • Control multi-technos rules
      • Select your output format
      Your own rules
    • Understanding
      What to extract
      from the code
      How to represent
      the information
      Existing
      Application
      Extractcustom viewpointsout of your code
      MoDisco
      Modeling tools
      Model
      of the existing
      application
      Model
      of the viewpoint
      (UML or DSL)
      Documentation
      • Detectspecific patterns
      • Generateview-points
      • Respect yourmodellingnorms
      Your own rules
    • Code Refactoring
      What to change
      +
      How to change
      Existing application
      Improved
      application
      Improveexisting applications
      MoDisco
      Model
      of the existing
      application
      Model
      of the improved
      application
      • Re-applycodingnorms
      • Upgrade component versions
      • Replace coding patterns
      Your own rules
    • Technical Migration
      Migration
      Strategy
      Existing
      application
      Transform to new technologies
      MoDisco
      Model
      of the existing
      application
      Model
      of the migrated
      application
      Migrated
      application
      Your own rules
    • the
      MoDisco
      Toolbox
    • Supported Technologies
      MoDisco Architecture
      XML
      • Metamodel
      • Discoverer
      • Generator
      . . .
      JSP
      • Metamodel
      • Discoverer
      • Generator
      Java
      • Metamodel
      • Discoverer
      • Generator
      • Transfo. to KDM
      Infrastructure
      OMG/ADM
      Standards
      Model
      Browser
      Customization
      & Extensibility
      Discovery
      Manager
      Navigation
      through
      complex models
      Definition of
      specific
      Viewpoints
      Plug and orchestrate
      transformations
      Pivot
      Metamodels
      (SMM & KDM)
      Eclipse Modelingprojects
    • ADM Specifications
      KnowledgeDiscoveryMetamodel (KDM)
      To represent ''existing software systems'‘
      Facilitates the integration of software analysis tools
    • ADM Specifications
      StructuredMetricsMetamodel (SMM)
      To represent measurements calculated on software systems
    • Supported Technologies
      MoDisco Architecture
      XML
      • Metamodel
      • Discoverer
      • Generator
      . . .
      JSP
      • Metamodel
      • Discoverer
      • Generator
      Java
      • Metamodel
      • Discoverer
      • Generator
      • Transfo. to KDM
      Infrastructure
      Model
      Browser
      OMG/ADM
      Standards
      Model
      Browser
      Customization
      & Extensibility
      Discovery
      Manager
      Navigation
      through
      complex models
      Navigation
      through
      complex models
      Definition of
      specific
      Viewpoints
      Plug and orchestrate
      transformations
      Pivot
      Metamodels
      (SMM & KDM)
      Eclipse Modelingprojects
    • EMF Model Browser
      Spy On YourModels
    • Supported Technologies
      MoDisco Architecture
      XML
      • Metamodel
      • Discoverer
      • Generator
      . . .
      JSP
      • Metamodel
      • Discoverer
      • Generator
      Java
      • Metamodel
      • Discoverer
      • Generator
      • Transfo. to KDM
      Infrastructure
      OMG/ADM
      Standards
      Model
      Browser
      Customization
      & Extensibility
      Discovery
      Manager
      Navigation
      through
      complex models
      Definition of
      specific
      Viewpoints
      Plug and orchestrate
      transformations
      Pivot
      Metamodels
      (SMM & KDM)
      Eclipse Modelingprojects
    • Extensibility & Customization
      DefineDynamicViewpoints on YourModels
    • Supported Technologies
      MoDisco Architecture
      XML
      • Metamodel
      • Discoverer
      • Generator
      . . .
      JSP
      • Metamodel
      • Discoverer
      • Generator
      Java
      • Metamodel
      • Discoverer
      • Generator
      • Transfo. to KDM
      Infrastructure
      OMG/ADM
      Standards
      Model
      Browser
      Customization
      & Extensibility
      Discovery
      Manager
      Navigation
      through
      complex models
      Definition of
      specific
      Viewpoints
      Plug and orchestrate
      transformations
      Pivot
      Metamodels
      (SMM & KDM)
      Eclipse Modelingprojects
    • JEE support
      ExtractModelsfrom Source code
      Generate Source Code fromModels
      KDM model
      • Java files
      + annotations (ejb, jpa, servlet)
      • JSP pages
      • web.xml
      • ejb-jar.xml
      EMF models
    • Supported Technologies
      MoDisco Architecture
      XML
      • Metamodel
      • Discoverer
      • Generator
      . . .
      JSP
      • Metamodel
      • Discoverer
      • Generator
      Java
      • Metamodel
      • Discoverer
      • Generator
      • Transfo. to KDM
      Infrastructure
      OMG/ADM
      Standards
      Model
      Browser
      Customization
      & Extensibility
      Discovery
      Manager
      Navigation
      through
      complex models
      Definition of
      specific
      Viewpoints
      Plug and orchestrate
      transformations
      Pivot
      Metamodels
      (SMM & KDM)
      Eclipse Modelingprojects
    • Discovery Manager
      Plug otherparsers
      • Cobol
      • Natural
      • VB
      • C
      • DELPHI
      • NSDK/NATSTAR
      • SQL, PLSQL
      • PL1
      • RPG
      • FORTRAN
      • Smalltalk
      • Powerbuilder
      • OracleForms
      • Forte, Uniface
      • Cool:Gen
      • DL1
      • DB2
      etc…
      MoDisco
      Mia-Insight
      Model
      of the existing
      application
    • Model-Driven
      Reverse-Engineering
      of Eclipse plug-ins
    • Anatomy of an Eclipse 3.x Plug-in
      folders
      MANIFEST.MF
      plugin.xml
      files
      build.properties
      Heterogeneity !
      Source code
      plugin.properties
      Eclipse Plug-in
      .classpath
      .project
    • Using EMF to describe a Plug-in
      Project’s structure
      (KDMSource)
      .project (XML)
      .classpath (XML)
      manifest
      build.properties
      (KDMCore)
      plugin
      (eclipseplugin)
      Java source code
      (Java)
      plugin.properties
      (KDMCore)
      extensions (XML)
      folders
      MANIFEST.MF
      plugin.xml
      files
      build.properties
      Homogeneity !
      Source code
      plugin.properties
      Eclipse Plug-in
      .classpath
      .project
      Demo
    • Demo
    • Demo
    • Demo
    • Understanding
      View Java elementswhich are specific to Eclipse
      Use EMF tools to detectEclipse patterns
      Highlight the model elementsrelated to these patterns
      Model
      of the Plug-in
      Viewpoint
      on the Plug-in
      Existing
      Plug-in
      Demo
    • QualityAnalysis
      Check plug-in developmentrules
      Use EMF toolsto detectproblems in the model of the Plug-in
      Store violations as Measurementsinto a SMM model
      Inject violations into the ProblemView



      Model
      of the Plug-in
      Model
      of the violations
      Existing
      Plug-in
      ProblemView
      Demo
    • QualityAnalysis
      Examples of rules
      Yearlysimultaneous release
      Version numberendswith « qualifier »
      Source code must use ICU4J classes
      The project must contain an « about.html » file
      Packages nameshouldstartwith the plug-in ID
      Plug-in must not containJARs files
      Plug-in shouldcontainonly one « message.properties » and « Message.java » files
      Mia-Software internalrules
      “PLUGIN_ID” variable of “Activator.java” should be initialized with the plug-in Id
      Plug-in Id and Project nameshouldbeequal
      «Bundle-Vendor» property value of « MANIFEST.MF » shouldbe « %providerName »
      « plugin.properties » shoulddeclare a « providerName » property
      «Bundle-Name» property value of « MANIFEST.MF » shouldbe « %pluginName »
      « plugin.properties » shoulddeclare a « pluginName » property
    • QualityAnalysis
    • Refactoring
      Example:
      Class must use UCI4J classes (yearlysimultaneous release rule)
      Detect all the references to 19 prohibited classes:
      • java.lang.Character
      • java.text.DateFormat
      • java.util.Calendar
      • etc…
      Replace them by corresponding ICU4J classes
      Existing
      Plug-in
      Model
      of the existing
      Plug-in
      Model
      of the migrated
      Plug-in
      Transformed
      Plug-in
    • Build Configuration
      Example:
      Improvebuildstrategies
      Buildresolutionstrategies
      (constraintssolver)
      Plug-ins to build
      IDM++ Research Project (ANR) -> Sept 2011
      B3 Model
      (build configuration)
      Model of
      plugins to build
      Team information
      (CVS, SVN, etc)
      Resolved plug-ins
      dependencies
      Cartography
      Model of
      update sites content
      Update sites
      (p2)
    • Thank you !
      Company
      http://www.mia-software.com/
      http://www.sodifrance.fr/
      Eclipse projects
      http://www.eclipse.org/MoDisco/
      http://www.eclipse.org/modeling/emft/facet/
      Blog
      http://fmadiot.blogspot.com/