Stress-Minimizing Orthogonal Layout of Data Flow Diagrams

Preview:

Citation preview

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

Background: Automotive Industry

2

Background: Automotive Industry

2

ATOMIC NODES

Background: Automotive Industry

2

ATOMIC NODES

ORTHOGONAL EDGES

Background: Automotive Industry

2

PORTS

ATOMIC NODES

ORTHOGONAL EDGES

Background: Automotive Industry

2

PORTS

ATOMIC NODES

COMPOUND NODES

ORTHOGONAL EDGES

Background: Automotive Industry

2

PORTS

ATOMIC NODES

COMPOUND NODES

ORTHOGONAL EDGES

HIERARCHICAL PORTS

Layout Requirements

3

Layout Requirements

3

R1

Layout Requirements

3

R1

R2

Layout Requirements

3

R1

R3

R2

Layout Requirements

3

R1

R3

R2

R4

Layout Requirements

3

R1

R3

R2

R4

R5

Layout Requirements

3

R1

R3

R2

R6

R4

R5

Current Layout Approach

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

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

4

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

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

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

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

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

New Approach

• Constrained stress minimizing layout

5

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

5

cola.js

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

– Minimizes a single goal function

5

cola.js

New Approach

• Constrained stress minimizing layout

– Similar to force-directed approaches

– Minimizes a single goal function

– Subject to separation constraints

5

cola.js

Goal Function: P-Stress

subject to certain constraints

Minimize

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

2

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

6

[Dwyer et al. GD'09]

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]

R1 - Flow Constraints

7

R1 - Flow Constraints

𝑥𝑠 + δ𝑥𝑠𝑡 ≤ 𝑥𝑡

7

R2 - Port Constraints

FIXED POSITION

8

Port

Dummy

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

8

Port

Dummy

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

FIXED SIDE

8

Port

Dummy

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

FIXED SIDE

𝑥𝑝 + δ𝑥 = 𝑥𝑛

8

Port

Dummy

R2 - Port Constraints

𝑥𝑝 + δ𝑥 = 𝑥𝑛

FIXED POSITION

𝑦𝑝 − δ𝑦 = 𝑦𝑛

𝑦𝑝 +ℎ𝑛2≥ 𝑦𝑛

𝑦𝑝 −ℎ𝑛2≤ 𝑦𝑛

FIXED SIDE

𝑥𝑝 + δ𝑥 = 𝑥𝑛

8

Port

Dummy

R3 - Orthogonalizing Constraints

fixed

9

[Kieffer et al. GD'13]

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

9

[Kieffer et al. GD'13]

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

9

[Kieffer et al. GD'13]

R3 - Orthogonalizing Constraints

𝑦𝑎 = 𝑦𝑐

𝑦𝑏 = 𝑦𝑐′

9

[Kieffer et al. GD'13]

Example

10

Example

10

Example

10

Example

10

[Wybrow et al. GD'10]

Results

11

Compared to current approach (KLay Layered)

Results

Stress

11

Compared to current approach (KLay Layered)

BETTER

Results

Stress

Average edge length

11

Compared to current approach (KLay Layered)

BETTER

Results

Stress

Average edge length

Edge length variance

11

Compared to current approach (KLay Layered)

BETTER

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

11

Compared to current approach (KLay Layered)

BETTER

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

11

Compared to current approach (KLay Layered)

BETTER

Results

Stress

Average edge length

Edge length variance

Area and aspect ratio

Symmetry

Implementation complexity

11

Compared to current approach (KLay Layered)

BETTER

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

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

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

R4/R5 - Compound Graphs

12

KLay Layered

R4/R5 - Compound Graphs

12

CoDaFlow

Summary - CoDaFlow

• One goal function: minimize stress

13

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

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

Closer to Industrial Scale

14

Closer to Industrial Scale

14

Thank you! Questions?

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

Recommended