spraying - a quick way to create graphitis eclipsecon 2012 · • prof. dr. marko boger (founder,...

Post on 24-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© itemis AG

© itemis AG

Karsten Thoms, itemis

Spraying - a quick way to create GraphitisEclipseCon 2012

Dienstag, 27. März 2012

http://code.google.com/a/eclipselabs.org/p/spray/downloads/detail?name=SprayCodeGeneration2012.pdf

Dienstag, 27. März 2012

Graphiti

3

• Framework approach

• Easy to understand (relatively...)• Hides complexity of GEF, Draw2D, ...• Only few core concepts• Everything is a Feature• Providers

Dienstag, 27. März 2012

Graphiti

4

• Much code, often repetitive implementation

• Per mapped meta class• at least AddFeature, CreateFeature, UpdateFeature

• Remove, Delete, Move, Layout, DrillDown, ...

• Registration in FeatureProvider

• Configure palette in ToolBehaviourProvider

• Repeat this e.g. for 10 meta classes...

Dienstag, 27. März 2012

Spray a Graphiti!

Dienstag, 27. März 2012

© itemis AG

Vision

Develop Visual DSL Editors

as easy as Textual DSLsDienstag, 27. März 2012

A brief history of time

7

• Project specific solution for Visual Insurance Product Modeling• CodeGeneration Conference

Cambridge, July 2011• Similar approaches presented• Joined forces in BoF session

• Founded project at EclipseLabs• Sep’11: initial code basis committed (Spray 0.1.0)• Improved code basis, DSLs, tooling, added DSLs, ...• Version 0.4.0 released March 2012

Dienstag, 27. März 2012

The project team

8

• Jos Warmer (Founder, Warmer IT)

• Karsten Thoms (Founder, itemis) • Prof. Dr. Marko Boger (Founder, University of

Konstanz, Founder of Gentleware)• Fabio Filipelli & Markus Gerhart (Shapes & Style DSL,

University of Konstanz)

• Jörg Reichert (itemis)

Dienstag, 27. März 2012

Tycho

EEFSWTBot

Zest

GEF

Dienstag, 27. März 2012

Spray Code Generator

Dienstag, 27. März 2012

Spray DSL

Dienstag, 27. März 2012

Spray DSL

12

Dienstag, 27. März 2012

Spray DSL

13

Dienstag, 27. März 2012

Spray DSL

14

Dienstag, 27. März 2012

Spray DSL

15

Dienstag, 27. März 2012

Shapes

Dienstag, 27. März 2012

Defining Shapes

17

The Shape

Dienstag, 27. März 2012

Defining Shapes - with Graphiti

18

Dienstag, 27. März 2012

Defining Shapes - with Spray

19

Dienstag, 27. März 2012

Connections defined in Shape DSL

20

(c) University of Konstanz

Dienstag, 27. März 2012

Anchors

21

(c) University of Konstanz

Dienstag, 27. März 2012

Shapes created with Shape DSL

22

(c) University of Konstanz

Dienstag, 27. März 2012

Styles

Dienstag, 27. März 2012

© itemis AG

Styles

24

• Styles can be reused

• Styles can be inherited• Style attributes can be

overridden• Nested Shapes inherit

style from container Shape

(c) University of Konstanz

Dienstag, 27. März 2012

Future PlansComplex Diagrams: BPMN, UML, PetriNet

Evolve DSLs

Leverage power of the used tools

Use Spray as reference forXtext, Xtend, Graphiti, Tychousage

Dienstag, 27. März 2012

© itemis AG

itemis AG | Am Brambusch 15-24 | D-44536 Lünen | www.itemis.de

Karsten Thoms

Software Architekt

karsten.thoms@itemis.de

http://kthoms.wordpress.com

Twitter/Skype: kthoms

Dienstag, 27. März 2012

top related