Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using...

33
Eclipse Layout Kernel ELK Christoph Daniel Schulze Kiel University Jaafar Bouayad Atos Introducing the

Transcript of Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using...

Page 1: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

Eclipse Layout Kernel ELK

Christoph Daniel Schulze Kiel University

Jaafar Bouayad Atos

Introducing the

Page 2: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

Introduction

Page 3: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

3

Introduction

Page 4: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

4

Introduction

Page 5: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

5

…developing

…moving things around

Source: Klauske, Dziobek (2010)

70% 30%

Time developers spend…

Page 6: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

6

…selecting things

…moving things around

40% 60%

Time developers spend…

Page 7: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

7

Introduction

Why not let

Your Computer move things instead ?

Easy Hard

Layout Whistling

Page 8: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

8

Anatomy of ELK

Editor Algorithms

KGraph

Core

Page 9: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

Mini Tutorial

9

Page 10: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

10

Using ELK

Page 11: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

11

1 - Install

GMF Support Graphviz Support

Core

OGDF Support Graphiti Support

Page 12: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

12

Using ELK

Page 13: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

13

2 - Connect

Page 14: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

14

2 - Connect

Core IDiagramLayoutManager

buildLayoutGraph(…)

applyLayout(…)

Page 15: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

15

2 - Connect

KNode

KEdge

KPort KLabel

KShapeLayout

KEdgeLayout

Page 16: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

16

Using ELK

Page 17: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

17

3 - Configure

String

T

T

id

value

default

KShapeLayout

KEdgeLayout

KLayoutData

IProperty<T>

Page 18: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

18

Using ELK

Page 19: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

Case Studies

19

Page 20: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

20

ELK as a user in Capella

Page 21: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

21

Graphical representation of a semantic property

in flowports

on the left

out flowports

on the right

Page 22: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

22

Programmatic Configuration

Page 23: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

23

Internal Block Diagram layout in Papyrus

Page 24: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

24

Change the direction

Page 25: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

25

Internal Block Diagram layout in Papyrus (down direction)

Page 26: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

26

Complex diagram layout

edges of

initial and final states

directed to the right

other edges

directed downward

Page 27: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

27

Multiple layout runs

Page 28: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

28

State Machine Diagram layout in Papyrus

Page 29: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

29

State Machine Diagram layout in Papyrus (slow motion)

Page 30: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

Conclusion

30

Page 31: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

31

What’s next ?

Page 32: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support
Page 33: Eclipse Layout Kernel · Anatomy of ELK Editor Algorithms KGraph Core . Mini Tutorial 9 . 10 Using ELK . 11 1 - Install GMF Support Graphviz Support Core Graphiti Support OGDF Support

33