Seeing Systolic Computations in a Video Game World

Ken Kahn

ToonTalk is a general-purpose concurrent programming system in which the source code is animated and the programming environment is like a video game. Every abstract computational aspect is mapped into a concrete metaphor. For example, a computation is a city, an active object or agent is a house, inter-process communication represented by birds carrying messages between houses, a method or clause is a robot trained by the user and so on. The programmer controls a "programmer persona" in this video world to construct, run, observe, debug, and modify programs.

ToonTalk has been described in detail elsewhere. Here we show how systolic programs can be constructed and animated in ToonTalk. Systolic computations run on multiple processors connected in a regular topology, where all communication is via local message passing. A ToonTalk city can be seen as a systolic multi-processor and each house in the city as an active processor. One is able to construct systolic algorithms and watch their execution as houses are built and destroyed (i.e., processes are spawned and terminate) and birds carry messages between houses.

home | search | buy | manual | news | faq | support | press | contact us