As part of a presentation for Distributed Computing Seminar, I made this simulation tool for Dijkstra's self stabilization 3rd algorithm that can be found here: http://www.cs.utexas.edu/~EWD/ewd04xx/EWD426.PDF
The third algorithm is about the 3-state machines.
My lecturer usually teaches only the first algorithm so I added the option for the first algorithm of Dijkstra as well so next he can demonstrate while teaching.
This simulation tool helped me understand Dijkstra's proof for the 3rd algorithm.
https://drive.google.com/drive/folders/1lx825_HKxlDyZ9ukRVYYo4rwvEABxys8?usp=sharing
After opening the program the default algorithm is the first (toggle button), N=0 and no processors exists:
And after entering value for N, the processors will be arranged in a ring with random state:
And for the Third algorithm (old GUI before adding the first algorithm):
Also can be displayed as a string (because of the proof itself):
And draw the arrow mentioned in his proof:
Also there are some more button to create specific configuration and etc...