M O SKitt Extensibility
       “mutatis mutandis”

Javier Muñoz, Francisco Javier Cano
     {jmunoz, fjcano}@prodevelop.es
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Motivation
•       Every organization is different
       Internal culture

       Background and experience

       Go...
H ow to tailor M O SK itt to
 every specific context?




                           h t t p ://w w w .flick r .c o m /p h...
How to adapt?
•       Adding tools
           New editors

           New transformations



•       Modifying tools
   ...
Extension Points
         Plugin B




         Plugin C

 Host      .
Plugin     .
           .


         Plugin Z
Extension Points
What to adapt?
 The Method
 
     Method contents        
                                Cheatsheets
 
     Creation w...
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Method contents
•   Changing method steps
Method contents
•   Changing method steps
Creation Wizards
•   Specific actions on project creation
Creation Wizards
Cheatsheets
•   What is a cheatsheet?
    1. Defines step by step
       instructions to perform a task.
    2. Steps can ...
Cheatsheets
•   How to use a cheatsheet in your
    methodology:
     1. Create the
     cheatsheet with
     the Eclipse
...
Cheatsheets
2. Contribute the cheatsheet with the
   'org.eclipse.ui.cheatsheets.cheatsheetCo
   ntent' extension point
Cheatsheet
3. Add the 'OpenCheatsheetAction' to one of
   your task in a dashboard:




4. Select a cheatsheet for the act...
Cheatsheet
•   The cheatsheet will be available from the
    task in the dashboard and the cheatsheet
    selection dialog:
Contextual help
•   GMF editors and FEFEM editors show help depending
    on the selected element

•   Third party plugins...
Contextual help
•   How to contribute contextual help
    to MOSKitt:
    1. Create your context help file:
Contextual help
2. Contribute your contextual help via the
   'org.eclipse.help.contexts' extension point.
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Model Templates
•   Initial model contents
Model Templates
•   Initial model contents
Palette customization
• names ingroups and tools
   Change
           a palette.

• to another. from one group
   Move too...
Palette customization
1. Define the customization via the
'es.cv.gvcase.mdt.common.editorPalet
te' extension point
Palette customization
•       'Group' element:
        adding a new group
        change an existing group's name
     ...
Palette customization
•       'Tool' element
         changing a tool's name
         moving an existing tool between gr...
Extended properties
•   Adding new properties to existing entities

•   Editing the properties with property sections

•  ...
Extended properties
1. Define     your    properties   via   the
   'es.cv.gvcase.mdt.common.featureExtender'
   extension...
Extended properties
2. Define
         property type:
      ➢      Integer
      ➢      Double
      ➢      Boolean
     ...
Extended properties
3. Define
     Extended elements (AdaptTo):
     Candidate values ('AvailableValue')
Extended properties
4. Implement and define property sections using
   available infraestructure:




       Double Proper...
Graphical decorators
•   Provide decorations to figures in GMF editors

•   Contribute the decorators from third party plu...
Graphical decorators
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Transformation Override
 •   Define higher priority transformations
Transformation Override
 •   Define higher priority transformations
Synchronization
•   Specific actions on traced models changes

                          Traces between
                  ...
Synchronization
•   Specific actions on traced models changes
Contents
•   Introduction

•   Adapting the Method

•   Adapting the Editors

•   Adapting the Transformations

•   Conclu...
Conclusions
                                                                                       •       Many adaptation...
M O SKitt Extensibility
       “mutatis mutandis”

Javier Muñoz, Francisco Javier Cano
     {jmunoz, fjcano}@prodevelop.es
Creative Commons
            Attribution-Noncommercial-Share Alike 3.0
                            Unported

•        You ...
Upcoming SlideShare
Loading in …5
×

MOSKitt Extensibility. Mutatis mutandis

938 views

Published on

Description of extension capabilities of the MOSKitt tool (http://www.moskitt.org)

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MOSKitt Extensibility. Mutatis mutandis

  1. 1. M O SKitt Extensibility “mutatis mutandis” Javier Muñoz, Francisco Javier Cano {jmunoz, fjcano}@prodevelop.es
  2. 2. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  3. 3. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  4. 4. Motivation • Every organization is different  Internal culture  Background and experience  Goals and expectations • All the organizations change  New responsibilities and goals  Continuous improvement h t t p ://w w w .sx c .h u /p h o t o /98441 8
  5. 5. H ow to tailor M O SK itt to every specific context? h t t p ://w w w .flick r .c o m /p h o t o s/8 3 4 7 68 7 3 @ N 00/1 1 099 3 8 7 7/
  6. 6. How to adapt? • Adding tools  New editors  New transformations • Modifying tools  Changing code + recompile → branching ➢ Hard to maintain and evolve :(  Dynamic extensions mechanisms ➢ Implementing and declaring new functionality ➢ Existing code must be ready ➢ Tools remains untouched h t t p ://w w w .sx c .h u /p h o t o /1 1 52 1 2 7
  7. 7. Extension Points Plugin B Plugin C Host . Plugin . . Plugin Z
  8. 8. Extension Points
  9. 9. What to adapt? The Method  Method contents  Cheatsheets  Creation wizards  Contextual help The Editors  Model templates  Extended Properties  Palette  Graphical decorators The Transformations  Transf. override  Synchronization
  10. 10. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  11. 11. Method contents • Changing method steps
  12. 12. Method contents • Changing method steps
  13. 13. Creation Wizards • Specific actions on project creation
  14. 14. Creation Wizards
  15. 15. Cheatsheets • What is a cheatsheet? 1. Defines step by step instructions to perform a task. 2. Steps can have instructions and actions. 3. Some steps can be ommitted.
  16. 16. Cheatsheets • How to use a cheatsheet in your methodology: 1. Create the cheatsheet with the Eclipse editor
  17. 17. Cheatsheets 2. Contribute the cheatsheet with the 'org.eclipse.ui.cheatsheets.cheatsheetCo ntent' extension point
  18. 18. Cheatsheet 3. Add the 'OpenCheatsheetAction' to one of your task in a dashboard: 4. Select a cheatsheet for the action in the property sheets:
  19. 19. Cheatsheet • The cheatsheet will be available from the task in the dashboard and the cheatsheet selection dialog:
  20. 20. Contextual help • GMF editors and FEFEM editors show help depending on the selected element • Third party plugins can contribute help contents to this system C o n e x t u al h e lp sh o w in g h e lp c o n t e n t s fo r t h e FEFEM e d it o r w it h e le m e n t se le c t e d se le c t e d e le m e n t
  21. 21. Contextual help • How to contribute contextual help to MOSKitt: 1. Create your context help file:
  22. 22. Contextual help 2. Contribute your contextual help via the 'org.eclipse.help.contexts' extension point.
  23. 23. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  24. 24. Model Templates • Initial model contents
  25. 25. Model Templates • Initial model contents
  26. 26. Palette customization • names ingroups and tools Change a palette. • to another. from one group Move tools Create and remove groups • and tools from a palette. C u st o m ize d e d it o r 's p ale t t e Fu ll e d it o r 's p ale t t e
  27. 27. Palette customization 1. Define the customization via the 'es.cv.gvcase.mdt.common.editorPalet te' extension point
  28. 28. Palette customization • 'Group' element:  adding a new group  change an existing group's name  removing a group
  29. 29. Palette customization • 'Tool' element  changing a tool's name  moving an existing tool between groups  removing a tool
  30. 30. Extended properties • Adding new properties to existing entities • Editing the properties with property sections • Keeping compatibility with non-extended versions
  31. 31. Extended properties 1. Define your properties via the 'es.cv.gvcase.mdt.common.featureExtender' extension point.
  32. 32. Extended properties 2. Define  property type: ➢ Integer ➢ Double ➢ Boolean ➢ String ➢ Reference  minimum multiplicity  maximum multiplicity
  33. 33. Extended properties 3. Define  Extended elements (AdaptTo):  Candidate values ('AvailableValue')
  34. 34. Extended properties 4. Implement and define property sections using available infraestructure: Double Properties Collection Properties String Properties References Properties Integer Properties
  35. 35. Graphical decorators • Provide decorations to figures in GMF editors • Contribute the decorators from third party plugins • Easyly use icons and images to decorate figures A normal Class A decorated Class
  36. 36. Graphical decorators
  37. 37. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  38. 38. Transformation Override • Define higher priority transformations
  39. 39. Transformation Override • Define higher priority transformations
  40. 40. Synchronization • Specific actions on traced models changes Traces between “X.uml” and “Y.sqlschema” 1.- on change 2.- update in input traced models
  41. 41. Synchronization • Specific actions on traced models changes
  42. 42. Contents • Introduction • Adapting the Method • Adapting the Editors • Adapting the Transformations • Conclusions
  43. 43. Conclusions • Many adaptation chances • Ready to fit into your organization • We want to hear your feedback • What do you miss? h t t p ://w w w .flick r .c o m /p h o t o s/8 5 1 6 91 1 8 @ N 00/9 3 2 96 3 8 1 /
  44. 44. M O SKitt Extensibility “mutatis mutandis” Javier Muñoz, Francisco Javier Cano {jmunoz, fjcano}@prodevelop.es
  45. 45. Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported • You are free:  to share — to copy, distribute and transmit the work  to Remix — to adapt the work • Under the following conditions:  Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).  Noncommercial — You may not use this work for commercial purposes.  Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one h t t p ://c r e at iv e c o m m o n s.o r g/lic e n se s/b y -n c -sa/3.0/

×