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!

Mia-Software at Eclipse Modeling Symposium 2010

on

  • 2,286 views

This presentation explains how to create EMF models to describe existing plug-ins developped for Eclipse 3.x

This presentation explains how to create EMF models to describe existing plug-ins developped for Eclipse 3.x

Statistics

Views

Total Views
2,286
Views on SlideShare
2,061
Embed Views
225

Actions

Likes
1
Downloads
26
Comments
0

17 Embeds 225

http://fmadiot.blogspot.com 125
http://fmadiot.blogspot.fr 26
http://fredmadiot.flavors.me 19
http://fmadiot.blogspot.de 16
http://flavors.me 13
http://fmadiot.blogspot.in 5
http://fmadiot.blogspot.se 3
http://fmadiot.blogspot.kr 3
http://fmadiot.blogspot.jp 3
http://fmadiot.blogspot.com.br 2
http://fmadiot.blogspot.com.es 2
http://fmadiot.blogspot.ru 2
http://fmadiot.blogspot.it 2
http://translate.googleusercontent.com 1
http://fmadiot.blogspot.ie 1
http://fmadiot.blogspot.ch 1
http://fmadiot.blogspot.hu 1
More...

Accessibility

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

Mia-Software at Eclipse Modeling Symposium 2010 Presentation Transcript

  • 1. Using EMF to represent
    Eclipse 3.x Plug-ins
    FrédéricMadiot, Mia-Software
    GrégoireDupé, Mia-Software
  • 2. 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
    http://www.eclipse.org/MoDisco/
  • 3. Supported Technologies
    MoDisco Architecture
    EclipsePlugin
    • Metamodel
    • 4. Discoverer
    XML
    • Metamodel
    • 5. Discoverer
    • 6. Generator
    JSP
    • Metamodel
    • 7. Discoverer
    • 8. Generator
    Java
    • Metamodel
    • 9. Discoverer
    • 10. Generator
    • 11. 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
  • 12. Model-Driven
    Reverse-Engineering
    of Eclipse plug-ins
  • 13. 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
  • 14. 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
  • 15. Demo
  • 16. Demo
  • 17. Demo
  • 18. Whatcanyou do with
    the EMF model
    of a plug-in ?
  • 19. QualityAnalysis
    Check plug-in developmentrules
    Use EMF APIS to 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
  • 20. 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
  • 21. QualityAnalysis
  • 22. Runs Eclipse 3.x plug-ins into E4
    Strategy #1: Generate an E4 Plug-in from a 3.x Plug-in
    Problem:
    The new plug-in can’trun in 3.x => 2 plug-ins to maintain
    Strategy #2: Use the backward compatibility layer
    Problem:
    The compatibility layer doesn’t support all the existing plug-ins
    A solution :
    Refactor the E3 plug-in for the backward compatibility layer
    E4
    Plug-in
    3.x
    Plug-in
    Compatibility
    Layer
    Refactoring
    3.x
  • 23. Refactoring
    Example:
    To be visible in E4, menus must beexplicitlycreated by an ActionProvider
    • Java source code
    => New ActionProvidersubclass to create the menu
    • Plugin.xml
    => New extension (org.eclipse.ui.navigator.navigatorContent)
    • MANIFEST.MF
    => New required bundle (org.eclipse.ui.navigator)
    Existing
    Plug-in
    Model
    of the existing
    Plug-in
    Model
    of the migrated
    Plug-in
    Transformed
    Plug-in
     The transformed plug-in stillruns in E3
     The menus are now visible in E4
  • 24. Information Mining
    Initialize B3 models
    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)
  • 25. Thankyou !
    Eclipse projects
    http://www.eclipse.org/MoDisco/
    http://www.eclipse.org/modeling/emft/facet/
    Company
    http://www.mia-software.com/
    http://www.sodifrance.fr/
    Blog
    http://fmadiot.blogspot.com/