next up previous
Next: Result of supercompilation Up: MESI Previous: MESI


Refal encoding

*$MST_FROM_ENTRY;
*$STRATEGY Applicative;
*$LENGTH 0;


Loop {
  () (Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive e.4) =
                                <Result (Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive e.4)>;
  (s.A e.A) (Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive e.4) = 
         <Loop (e.A) 
         <RandomAction s.A
         (Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive e.4)>>;
}




RandomAction {
* rh Trivial 
* rm
A (Invalid s.1 e.1) (Modified e.2) (Shared e.3) (Exclusive e.4)
   = (Invalid e.1)  (Modified )  (Shared s.1 e.2 e.3 e.4 ) (Exclusive );
* wh1 Trivial
*wh2
B (Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive s.4 e.4) =
  (Invalid e.1)(Modified s.4  e.2)(Shared e.3)(Exclusive e.4);
* wh3 
C (Invalid e.1)(Modified e.2)(Shared s.3 e.3)(Exclusive e.4) =
  (Invalid e.4 e.3 e.2 e.1)(Modified  )(Shared )(Exclusive s.3);
* wm  
D (Invalid s.1 e.1)(Modified e.2)(Shared e.3)(Exclusive e.4) =
  (Invalid e.4 e.3 e.2 e.1)(Modified  )(Shared )(Exclusive s.1);

}



Result{
(Invalid e.1)(Modified s.2 e.2)(Shared s.3 e.3)(Exclusive e.4) = False;
(Invalid e.1)(Modified s.21 s.22 e.2)(Shared e.3)(Exclusive e.4) = False;

(Invalid e.1)(Modified e.2)(Shared e.3)(Exclusive e.4) = True;
}


Alexei Lisitsa 2005-07-14