moskitt extensibility. mutatis mutandis

45
M O SKitt Extensibility M O SKitt Extensibility mutatis mutandis” mutatis mutandis” Javier Muñoz, Francisco Javier Cano {jmunoz, fjcano}@prodevelop.es

Upload: javier-munoz

Post on 13-Jun-2015

772 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: MOSKitt Extensibility. Mutatis mutandis

M OSKitt ExtensibilityM OSKitt Extensibility““mutatis mutandis”mutatis mutandis”

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

Page 2: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 3: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 4: MOSKitt Extensibility. Mutatis mutandis

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

Page 5: MOSKitt Extensibility. Mutatis mutandis

How to tailor MO SKitt to every specific context?

h t t p ://w w w .f l ic k r .c o m /p h o t o s/83476873@ N 00/1 1 0993877/

Page 6: MOSKitt Extensibility. Mutatis mutandis

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 untouchedh t t p ://w w w .sx c .h u /p h o t o /1 1 52 1 27

Page 7: MOSKitt Extensibility. Mutatis mutandis

Extension Points

HostPlugin

Plugin B

Plugin C

Plugin Z

.

.

.

Page 8: MOSKitt Extensibility. Mutatis mutandis

Extension Points

Page 9: MOSKitt Extensibility. Mutatis mutandis

What to adapt? Cheatsheets Contextual help

The Method Method contents Creation wizards

The Editors Model templates Palette

Extended Properties Graphical decorators

The Transformations Transf. override Synchronization

Page 10: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 11: MOSKitt Extensibility. Mutatis mutandis

Method contents• Changing method steps

Page 12: MOSKitt Extensibility. Mutatis mutandis

Method contents• Changing method steps

Page 13: MOSKitt Extensibility. Mutatis mutandis

Creation Wizards• Specific actions on project creation

Page 14: MOSKitt Extensibility. Mutatis mutandis

Creation Wizards

Page 15: MOSKitt Extensibility. Mutatis mutandis

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.

Page 16: MOSKitt Extensibility. Mutatis mutandis

Cheatsheets• How to use a cheatsheet in your

methodology:

1. Create the cheatsheet with the Eclipse editor

Page 17: MOSKitt Extensibility. Mutatis mutandis

Cheatsheets2. Contribute the cheatsheet with the

'org.eclipse.ui.cheatsheets.cheatsheetContent' extension point

Page 18: MOSKitt Extensibility. Mutatis mutandis

Cheatsheet3. Add the 'OpenCheatsheetAction' to one of

your task in a dashboard:

4. Select a cheatsheet for the action in the property sheets:

Page 19: MOSKitt Extensibility. Mutatis mutandis

Cheatsheet• The cheatsheet will be available from the

task in the dashboard and the cheatsheet selection dialog:

Page 20: MOSKitt Extensibility. Mutatis mutandis

Contextual help• GMF editors and FEFEM editors show help depending

on the selected element

• Third party plugins can contribute help contents to this system

FEFEM ed i t o r w it h e lem en t se le c t e dC o n e x t u al h e lp sh o w in g h e lp co n t e n t s fo r t h e

se le c t e d e lem en t

Page 21: MOSKitt Extensibility. Mutatis mutandis

Contextual help• How to contribute contextual help

to MOSKitt:1. Create your context help file:

Page 22: MOSKitt Extensibility. Mutatis mutandis

Contextual help2. Contribute your contextual help via the

'org.eclipse.help.contexts' extension point.

Page 23: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 24: MOSKitt Extensibility. Mutatis mutandis

Model Templates• Initial model contents

Page 25: MOSKitt Extensibility. Mutatis mutandis

Model Templates• Initial model contents

Page 26: MOSKitt Extensibility. Mutatis mutandis

Palette customization• Change groups and tools names in a palette.

• Move tools from one group to another.

• Create and remove groups and tools from a palette.

Fu l l e d i t o r 's p ale t t e

C u st o m ize d e d i t o r 's p ale t t e

Page 27: MOSKitt Extensibility. Mutatis mutandis

Palette customization

1. Define the customization via the 'es.cv.gvcase.mdt.common.editorPalette' extension point

Page 28: MOSKitt Extensibility. Mutatis mutandis

Palette customization• 'Group' element:

adding a new group change an existing group's name removing a group

Page 29: MOSKitt Extensibility. Mutatis mutandis

Palette customization

• 'Tool' element changing a tool's name moving an existing tool between groups removing a tool

Page 30: MOSKitt Extensibility. Mutatis mutandis

Extended properties

• Adding new properties to existing entities

• Editing the properties with property sections

• Keeping compatibility with non-extended versions

Page 31: MOSKitt Extensibility. Mutatis mutandis

Extended properties1. Define your properties via the

'es.cv.gvcase.mdt.common.featureExtender' extension point.

Page 32: MOSKitt Extensibility. Mutatis mutandis

Extended properties2. Define

property type:➢ Integer

➢ Double

➢ Boolean

➢ String

➢ Reference

minimum multiplicity maximum multiplicity

Page 33: MOSKitt Extensibility. Mutatis mutandis

Extended properties3. Define

Extended elements (AdaptTo): Candidate values ('AvailableValue')

Page 34: MOSKitt Extensibility. Mutatis mutandis

Extended properties4. Implement and define property sections using

available infraestructure:

Integer Properties

String Properties

Double Properties

Collection Properties

References Properties

Page 35: MOSKitt Extensibility. Mutatis mutandis

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 decorated ClassA normal Class

Page 36: MOSKitt Extensibility. Mutatis mutandis

Graphical decorators

Page 37: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 38: MOSKitt Extensibility. Mutatis mutandis

Transformation Override

• Define higher priority transformations

Page 39: MOSKitt Extensibility. Mutatis mutandis

Transformation Override

• Define higher priority transformations

Page 40: MOSKitt Extensibility. Mutatis mutandis

Synchronization• Specific actions on traced models changes

Traces between“X.uml” and

“Y.sqlschema”

1.- on changein input

2.- updatetraced models

Page 41: MOSKitt Extensibility. Mutatis mutandis

Synchronization• Specific actions on traced models changes

Page 42: MOSKitt Extensibility. Mutatis mutandis

Contents• Introduction

• Adapting the Method

• Adapting the Editors

• Adapting the Transformations

• Conclusions

Page 43: MOSKitt Extensibility. Mutatis mutandis

h t t p ://w w w .f l ic k r .c o m /p h o t o s/851 691 1 8@ N 00/93296381 /

• Many adaptation chances

• Ready to fit into your

organization

• We want to hear your

feedback

• What do you miss?

Conclusions

Page 44: MOSKitt Extensibility. Mutatis mutandis

M OSKitt ExtensibilityM OSKitt Extensibility““mutatis mutandis”mutatis mutandis”

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

Page 45: MOSKitt Extensibility. Mutatis mutandis

• 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

Creative CommonsAttribution-Noncommercial-Share Alike 3.0

Unported

h t t p ://c r e at iv e c o m m o n s.o r g/l ic e n se s/b y-n c-sa/3.0/