Skip to content

Latest commit

 

History

History
45 lines (23 loc) · 2.04 KB

File metadata and controls

45 lines (23 loc) · 2.04 KB

Dijkstra's Self Stabilization Algorithms

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.

Executable file can be found here:

https://drive.google.com/drive/folders/1lx825_HKxlDyZ9ukRVYYo4rwvEABxys8?usp=sharing

The Program

After opening the program the default algorithm is the first (toggle button), N=0 and no processors exists:

image

And after entering value for N, the processors will be arranged in a ring with random state:

image

And for the Third algorithm (old GUI before adding the first algorithm):

0

1

Also can be displayed as a string (because of the proof itself):

Dijkstra-s-3rd-Algorithm-Simulation-06-06-2020-16-33-31

And draw the arrow mentioned in his proof:

Dijkstra-s-3rd-Algorithm-Simulation-06-06-2020-16-33-35

Also there are some more button to create specific configuration and etc...

2