Abstract
Statecharts [9] are widely used for the requirements specification of reactive systems. In this paper, we present a framework for the automatic generation of layouts of statechart diagrams. 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 have implemented our framework and obtained drawings for several statechart examples. The preliminary drawings are very encouraging.
Research supported in part by Sandia National Labs and by the Texas Advanced Research Program under grant number 009741-040.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis. Algorithms for drawing graphs: an annotated bibliography. Comput. Geom. Theory Appl., (4):235–282, 1994.
G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis. Graph Drawing: Algorithms for the Visualization of Graphs. Prentice Hall, 1999.
G. Booch, I. Jacobson, and J. Rumbaugh. The Unified Modeling Language User Guide. Addison-Wesley, 1998.
R. Castelló, R. Mili, and I. G. Tollis. Automatic layout of statecharts. Technical Report UTD-04-00, University of Texas at Dallas, 2000.
P. Eades and Q. Feng. Drawing clustered graphs on an orthogonal grid. In G. Di Battista, editor, Graph Drawing (Proceedings GD’97), pages 146–157. Springer-Verlag, 1997. Lecture Notes in Computer Science 1353.
P. Eades, Q. Feng, and X. Lin. Straight-line drawing algorithms for hierarchical graphs and clustered graphs. In S. North, editor, Graph Drawing (Proceedings GD’96), pages 113–128. Springer-Verlag, 1997. Lecture Notes in Computer Science 1190.
E.R.G., E. Koutsofios, S.C. North, and K. Vo. A technique for drawing directed graphs. IEEE Transactions on Software Engineering, 19(32):214–230, March 1993.
E. R. Gansner, S. C. North, and K. P. Vo. Dag-a program that draws directed graphs. Software Practice and Experience, 18(11):1047–1062, November 1988.
D. Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3):231–274, June 1987.
D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot. Statemate: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering, 16(4):403–414, May 1990.
D. Harel and G. Yashchin. An algorithm for blob hierarchy layout. In Proceedings of International Conference on Advanced Visual Interfaces, AVI’2000, Palermo, Italy, May 1990.
E. Imhof. Positioning names on maps. The American Cartographer, 2(2):128–144, 1975.
K. G. Kakoulis and I. G. Tollis. An algorithm for labeling edges of hierarchical drawings. In G. Di Battista, editor, Graph Drawing (Proceedings GD’97), pages 169–180. Springer-Verlag, 1997. Lecture Notes in Computer Science 1353.
K. G. Kakoulis and I. G. Tollis. On the edge label placement problem. In S. North, editor, Graph Drawing (Proceedings GD’96), pages 241–256. Springer-Verlag, 1997. Lecture Notes in Computer Science 1190.
E. S. Kuh and T. Ohtsuki. Recent advances in VLSI layout. Proceedings of the IEEE, 78(2):237–263, 1990.
T. Lengauer. Combinatorial Algorithms for Integrated Circuit Layout. John Wiley & Sons, 1990.
E. B. Messinger, L. A. Rowe, and R. R. Henry. A divide-an-conquer algorithm for the automatic layout of large graphs. IEEE Transactions on Systems, Man, and Cybernetics, 21(1):1–11, February 1991.
R. O’Donnel, B. Waldt, and J. Bergstrand. Automatic code for embedded systems based on formal methods. Available from Telelogic over the Internet. http://www.Telelogic.se/solution/techpap.asp. Accessed on April 1999.
J. Peterson. Overcoming the crisis in real-time software development. Available from Objectime over the Internet. http://www.Objectime.on.ca/otl/technical/crisis.pdf. Accessed on April 1999.
H. Purchase. Which aesthetic has the greatest effect on human understanding. In G. Di Battista, editor, Graph Drawing (Proceedings GD’97), pages 248–261. Springer-Verlag, 1997. Lecture Notes in Computer Science 1353.
L. A. Rowe, M. Davis, E. Messinger, and C. Meyer. A bowser for directed graphs. Software Practice and Experience, 17(1):61–76, January 1987.
J. Seeman. Extending the sugiyama algorithm for drawing UML class diagrams: Towards automatic layout of object-oriented software diagrams. In G. Di Battista, editor, Graph Drawing (Proceedings GD’97), pages 415–424. Springer-Verlag, 1997. Lecture Notes in Computer Science 1353.
L. Stockmeyer. Optimal orientations of cells in slicing floorplan designs. Information and Control, (57):91–101, 1983.
K. Sugiyama, S. Tagawa, and M. Toda. Methods for visual understanding of hierarchical system structures. IEEE Transactions on Systems, Man, and Cybernetics, 11(2):109–125, February 1981.
S. Wimer, I. Koren, and I. Cederbaum. Floorplans, planar graphs and layout. IEEE Transactions on Circuits and Systems, pages 267–278, 1988.
P. Yoeli. The logic of automated map lettering. The Cartographic Journal, 9(2):99–108, 1972.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Castelló, R., Mili, R., Tollis, I.G. (2001). An Algorithmic Framework for Visualizing Statecharts. In: Marks, J. (eds) Graph Drawing. GD 2000. Lecture Notes in Computer Science, vol 1984. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44541-2_13
Download citation
DOI: https://doi.org/10.1007/3-540-44541-2_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41554-1
Online ISBN: 978-3-540-44541-8
eBook Packages: Springer Book Archive