A Framework for the Static and Interactive Visualization of Statecharts

We present a framework for the automatic generation of layouts of statechart diagrams. Statecharts [16] are widely used for the requirements specication of reactive systems. Our framework is based on several techniques that include hierarchical drawing, labeling, and floorplanning, designed to work in a cooperative environment. Therefore, the resulting drawings enjoy several important properties: they emphasize the natural hierarchical decomposition of states into substates; they have a low number of edge crossings; they have good aspect ratio; and require a small area. We also present techniques for interactive operations. We have implemented our framework and obtained drawings for several statechart examples.

[1]  David Harel,et al.  An algorithm for blob hierarchy layout , 2000, AVI '00.

[2]  Ioannis G. Tollis,et al.  Interactive Orthogonal Graph Drawing , 1998, IEEE Trans. Computers.

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

[4]  Ioannis G. Tollis,et al.  An Algorithm for Labeling Edges of Hierarchical Drawings , 1997, GD.

[5]  Ioannis G. Tollis,et al.  The Three-Phase Method: A Unified Approach to Orthogonal Graph Drawing , 1997, Int. J. Comput. Geom. Appl..

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

[7]  Peter Eades,et al.  Drawing Clustered Graphs on an Orthogonal Grid , 1997, J. Graph Algorithms Appl..

[8]  Michael Kaufmann,et al.  Area-Efficient Static and Incremental Graph Drawings , 1997, ESA.

[9]  Madhav V. Marathe,et al.  Map labeling and its generalizations , 1997, SODA '97.

[10]  Hiroshi Nagamochi,et al.  Straight-Line Drawing Algorithms for Hierarchical Graphs and Clustered Graphs , 1996, Algorithmica.

[11]  Ioannis G. Tollis,et al.  On the Edge Label Placement Problem , 1996, GD.

[12]  Joe Marks,et al.  An Interactive System for Drawing Graphs , 1996, GD.

[13]  Stephen C. North,et al.  Incremental Layout in DynaDAG , 1995, GD.

[14]  Alexander Wolff,et al.  Map labeling heuristics: provably good and practically useful , 1995, SCG '95.

[15]  Joe Marks,et al.  An empirical study of algorithms for point-feature label placement , 1995, TOGS.

[16]  Kozo Sugiyama,et al.  Layout Adjustment and the Mental Map , 1995, J. Vis. Lang. Comput..

[17]  Tao Lin,et al.  Two Tree Drawing Conventions , 1993, Int. J. Comput. Geom. Appl..

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

[19]  Frank Wagner,et al.  A packing problem with applications to lettering of maps , 1991, SCG '91.

[20]  T. Ohtsuki,et al.  Recent advances in VLSI layout , 1990, Proc. IEEE.

[21]  K. P. Vo,et al.  DAG—a program that draws directed graphs , 1988, Softw. Pract. Exp..

[22]  Ioannis G. Tollis,et al.  Algorithms for Drawing Graphs: an Annotated Bibliography , 1988, Comput. Geom..

[23]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[24]  Israel Koren,et al.  Floorplans, planar graphs and layouts , 1988 .

[25]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[26]  Lawrence A. Rowe,et al.  A browser for directed graphs , 1987, Softw. Pract. Exp..

[27]  Larry J. Stockmeyer,et al.  Optimal Orientations of Cells in Slicing Floorplan Designs , 1984, Inf. Control..

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

[29]  Pinhas Yoeli,et al.  The Logic of Automated Map Lettering , 1972 .

[30]  Rodolfo Castelló,et al.  From informal specification to formalization: an automated visualization approach , 2000 .

[31]  Rory O'Donnell,et al.  Automatic code for embedded systems based on formal methods , 1998 .

[32]  Lawrence A. Rowe,et al.  A divide-and-conquer algorithm for the automatic layout of large directed graphs , 1991, IEEE Trans. Syst. Man Cybern..

[33]  T. Lengauer Combinatorial Algorithms for Integrated Circuit Layout , 1990 .

[34]  E. Imhof Positioning Names on Maps , 1975 .