Upload
others
View
6
Download
0
Embed Size (px)
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