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!

Like this? Share it with your network

Share

Mia-Software at Eclipse Modeling Symposium 2010

on

  • 2,302 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,302
Views on SlideShare
2,076
Embed Views
226

Actions

Likes
1
Downloads
26
Comments
0

18 Embeds 226

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.jp 3
http://fmadiot.blogspot.se 3
http://fmadiot.blogspot.kr 3
http://fmadiot.blogspot.ru 2
http://fmadiot.blogspot.com.br 2
http://fmadiot.blogspot.it 2
http://fmadiot.blogspot.com.es 2
http://fmadiot.blogspot.ie 1
http://fmadiot.blogspot.ch 1
http://fmadiot.blogspot.hu 1
http://translate.googleusercontent.com 1
http://fmadiot.blogspot.pt 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/