Visualizing Distributed Algorithms on the Seattle Platform
This report describes Seastorm: a visualizer for distributed algorithms running on the Seattle platform. Seastorm displays the execution of algorithms as interactive sequence diagrams, intended to make reasoning about and debugging these algorithms easier. In order to do this, Seastorm augments the behavior of algorithms to also log events of interest, such as messages being sent and received. Most notably, this involves the addition of logical timestamps to messages, in order to avoid common problems related to event ordering in distributed systems. We designed Seastorm for students in courses on distributed systems and thus aimed to make its barrier to entry as low as possible: it requires very little installation, runs in the browser on any platform, and requires no manual modification of user algorithms. We performed small-scale qualitative testing to assess the value of Seastorm’s visualization, with participants reporting an improved debugging experience compared to only using textual logging.