Automatic Layout of UML Class Diagrams in Orthogonal Style

Unified modelling language (UML) diagrams have become increasingly important in engineering and re-engineering processes for software systems. Of particular interest are UML class diagrams whose purpose is to display generalizations, associations, aggregations, and compositions in one picture. The combination of directed and undirected relations poses a special challenge to a graph layout tool. Current approaches for the automatic layout of class diagrams are based on the layered graph drawing paradigm. These algorithms produce good results for class diagrams with large and deep structural information, that is, diagrams with a large and deep inheritance hierarchy. However, they do not perform satisfactorily in absence of this information. We suggest to use the topology-shape—metrics paradigm for automatic layout of class diagrams, which has been used very successfully for drawing undirected graphs in orthogonal style. Moreover, we introduce the algorithms UML-Kandinsky and GoVisual fitting into this paradigm. Both algorithms work for class diagrams with rich structural information as well as for class diagrams with few or no structural information. Therefore, they improve the existing algorithms significantly.

[1]  Petra Mutzel,et al.  Optimal Labelling of Point Features in the Slider Model , 2000, COCOON.

[2]  David A. Carrington,et al.  User Preference of Graph Layout Aesthetics: A UML Study , 2000, GD.

[3]  Petra Mutzel,et al.  Computing Optimal Embeddings for Planar Graphs , 2000, COCOON.

[4]  Carlo Mannino,et al.  Optimal Upward Planarity Testing of Single-Source Digraphs , 1993, ESA.

[5]  Petra Mutzel,et al.  Combining Graph Labeling and Compaction , 1999, GD.

[6]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[7]  Holger Eichelberger,et al.  Aesthetics of class diagrams , 2002, Proceedings First International Workshop on Visualizing Software for Understanding and Analysis.

[8]  Petra Mutzel,et al.  An Experimental Study of Crossing Minimization Heuristics , 2003, Graph Drawing.

[9]  Michael Jünger,et al.  A note on computing a maximal planar subgraph using PQ-trees , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Jochen Seemann,et al.  Extending the Sugiyama Algorithm for Drawing UML Class Diagrams: Towards Automatic Layout of Object-Oriented Software Diagrams , 1997, GD.

[11]  Michael Jünger,et al.  Journal of Graph Algorithms and Applications 2-layer Straightline Crossing Minimization: Performance of Exact and Heuristic Algorithms , 2022 .

[12]  Carlo Batini,et al.  Automatic graph drawing and readability of diagrams , 1988, IEEE Trans. Syst. Man Cybern..

[13]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[14]  Maurizio Patrignani,et al.  On the complexity of orthogonal compaction , 1999, Comput. Geom..

[15]  Alexander Wolff,et al.  A Combinatorial Framework for Map Labeling , 1998, Graph Drawing.

[16]  Michael Kaufmann,et al.  Orthogonal graph drawing with constraints , 2000, SODA '00.

[17]  Helen C. Purchase,et al.  Which Aesthetic has the Greatest Effect on Human Understanding? , 1997, GD.

[18]  Michael Jünger,et al.  A new approach for visualizing UML class diagrams , 2003, SoftVis '03.

[19]  Roberto Tamassia,et al.  On Embedding a Graph in the Grid with the Minimum Number of Bends , 1987, SIAM J. Comput..

[20]  Michael Jünger,et al.  Maximum planar subgraphs and nice embeddings: Practical layout tools , 1996, Algorithmica.

[21]  Karsten Klein,et al.  An Experimental Comparison of Orthogonal Compaction Algorithms (Extended Abstract) , 2000, GD.

[22]  Petra Mutzel,et al.  Quasi-orthogonal drawing of planar graphs , 1998 .

[23]  Kellogg S. Booth,et al.  Testing for the Consecutive Ones Property, Interval Graphs, and Graph Planarity Using PQ-Tree Algorithms , 1976, J. Comput. Syst. Sci..

[24]  Robert E. Tarjan,et al.  An O(m log n)-Time Algorithm for the Maximal Planar Subgraph Problem , 1992, SIAM J. Comput..

[25]  Michael Kaufmann,et al.  Drawing High Degree Graphs with Low Bend Numbers , 1995, GD.

[26]  Walter Didimo,et al.  Computing Labeled Orthogonal Drawings , 2002, Graph Drawing.

[27]  Walter Didimo,et al.  Computing Orthogonal Drawings with the Minimum Number of Bends , 1997, IEEE Trans. Computers.

[28]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[29]  Michael Kaufmann,et al.  yFiles - Visualization and Automatic Layout of Graphs , 2001, Graph Drawing Software.

[30]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[31]  Walter Didimo,et al.  Labeling Heuristics for Orthogonal Drawings , 2001, Graph Drawing.

[32]  Michael Kaufmann,et al.  A topology-shape-metrics approach for the automatic layout of UML class diagrams , 2003, SoftVis '03.

[33]  Michael Kaufmann,et al.  Fast Compaction for Orthogonal Drawings with Vertices of Prescribed Size , 2001, GD.

[34]  Karlis Freivalds,et al.  Disconnected Graph Layout and the Polyomino Packing Approach , 2001, GD.

[35]  Michael Jünger,et al.  Advances in C-Planarity Testing of Clustered Graphs , 2002, Graph Drawing.

[36]  Robert E. Tarjan,et al.  Efficient Planarity Testing , 1974, JACM.

[37]  Iseult White,et al.  Booch method of object-oriented analysis and design , 1994 .

[38]  Robert F. Cohen,et al.  Planarity for Clustered Graphs , 1995, ESA.

[39]  Norishige Chiba,et al.  A Linear Algorithm for Embedding Planar Graphs Using PQ-Trees , 1985, J. Comput. Syst. Sci..

[40]  Walter Didimo,et al.  Orthogonal and Quasi-upward Drawings with Vertices of Prescribed Size , 1999, GD.

[41]  Walter Didimo,et al.  Planarization of Clustered Graphs , 2001, Graph Drawing.

[42]  Robert F. Cohen,et al.  An experimental study of the basis for graph drawing algorithms , 1997, JEAL.

[43]  Kurt Mehlhorn,et al.  On the embedding phase of the Hopcroft and Tarjan planarity testing algorithm , 2005, Algorithmica.

[44]  Ulrik Brandes,et al.  Sketch-Driven Orthogonal Graph Drawing , 2002, GD.

[45]  Roberto Tamassia,et al.  On the Compuational Complexity of Upward and Rectilinear Planarity Testing , 1994, Graph Drawing.

[46]  Frank Harary,et al.  Graph Theory , 2016 .

[47]  Thomas Lengauer,et al.  Combinatorial algorithms for integrated circuit layout , 1990, Applicable theory in computer science.

[48]  Walter Didimo,et al.  Quasi-Upward Planarity , 1998, Algorithmica.