59
Stress-Minimizing Orthogonal Layout of Data Flow Diagrams with Ports Ulf Rüegg Kiel University Steve Kieffer Tim Dwyer Kim Marriott Michael Wybrow Monash University Graph Drawing 2014

Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Stress-Minimizing Orthogonal Layout of Data Flow Diagrams with Ports

Ulf Rüegg

Kiel University

Steve Kieffer Tim Dwyer Kim Marriott Michael Wybrow

Monash University

Graph Drawing 2014

Page 2: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

Page 3: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

ATOMIC NODES

Page 4: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

ATOMIC NODES

ORTHOGONAL EDGES

Page 5: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

PORTS

ATOMIC NODES

ORTHOGONAL EDGES

Page 6: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

PORTS

ATOMIC NODES

COMPOUND NODES

ORTHOGONAL EDGES

Page 7: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Background: Automotive Industry

2

PORTS

ATOMIC NODES

COMPOUND NODES

ORTHOGONAL EDGES

HIERARCHICAL PORTS

Page 8: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

Page 9: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

Page 10: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

R2

Page 11: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

R3

R2

Page 12: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

R3

R2

R4

Page 13: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

R3

R2

R4

R5

Page 14: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Layout Requirements

3

R1

R3

R2

R6

R4

R5

Page 15: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

4

Page 16: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

• Feedback from industrial users

4

Page 17: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

• Feedback from industrial users

– In general satisfying layouts

4

Page 18: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

• Feedback from industrial users

– In general satisfying layouts

– "Too much whitespace"

4

Page 19: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

• Feedback from industrial users

– In general satisfying layouts

– "Too much whitespace"

– "Edge crossings not always important"

4

Page 20: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Current Layout Approach

• Use layer-based methods [Sugiyama et al. 81]

– A lot of modifications (ports etc.) [Schulze et al. 14]

• Feedback from industrial users

– In general satisfying layouts

– "Too much whitespace"

– "Edge crossings not always important"

Desired: simple/flexible solution

4

Page 21: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

New Approach

• Constrained stress minimizing layout

5

Page 22: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

5

cola.js

Page 23: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

– Minimizes a single goal function

5

cola.js

Page 24: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

– Minimizes a single goal function

– Subject to separation constraints

5

cola.js

Page 25: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Goal Function: P-Stress

subject to certain constraints

Minimize

𝑤𝑢𝑣 𝑙𝑝𝑢𝑣 − 𝑏(𝑢, 𝑣)+ 2+ 𝑙−2 𝑏 𝑢, 𝑣 − 𝑙 +

2

(𝑢,𝑣)∈𝐸𝑢<𝑣∈𝑉

6

[Dwyer et al. GD'09]

Page 26: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Goal Function: P-Stress

subject to certain constraints

Minimize

𝑏 𝑢, 𝑣 euclidean distance between u and v

𝑝𝑢𝑣 number of edges on shortest path

between u and v

𝑙 an ideal edge length

𝑤𝑢𝑣 normalizat ion factor

(𝑧)+ max(0,𝑧)

𝑤𝑢𝑣 𝑙𝑝𝑢𝑣 − 𝑏(𝑢, 𝑣)+ 2+ 𝑙−2 𝑏 𝑢, 𝑣 − 𝑙 +

2

(𝑢,𝑣)∈𝐸𝑢<𝑣∈𝑉

repulsive attractive

6

INTUITION

• Nodes repulse each other up to a

certain distance

• Edges contract until (individual)

ideal length is reached

[Dwyer et al. GD'09]

Page 27: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R1 - Flow Constraints

7

Page 28: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R1 - Flow Constraints

𝑥𝑠 + δ𝑥𝑠𝑡 ≤ 𝑥𝑡

7

Page 29: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R2 - Port Constraints

FIXED POSITION

8

Port

Dummy

Page 30: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

8

Port

Dummy

Page 31: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

FIXED SIDE

8

Port

Dummy

Page 32: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

FIXED SIDE

𝑥𝑝 + δ𝑥 = 𝑥𝑛

8

Port

Dummy

Page 33: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

𝑦𝑝 +ℎ𝑛2≥ 𝑦𝑛

𝑦𝑝 −ℎ𝑛2≤ 𝑦𝑛

FIXED SIDE

𝑥𝑝 + δ𝑥 = 𝑥𝑛

8

Port

Dummy

Page 34: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R3 - Orthogonalizing Constraints

fixed

9

[Kieffer et al. GD'13]

Page 35: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

9

[Kieffer et al. GD'13]

Page 36: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

9

[Kieffer et al. GD'13]

Page 37: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

𝑦𝑏 = 𝑦𝑐′

9

[Kieffer et al. GD'13]

Page 38: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Example

10

Page 39: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Example

10

Page 40: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Example

10

Page 41: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Example

10

[Wybrow et al. GD'10]

Page 42: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

11

Compared to current approach (KLay Layered)

Page 43: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

11

Compared to current approach (KLay Layered)

BETTER

Page 44: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

11

Compared to current approach (KLay Layered)

BETTER

Page 45: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

11

Compared to current approach (KLay Layered)

BETTER

Page 46: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

11

Compared to current approach (KLay Layered)

BETTER

Page 47: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

11

Compared to current approach (KLay Layered)

BETTER

Page 48: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

Implementation complexity

11

Compared to current approach (KLay Layered)

BETTER

Page 49: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

Implementation complexity

Edge crossings

11

Compared to current approach (KLay Layered)

BETTER WORSE

Page 50: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

Implementation complexity

Edge crossings

Edge bends

11

Compared to current approach (KLay Layered)

BETTER WORSE

Page 51: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

Implementation complexity

Edge crossings

Edge bends

Execution time

11

Compared to current approach (KLay Layered)

BETTER WORSE

Page 52: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R4/R5 - Compound Graphs

12

KLay Layered

Page 53: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

R4/R5 - Compound Graphs

12

CoDaFlow

Page 54: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Summary - CoDaFlow

• One goal function: minimize stress

13

Page 55: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Summary - CoDaFlow

• One goal function: minimize stress

• Incrementally add constraints

1. No constraints

2. + Flow constraints

3. + Port costraints

4. + Non-overlap constraints

5. + Orthogonalizing constraints

13

Page 56: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Summary - CoDaFlow

• One goal function: minimize stress

• Incrementally add constraints

1. No constraints

2. + Flow constraints

3. + Port costraints

4. + Non-overlap constraints

5. + Orthogonalizing constraints

• Orthogonal edge routing with given

node positions

13

Page 57: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Closer to Industrial Scale

14

Page 58: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Closer to Industrial Scale

14

Thank you! Questions?

Page 59: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

References

• Schulze, C. D., Spönemann, M., & von Hanxleden, R. (2014). Drawing

layered graphs with port constraints. Journal of Visual Languages &

Computing.

• Dwyer, T., Koren, Y., & Marriott, K. (2006). IPSep-CoLa: An incremental procedure for separation constraint layout of graphs. IEEE

Transactions on Visualization and Computer Graphics

• Dwyer, T., Marriott, K., & Wybrow, M. (2009). Topology preserving

constrained graph layout. Graph Drawing.

• Kieffer, S., Dwyer, T., Marriott, K., & Wybrow, M. (2013). Incremental

grid-like layout using soft and hard constraints. Graph Drawing.

• Wybrow, M., Marriott, K., & Stuckey, P. (2010). Orthogonal connector routing. Graph Drawing.

15