Distributed System Learning Tool (Updating)

Recently I am taking the Cloud Computing Specialization course series on Coursera. I was very intrigued by the different concepts in distributed systems. However, while I was working on the homeworks, I found it a bit tough sometimes to compute attributes like Lamport timestamp when I am not being able to visualize the message flows between distributed processes. Thus, I will start working on a visualization tool and automatic solver for these type of problems.

It aims to provide the following features:
– Drag and drop message flows between processes
– (For unicast messages) Automatically solve Lamport and Vector timestamps based on message flows
– (For multicast messages) Automatically solve orderings including FIFO and Causal

The base of the tool, e.g. its visualization canvas, the graph data structures should be extended to visualize and solve other types of problems such as the Global Snapshot Algorithm.

This post will be updated accordingly (Hopefully I will have enough time) …