next up previous
Next: 2 Modules of VisAlg Up: README Previous: README

1 About VisAlg

VisAlg is a Java based tool which supports the visualization of algorithms.

It has been written by Martin Spoden in 1999 within the scope of a software praktikum and his work as student assistent at the AG Reinelt, University of Heidelberg.

Since October, 2000 VisAlg is maintained by Matthias Vigelius. He is responsible for extensions and fixing bugs, documentation and integrating work done by students. Please contact him if you have any question.

First intended to represent a tool for visualizing sorting algorithms the underlying concept of VisAlg turned out to be so flexible that it could be extended to graph algorithms, recursive and parallel algorithms.

The basic building block of VisAlg is a "module". Data, algorithms and views (these are windows which visualize data or actions of the algorithm) are all modules. These modules can interact with each other via certain interfaces which they have to implement. This abstract approach has the adavantage that every type of data, algorithm or view can be integrated into VisAlg; it only has to implement the specified interfaces.

For each data module there also has to be an associated converter. The converter reads external data (e.g. a file with a list of integers) and transfoms them into an appropiate internal data structure.

The execution and visualisation of the algorithm is steered by steps. Each module receives a step event (triggered by a button in the GUI) and reacts accordingly. The algorithm changes its internal state and modifies the data, the views update their representation of the algorithm and data etc..

A valuable feature of VisAlg is its capability to save states of the complete execution scenario. Furthermore the state of all modules and the associated states can be serialized in a so called project.


next up previous
Next: 2 Modules of VisAlg Up: README Previous: README
Dino Ahr, AG Reinelt - Discrete Optimization, Institute for Computer Science, University of Heidelberg