As distributed algorithms may involve a large amount of data describing local state information and complex interactions between elements, it is often very difficult to achieve an understanding of their control flow (and performance behaviour) only from a pseudo-code description given in a book or technical paper, and the explanation given by a teacher concisely in the static blackboard. Visualization may be used to illuminate the execution of the algorithm and help to find problems in the implementation.

Lydian is a simulation and visualization environment for distributed algorithms that provides to the students an experimental environment to test and visualize the behaviour of distributed algorithms.

User Overview
Lydian offers the students an easy, visual way to describe their own networks, including traffic parameters, or select one from a database included with Lydian. Subsequently, students can use these network-descriptions in order to see the behaviour of the protocol or algorithm running on top of them.

Further, it offers a database of basic distributed algorithms and protocols that the student can select from. The database so far contains algorithms for broadcasting, spanning tree constructions, resource allocation, leader ellection and counting networks.

Students can insert a new distributed algorithm in Lydian by using a high-level description language.

Component Overview
The simulator of Lydian takes as an input the network description file and the distributed algorithm and creates an execution (run). This execution describes the behaviour of the algorithm for the specific execution parameters.

For each protocol in the database Lydian provides a continuous animation. The animation is based on the basic ideas behind the design of the algorithm and which are used in the classroom to describe the corresponding algorithm, its correctness and its analysis. The users can easily design their own animation programs.

The animation library is object oriented and animation objects for various key concepts of distributed algorithms have already been implemented and can be used in any animation produced by the user.

Last modified: Thu May 26 15:21:25 CEST 2005