EnViDiA: an educational environment for visualization of distributed algorithms in virtual environments
Conference contribution, 2002
EnViDiA is an extensible environment that visualizes the execution of distributed algorithms by using the visualization enhancements offered by Virtual Reality technology. It addresses to represent the complex flow of information tied with the execution of a distributed algorithm in a way that also novices can easily develop a first understanding of the algorithm behavior. In difference to already existing tools it represents the communication structure in a 3D-model in which users are immersed. This way a natural interaction based on real world behavior is possible.The algorithm must work correctly using any arbitrary inter¿connection of processes represented by a communication graph. In contrast to ordinary 2D-worlds, complex non-planar graph models can be nicely represented in 3D with the perspective adapting to the movements of the user. Further, the orientation in the 3D-world is facilitated providing spatial sound. It assists the user becoming aware of the important system events.Students working within such an environment are more active since they walk or fly through the distributed system world in a game like scenario. Unlike the textbook approach students perceive a whole system execution instead of a series of snapshots for which students may experience difficulties in connecting them. The given experience is intended to help the students to follow better the formal descriptions and analysis of such algorithms.Undergraduate students have developed EnViDiA as part of the LYDIAN  project. The animation framework was designed for the Chalmers VR-Cube , an immersive VR environment and it is based on the problems the students experienced themselves when studying distributed algorithms for the first time.Although EnViDiA is intended to be used in an immersive VR environment, it is also possible to use EnViDiA in a simpler version on ordinary desktop computers supporting 3D-graphics (c.f. Figure 1). At its current state EnViDiA supports three distributed algorithms namely simple broadcast, broadcast with acknowledgement and resource allocation based on the algorithm by Ricart and Agrawala. The algorithms are taught in a basic distributed system course at Chalmers University of Technology.The development is about to be continued as part of the LYDIAN  project. Besides adding more algorithms and evaluating the tool at its current state, the main focus is on providing features to support multiple user collaboration, which are tested at the distributed concept of self-stabilization.