Bachelor's Thesis: Tools for Gossip
For my bachelor’s project I worked on a tool for exploring dynamic gossip. Dynamic gossip is a multi-agent system paradigm in which we study a set of agents who want to share their gossips, but not every agent is necessarily able to “call” the other agents to tell their gossip. However, when an agent who does know how to reach another agent calls someone, they share their gossip as well as how to reach the agents they know.
As you can imagine, this gets complex pretty fast. Add in that there are different sets of rules (called “protocols”) for when agents are allowed to call each other, and it’s hard to get a grasp of what is happening. Therefore, I developed a tool to make it easier to get a grasp on dynamic gossip.
This tool is a web application, written in Elm, that allows users to gain insight into dynamic gossip without having to read a ton of academic literature or write their own simulations. While developing the tool, I tried to strike a balance between keeping the tool simple, so that people inexperienced with dynamic gossip would not be intimidated, while at the same time offering some more advanced features for people who know a bit more about (dynamic) gossip.
The tool offers the following features:
- 👁 Visualise gossip graphs
- ☎️ See which calls are allowed for any protocol
- ✅ Validate and execute call sequences
- ⏰ Time-travel between multiple graph states after executing calls
- 🛠 Create your own custom gossip protocols
- 🌳 Generate execution trees
- ⚠️ Helpful and human-oriented error messages
Read the thesis
The thesis contains a general introduction to dynamic gossip as well as details on the implementation of the tool. You can read it here. The \(\LaTeX\) source for the thesis is also available on my github.
I presented the results of my Bachelor’s project at the bachelor symposium of the University of Groningen. These slides give a quick, global overview of gossip, the research goal and ideas for further research. The slides can be found here, and the \(\LaTeX\) source is again available on my github. Note that the links on the slides no longer work (sorry!).