Next: Result of supercompilation
Up: Reader-Writer protocol
Previous: Reader-Writer protocol
* Reader-Writer mutual exclusion protocol from the paper
* "Petri Nets, Flat Languages and Linear Arithmetic", by Laurent Fribourg
*
*$MST_FROM_ENTRY;
*$STRATEGY Applicative;
*$LENGTH 0;
$ENTRY Go {e.A (e.q) (s.i) = <Loop (e.A)(x2 s.i)(x3)(x4)(x5 e.q)(x6)(x7) >;}
Loop {
() (x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7) =
<Test (x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7)>;
(s.A e.A)(x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7) =
<Loop (e.A)
<RandomAction s.A
(x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7)>>;
}
RandomAction {
*r1
A (x2 s.2 e.2)(x3 e.3)(x4)(x5 e.5)(x6 e.6)(x7 s.7 e.7)
= (x2 e.2)(x3 s.2 e.3)(x4)(x5 e.5)(x6 e.6)(x7 e.7);
*r2
B (x2 s.2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 s.6 e.6)(x7 e.7)
= (x2 s.2 e.2)(x3 e.3)(x4 s.6 e.4)(x5 e.5)(x6 e.6)(x7 e.7);
*r3
C (x2 e.2)(x3 s.3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7)
= (x2 s.3 e.2)(x3 e.3)(x4 e.4)(x5 s.3 e.5)(x6 e.6)(x7 e.7);
*r4
D (x2 e.2)(x3 e.3)(x4 s.4 e.4)(x5 e.5)(x6 e.6)(x7 e.7)
= (x2 e.2)(x3 e.3)(x4 e.4)(x5 s.4 e.5)(x6 e.6)(x7 e.7);
*r5
E (x2 e.2)(x3 e.3)(x4 e.4)(x5 s.5 e.5)(x6 e.6)(x7 e.7)
= (x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 s.5 e.6)(x7 e.7);
*r6
F (x2 e.2)(x3 e.3)(x4 e.4)(x5 s.5 e.5)(x6 e.6)(x7 e.7)
= (x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 s.5 e.7);
}
Test{
(x2 e.2)(x3 s.3 e.3)(x4 s.4 e.4)(x5 e.5)(x6 e.6)(x7 e.7) = False;
(x2 e.2)(x3 e.3)(x4 e.4)(x5 e.5)(x6 e.6)(x7 e.7)= True;
}
Alexei Lisitsa
2005-07-14