DaViz and DaProof: Distributed Algorithms Visualiser

Author: Hans-Dieter Hiep
Date: 3-5-2017 for DaViz, 26-7-2017 for DaProof

DaViz

DaViz is a software tool written in the Haskell and Java programming languages for simulating and visualizing executions of distributed algorithms. Users can define their own network structure upon which a limited set of implemented algorithms run. Users choose an order of events to determine an execution of the algorithm and rearrange the events on a timeline to construct a concurrent computation.

The project consists of the design and development of a system for simulating and visualizing distributed algorithms. The goal of the project is to let students explore computations of distributed algorithms by means of an interactive desktop applications. In summary, the project aims to supplement the intuitive approach set out by the course Distributed Algorithms at the VU University Amsterdam, by letting students interactively explore distributed algorithms that allows for experimentation and in-depth study of the algorithms.

During the project, a flaw in the proof of Cidon’s article describing his optimized version of Awerbuch’s algorithm was found.

The source code is available and includes a README file for building a distribution. This may require Eclipse IDE.

The DaViz project ran from November 2016 until May 2017, and was delayed according to schedule by 6 weeks.

DaProof

DaProof is a foundational modeling exercise that builds on top of the practical work of DaViz.

This has resulted in a research paper. Both projects were presented together, the slides can be found below.