Agat provides support for watching a program in action, through the use of a stream processor. To animate a program you have to provide some of its output to the server by sending them on some named streams. Streams can then be combined to form more streams. The output of a stream can be linked to the input of a graphical operator to produce a display. Whenever an interesting value is sent on a stream by the program, the value is propagated along all the combined streams, and each stream output updates its visual display appropriately.
A very important feature of agat is the client-server architecture it is based upon: the animation server is a separate process. Only a few lines of code have to be added to the source program in order to animate it and the animation itself is described within an animation file to be loaded in the stream processor. This architecture makes the description of the animation independent from the program to be animated, thus eliminating the need to recompile the program everytime you need to change the animation.
|
According to the first experiences we made, algorithm animation with agat is quite simple and powerful enough for most needs.
Here is a list of examples with the C and Agat code and the result of the execution for different graphical operators:
The first series of examples are very basic. They demonstrate that agat is very simple to use and that you can obtain an interesting animation with only a few changes in your source code.
Histogram operator.
|
Plotline operator.
|
Box operator.
|
3D plotline operator.
|
| Back to home page | oliv@arsac.org |