Here is our worked example of the Loo-Q system in all its glory!
For simplicity we consider a system of just three seats – A, B and C. The table shows the global history, with a description of the event and the status of the local queues at each time.
The spacetime diagram of the system is on the right, showing the processes for seats A, B and C as vertical lines with time increasing as you move up. Messages sent between processes are shown as dashed lines. An event is shown as green if that seat's Loo-Q button is green.
Time | Event | Queue A | Queue B | Queue C |
---|---|---|---|---|
0.1 | Start time for A | |||
0.2 | Start time for B | |||
0.3 | Start time for C | |||
1.1 | A: Rule 1
| 1.1 A needs loo | ||
1.2 | B: Rule 2
| 1.1 A needs loo | 1.1 A needs loo | |
1.3 | C: Rule 2
| 1.1 A needs loo | 1.1 A needs loo | 1.1 A needs loo |
2.1 | A: Rule 4
| 1.1 A needs loo | 1.1 A needs loo | 1.1 A needs loo |
2.2 | B: Rule 1
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo | 1.1 A needs loo |
2.3 | C: Rule 1
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo | 1.1 A needs loo 2.3: C needs loo |
3.1 | A: Rule 6
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo | 1.1 A needs loo 2.3: C needs loo |
3.2 | B: Rule 2
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.3: C needs loo |
3.3 | C: Rule 2
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
4.1 | A: Rule 6
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
4.2 | B: Rule 6
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
4.3 | C: Rule 6
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
5.1 | A: Rule 4
| 1.1 A needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
6.1 | A: Rule 2
| 1.1 A needs loo 2.2: B needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
6.2 | B: Rule 6
| 1.1 A needs loo 2.2: B needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
7.1 | A: Rule 4
| 2.2: B needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
7.2 | B: Rule 5
| 2.2: B needs loo | 2.2: B needs loo 2.3: C needs loo | 1.1 A needs loo 2.2: B needs loo 2.3: C needs loo |
7.3 | C: Rule 5
| 2.2: B needs loo | 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo |
8.1 | A: Rule 2
| 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo |
8.2 | B: Rule 4
| 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo |
8.3 | CL Rule 6
| 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo |
9.2 | B: Rule 4
| 2.2: B needs loo 2.3: C needs loo | 2.3: C needs loo | 2.2: B needs loo 2.3: C needs loo |
9.3 | C: Rule 5
| 2.2: B needs loo 2.3: C needs loo | 2.3: C needs loo | 2.3: C needs loo |
10.1 | A: Rule 5
| 2.3: C needs loo | 2.3: C needs loo | 2.3: C needs loo |
10.3 | C: Rule 4
| 2.3: C needs loo | 2.3: C needs loo | 2.3: C needs loo |