Stress-Minimizing Orthogonal Layout of Data Flow Diagrams with Ports Ulf Rüegg Steve Kieffer Tim Dwyer Kim Marriott Michael Wybrow Kiel University Monash University Graph Drawing 2014
Background: Automotive Industry 2
Background: Automotive Industry ATOMIC NODES 2
Background: Automotive Industry ORTHOGONAL EDGES ATOMIC NODES 2
Background: Automotive Industry ORTHOGONAL EDGES PORTS ATOMIC NODES 2
Background: Automotive Industry ORTHOGONAL EDGES PORTS COMPOUND NODES ATOMIC NODES 2
Background: Automotive Industry ORTHOGONAL EDGES PORTS HIERARCHICAL PORTS COMPOUND NODES ATOMIC NODES 2
Layout Requirements 3
Layout Requirements R1 3
Layout Requirements R2 R1 3
Layout Requirements R2 R3 R1 3
Layout Requirements R4 R2 R3 R1 3
Layout Requirements R4 R2 R5 R3 R1 3
Layout Requirements R4 R2 R5 R3 R6 R1 3
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 cola.js 5
New Approach • Constrained stress minimizing layout – Similar to force-directed approaches – Minimizes a single goal function cola.js 5
New Approach • Constrained stress minimizing layout – Similar to force-directed approaches – Minimizes a single goal function – Subject to separation constraints cola.js 5
Goal Function: P-Stress Minimize 𝑚𝑞 𝑣𝑤 − 𝑐(𝑣, 𝑤) + 2 + 𝑐 𝑣, 𝑤 − 𝑚 + 2 𝑚 −2 𝑥 𝑣𝑤 𝑣<𝑤∈𝑊 (𝑣,𝑤)∈𝐹 subject to certain constraints [Dwyer et al. GD'09] 6
Goal Function: P-Stress repulsive attractive Minimize 𝑚𝑞 𝑣𝑤 − 𝑐(𝑣, 𝑤) + 2 + 𝑐 𝑣, 𝑤 − 𝑚 + 2 𝑚 −2 𝑥 𝑣𝑤 𝑣<𝑤∈𝑊 (𝑣,𝑤)∈𝐹 subject to certain constraints INTUITION 𝑐 𝑣, 𝑤 euclidean distance between u and v Nodes repulse each other up to a • 𝑞 𝑣𝑤 number of edges on shortest path between u and v certain distance 𝑚 an ideal edge length Edges contract until (individual) • 𝑥 𝑣𝑤 normalization factor ideal length is reached (𝑨) + max(0,𝑨) [Dwyer et al. GD'09] 6
R1 - Flow Constraints 7
R1 - Flow Constraints 𝑦 𝑡 + δ𝑦 𝑡𝑢 ≤ 𝑦 𝑢 7
R2 - Port Constraints FIXED POSITION Port Dummy 8
R2 - Port Constraints FIXED POSITION Port Dummy 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 𝑧 𝑞 − δ𝑧 = 𝑧 𝑜 8
R2 - Port Constraints FIXED POSITION FIXED SIDE Port Dummy 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 𝑧 𝑞 − δ𝑧 = 𝑧 𝑜 8
R2 - Port Constraints FIXED POSITION FIXED SIDE 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 Port Dummy 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 𝑧 𝑞 − δ𝑧 = 𝑧 𝑜 8
R2 - Port Constraints FIXED POSITION FIXED SIDE 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 Port Dummy 𝑦 𝑞 + δ𝑦 = 𝑦 𝑜 𝑧 𝑞 + ℎ 𝑜 2 ≥ 𝑧 𝑜 𝑧 𝑞 − δ𝑧 = 𝑧 𝑜 𝑧 𝑞 − ℎ 𝑜 2 ≤ 𝑧 𝑜 8
R3 - Orthogonalizing Constraints fixed [Kieffer et al. GD'13] 9
R3 - Orthogonalizing Constraints 𝑧 𝑏 = 𝑧 𝑑 [Kieffer et al. GD'13] 9
R3 - Orthogonalizing Constraints 𝑧 𝑏 = 𝑧 𝑑 [Kieffer et al. GD'13] 9
R3 - Orthogonalizing Constraints 𝑧 𝑏 = 𝑧 𝑑 𝑧 𝑐 = 𝑧 𝑑′ [Kieffer et al. GD'13] 9
Example 10
Example 10
Example 10
Example [Wybrow et al. GD'10] 10
Results Compared to current approach (KLay Layered) 11
Results Compared to current approach (KLay Layered) BETTER Stress 11
Results Compared to current approach (KLay Layered) BETTER Stress Average edge length 11
Results Compared to current approach (KLay Layered) BETTER Stress Average edge length Edge length variance 11
Results Compared to current approach (KLay Layered) BETTER Stress Average edge length Edge length variance Area and aspect ratio 11
Results Compared to current approach (KLay Layered) BETTER Stress Average edge length Edge length variance Area and aspect ratio Symmetry 11
Results Compared to current approach (KLay Layered) BETTER Stress Average edge length Edge length variance Area and aspect ratio Symmetry Implementation complexity 11
Results Compared to current approach (KLay Layered) BETTER WORSE Edge crossings Stress Average edge length Edge length variance Area and aspect ratio Symmetry Implementation complexity 11
Results Compared to current approach (KLay Layered) BETTER WORSE Edge crossings Stress Edge bends Average edge length Edge length variance Area and aspect ratio Symmetry Implementation complexity 11
Results Compared to current approach (KLay Layered) BETTER WORSE Edge crossings Stress Edge bends Average edge length Edge length variance Area and aspect ratio Symmetry Implementation complexity Execution time 11
R4/R5 - Compound Graphs KLay Layered 12
R4/R5 - Compound Graphs CoDaFlow 12
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 Thank you! Questions? 14
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
Recommend
More recommend