![Page 1: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/1.jpg)
© itemis AG
© itemis AG
Karsten Thoms, itemis
Spraying - a quick way to create GraphitisEclipseCon 2012
Dienstag, 27. März 2012
![Page 2: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/2.jpg)
http://code.google.com/a/eclipselabs.org/p/spray/downloads/detail?name=SprayCodeGeneration2012.pdf
Dienstag, 27. März 2012
![Page 3: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/3.jpg)
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
![Page 4: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/4.jpg)
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
![Page 5: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/5.jpg)
Spray a Graphiti!
Dienstag, 27. März 2012
![Page 6: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/6.jpg)
© itemis AG
Vision
Develop Visual DSL Editors
as easy as Textual DSLsDienstag, 27. März 2012
![Page 7: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/7.jpg)
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
![Page 8: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/8.jpg)
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
![Page 9: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/9.jpg)
Tycho
EEFSWTBot
Zest
GEF
Dienstag, 27. März 2012
![Page 10: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/10.jpg)
Spray Code Generator
Dienstag, 27. März 2012
![Page 11: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/11.jpg)
Spray DSL
Dienstag, 27. März 2012
![Page 12: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/12.jpg)
Spray DSL
12
Dienstag, 27. März 2012
![Page 13: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/13.jpg)
Spray DSL
13
Dienstag, 27. März 2012
![Page 14: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/14.jpg)
Spray DSL
14
Dienstag, 27. März 2012
![Page 15: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/15.jpg)
Spray DSL
15
Dienstag, 27. März 2012
![Page 16: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/16.jpg)
Shapes
Dienstag, 27. März 2012
![Page 17: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/17.jpg)
Defining Shapes
17
The Shape
Dienstag, 27. März 2012
![Page 18: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/18.jpg)
Defining Shapes - with Graphiti
18
Dienstag, 27. März 2012
![Page 19: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/19.jpg)
Defining Shapes - with Spray
19
Dienstag, 27. März 2012
![Page 20: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/20.jpg)
Connections defined in Shape DSL
20
(c) University of Konstanz
Dienstag, 27. März 2012
![Page 21: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/21.jpg)
Anchors
21
(c) University of Konstanz
Dienstag, 27. März 2012
![Page 22: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/22.jpg)
Shapes created with Shape DSL
22
(c) University of Konstanz
Dienstag, 27. März 2012
![Page 23: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/23.jpg)
Styles
Dienstag, 27. März 2012
![Page 24: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/24.jpg)
© 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
![Page 25: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/25.jpg)
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
![Page 26: Spraying - a quick way to create Graphitis EclipseCon 2012 · • Prof. Dr. Marko Boger (Founder, University of Konstanz, Founder of Gentleware) • Fabio Filipelli & Markus Gerhart](https://reader033.vdocument.in/reader033/viewer/2022050305/5f6dec1134974779830cd6f1/html5/thumbnails/26.jpg)
© itemis AG
itemis AG | Am Brambusch 15-24 | D-44536 Lünen | www.itemis.de
Karsten Thoms
Software Architekt
http://kthoms.wordpress.com
Twitter/Skype: kthoms
Dienstag, 27. März 2012