Last modified May-24-1997    |   Contents    |   No frames

Jeliot -- Interactive Algorithm Theater

Jeliot is an algorithm visualization environment for animating user algorithms on the World-Wide Web. It is a product of the research project AAPS working at the Department of Computer Science of the University of Helsinki. Jeliot has been implemented by two groups of CS students. The implementation is based on the ideas of Eliot, the predecessor of Jeliot. Both the researchers of project and the students contributed to the development of system. The name Jeliot is a short hand for Java-Eliot, and the name Eliot becomes from the Finnish word "eliöt" meaning living beings.

With Jeliot the user can produce an animation for an algorithm written in Java. The user can select which parts of the algorithm are to be included in the animation. These selections can be changed also during the animation.

Overview of the System

Jeliot is based on the theater metaphor. The code to be animated is treated as a script of a play. When constructing an animation, the user acts as the director of the play. For each stage of the animation he chooses the actors for the roles (data structures) of the play. More information about the theater metaphor can be found on the pages describing Eliot.

The architecture of Jeliot is based on the client/server model. This provides more platform-independence and reduces the need for specialized software on the client-side. Only a Java-capable browser is needed. The writing of the code to be animated, and the actual animation take place on the client-side, while the analysis of the user's code and the generation of the animation take place on the server-side.

A normal session with Jeliot proceeds as follows:

  1. The user writes the algorithm he wants to animate, or uses one of the examples provided on Jeliot Web pages.
  2. Then he clicks the Start button and the code is sent to the Jeliot server where it is parsed, modified, and finally compiled.
  3. The server sends the URL of the compiled class file back to the client and the class file is loaded. At the same time the user can choose the variables to be animated in each of the stages where the animation takes place.
  4. The animation starts when the user clicks either the Run or the Step button in the control panel. The control panel can also be used to open new stages, control the speed of the animation, and the original user written code is shown in that window.
  5. Each of the stages can be set up differently. For example one of them might be used to give an overall view of the animation, while another might concentrate on some detail. The settings can naturally be altered, even while the algorithm is running.
These steps are explained in more detail in the inside Jeliot section. More information can also be found in the paper
    J. Haajanen, M. Pesonius, E. Sutinen, J. Tarhio, T. Teräsvirta, and P. Vanninen: Animation of user algorithms on the Web. To appear in Proc. VL '97, Visual Langugaes, Capri, Italy.

Future

At this stage Jeliot is still at a prototype level. At present it is already too complex to be developed further by students as a part of their studies. The future of Jeliot is open, but we are seeking funding for its development.

Next | Contents