Tech Report CS-89-30

TANGO: A Framework and System for Algorithm Animation

John Thomas Stasko

May 1989


Algorithm animation is the process of abstracting the data, operations, and semantics of computer programs, and then creating animated graphical views of those abstractions. Although a handful of algorithm animation systems have been developed in recent years, relatively little work has been done on the theoretical foundations of such systems. In this work we develop a conceptual framework with formal models and precise semantics for algorithm animation. The framework contains facilities for defining operations in an algorithm, designing animations, and mapping the algorithm operations to their corresponding animations. We introduce the framework to make animation design easier, as well as to provide a model that supports smooth, continuous image movement. We also present the {\em path-transition} paradigm that simplifies the animation design process.

Concurrently, we develop an algorithm animation system called TANGO (Transition-based Animation Generation) based upon the framework. TANGO supports two-dimensional color animations in a window-based workstation environment. It provides programmers with the capabilities to produce sophisticated, real-time views of their programs with a minimum of graphics coding. Using TANGO, programmers create animations by writing routines in an algorithm animation design language or by using a direct-manipulation, demonstrational animation design tool.

Order hardcopy report from