Abstract
Perhaps the most popular approach to animating algorithms consists of identifying interesting events in the implementation code, corresponding to relevant actions in the underlying algorithm, and turning them into graphical events by inserting calls to suitable visualization routines. Another natural approach conceives algorithm animation as a graphical interpretation of the state of the computation of a program, letting graphical objects in a visualization depend on a program’s variables. In this paper we provide the first direct comparison of these two approaches, identifying scenarios where one might be preferable to the other. The discussion is based on examples realized with the systems Polka and Leonardo.
Work supported in part by the project “Algorithms for Large Data Sets: Science and Engineering” of the Italian Ministry of University and of Scientific and Technological Research (ex MURST 40%) and by the IST Programme of the EU under contract n. IST-1999-14.186 (ALCOM-FT).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R.K. Ahuja, T.L. Magnanti, and J.B. Orlin. Network Flows: Theory, Algorithms and Applications. Prentice Hall, Englewood Cliffs, NJ, 1993.
J. Bentley and B. Kernighan. A System for Algorithm Animation: Tutorial and User Manual. Computing Systems, 4(1):5–30, 1991.
M.H. Brown. Algorithm Animation. MIT Press, Cambridge, MA, 1988.
M.H. Brown. Perspectives on Algorithm Animation. In Proceedings of the ACM SIGCHI’88 Conference on Human Factors in Computing Systems, pages 33–38, 1988.
M.H. Brown. Zeus: a System for Algorithm Animation and Multi-View Editing. In Proceedings of the 7-th IEEE Workshop on Visual Languages, pages 4–9, 1991.
M.H. Brown and M. Najork. Collaborative Active Textbooks: a Web-Based Algorithm Animation System for an Electronic Classroom. In Proceedings of the 12th IEEE International Symposium on Visual Languages (VL’96), pages 266–275, 1996.
P. Carlson, M. Burnett, and J. Cadiz. Integration of Algorithm Animation into a Visual Programming Language. In Proc. Int. Workshop on Advanced Visual Interfaces, 1996.
G. Cattaneo, U. Ferraro, G.F. Italiano, and V. Scarano. Cooperative Algorithm and Data Types Animation over the Net. In Proc. XV IFIP World Computer Congress, Invited Lecture, pages 63–80, 1998. To appear in Journal of Visual Languages and Computing. System home page: http://isis.dia.unisa.it/catai/.
P. Crescenzi, C. Demetrescu, I. Finocchi, and R. Petreschi. Reversible Execution and Visualization of Programs with LEONARDO. Journal of Visual Languages and Computing, 11(2):125–150, 2000. Leonardo is available at the URL: http://www.dis.uniroma1.it/~demetres/Leonardo/.
C. Demetrescu, I. Finocchi, and G. Liotta. Visualizing Algorithms over the Web with the Publication-driven Approach. In Proc. of the 4-th Workshop on Algorithm Engineering (WAE’00), LNCS 1982, pages 147–158, 2000.
K. Mehlhorn and S. Naher. LEDA: A Platform of Combinatorial and Geometric Computing. Cambrige University Press, ISBN 0-521-56329-1, 1999.
B.A. Myers. Taxonomies of Visual Programming and Program Visualization. Journal of Visual Languages and Computing, 1:97–123, 1990.
B.A. Price, R.M. Baecker, and I.S. Small. A Principled Taxonomy of Software Visualization. Journal of Visual Languages and Computing, 4(3):211–266, 1993.
G.C. Roman and K.C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22:25–36, 1989.
G.C. Roman and K.C. Cox. A Taxonomy of Program Visualization Systems. Computer, 26:11–24, 1993.
G.C. Roman, K.C. Cox, C.D. Wilcox, and J.Y Plun. PAVANE: a System for Declarative Visualization of Concurrent Computations. Journal of Visual Languages and Computing, 3:161–193, 1992.
A. Schliep and W. Hochstättler. Developing Gato and CATBox with Python: Teaching Graph Algorithms through Visualization and Experimentation. In Proceedings of Multimedia Tools for Communicating Mathematics (MTCM’00), 2000.
J.T. Stasko. TANGO: A Framework and System for Algorithm Animation. Computer, 23:27–39, 1990.
J.T. Stasko. Animating Algorithms with X-TANGO. SIGACT News, 23(2):67–71, 1992.
J.T. Stasko. A Methodology for Building Application-Specific Visualizations of Parallel Programs. Journal of Parallel and Distributed Computing, 18:258–264, 1993.
J.T. Stasko, J. Domingue, M.H. Brown, and B.A. Price. Software Visualization: Programming as a Multimedia Experience. MIT Press, Cambridge, MA, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Demetrescu, C., Finocchi, I., Stasko, J.T. (2002). Specifying Algorithm Visualizations: Interesting Events or State Mapping?. In: Diehl, S. (eds) Software Visualization. Lecture Notes in Computer Science, vol 2269. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45875-1_2
Download citation
DOI: https://doi.org/10.1007/3-540-45875-1_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43323-1
Online ISBN: 978-3-540-45875-3
eBook Packages: Springer Book Archive