Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...
Transcript of Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...
![Page 1: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/1.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/2.jpg)
Background: Automotive Industry
2
![Page 3: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/3.jpg)
Background: Automotive Industry
2
ATOMIC NODES
![Page 4: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/4.jpg)
Background: Automotive Industry
2
ATOMIC NODES
ORTHOGONAL EDGES
![Page 5: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/5.jpg)
Background: Automotive Industry
2
PORTS
ATOMIC NODES
ORTHOGONAL EDGES
![Page 6: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/6.jpg)
Background: Automotive Industry
2
PORTS
ATOMIC NODES
COMPOUND NODES
ORTHOGONAL EDGES
![Page 7: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/7.jpg)
Background: Automotive Industry
2
PORTS
ATOMIC NODES
COMPOUND NODES
ORTHOGONAL EDGES
HIERARCHICAL PORTS
![Page 8: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/8.jpg)
Layout Requirements
3
![Page 9: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/9.jpg)
Layout Requirements
3
R1
![Page 10: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/10.jpg)
Layout Requirements
3
R1
R2
![Page 11: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/11.jpg)
Layout Requirements
3
R1
R3
R2
![Page 12: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/12.jpg)
Layout Requirements
3
R1
R3
R2
R4
![Page 13: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/13.jpg)
Layout Requirements
3
R1
R3
R2
R4
R5
![Page 14: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/14.jpg)
Layout Requirements
3
R1
R3
R2
R6
R4
R5
![Page 15: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/15.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/16.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/17.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/18.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/19.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/20.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/21.jpg)
New Approach
β’ Constrained stress minimizing layout
5
![Page 22: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/22.jpg)
New Approach
β’ Constrained stress minimizing layout
β Similar to force-directed approaches
5
cola.js
![Page 23: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/23.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/24.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/25.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/26.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/27.jpg)
R1 - Flow Constraints
7
![Page 28: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/28.jpg)
R1 - Flow Constraints
π₯π + Ξ΄π₯π π‘ β€ π₯π‘
7
![Page 29: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/29.jpg)
R2 - Port Constraints
FIXED POSITION
8
Port
Dummy
![Page 30: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/30.jpg)
R2 - Port Constraints
π₯π + Ξ΄π₯ = π₯π
FIXED POSITION
π¦π β Ξ΄π¦ = π¦π
8
Port
Dummy
![Page 31: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/31.jpg)
R2 - Port Constraints
π₯π + Ξ΄π₯ = π₯π
FIXED POSITION
π¦π β Ξ΄π¦ = π¦π
FIXED SIDE
8
Port
Dummy
![Page 32: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/32.jpg)
R2 - Port Constraints
π₯π + Ξ΄π₯ = π₯π
FIXED POSITION
π¦π β Ξ΄π¦ = π¦π
FIXED SIDE
π₯π + Ξ΄π₯ = π₯π
8
Port
Dummy
![Page 33: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/33.jpg)
R2 - Port Constraints
π₯π + Ξ΄π₯ = π₯π
FIXED POSITION
π¦π β Ξ΄π¦ = π¦π
π¦π +βπ2β₯ π¦π
π¦π ββπ2β€ π¦π
FIXED SIDE
π₯π + Ξ΄π₯ = π₯π
8
Port
Dummy
![Page 34: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/34.jpg)
R3 - Orthogonalizing Constraints
fixed
9
[Kieffer et al. GD'13]
![Page 35: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/35.jpg)
R3 - Orthogonalizing Constraints
π¦π = π¦π
9
[Kieffer et al. GD'13]
![Page 36: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/36.jpg)
R3 - Orthogonalizing Constraints
π¦π = π¦π
9
[Kieffer et al. GD'13]
![Page 37: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/37.jpg)
R3 - Orthogonalizing Constraints
π¦π = π¦π
π¦π = π¦πβ²
9
[Kieffer et al. GD'13]
![Page 38: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/38.jpg)
Example
10
![Page 39: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/39.jpg)
Example
10
![Page 40: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/40.jpg)
Example
10
![Page 41: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/41.jpg)
Example
10
[Wybrow et al. GD'10]
![Page 42: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/42.jpg)
Results
11
Compared to current approach (KLay Layered)
![Page 43: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/43.jpg)
Results
Stress
11
Compared to current approach (KLay Layered)
BETTER
![Page 44: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/44.jpg)
Results
Stress
Average edge length
11
Compared to current approach (KLay Layered)
BETTER
![Page 45: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/45.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/46.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/47.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/48.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/49.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/50.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/51.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/52.jpg)
R4/R5 - Compound Graphs
12
KLay Layered
![Page 53: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/53.jpg)
R4/R5 - Compound Graphs
12
CoDaFlow
![Page 54: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/54.jpg)
Summary - CoDaFlow
β’ One goal function: minimize stress
13
![Page 55: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/55.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/56.jpg)
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 ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/57.jpg)
Closer to Industrial Scale
14
![Page 58: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/58.jpg)
Closer to Industrial Scale
14
Thank you! Questions?
![Page 59: Stress-Minimizing Orthogonal Layout of Data Flow Diagrams ...](https://reader031.fdocuments.net/reader031/viewer/2022012518/61925dbffacdc103dd71b389/html5/thumbnails/59.jpg)
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