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


Refal encoding

*$MST_FROM_ENTRY;
*$STRATEGY Applicative;

$ENTRY Go {e.A (e.1) = <Loop1 e.A (Invalid e.1)(Modified )(Shared )(Exclusive )(Owned ) >;}

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





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

* wm  
E (Invalid s.1 e.1)(Modified e.2)(Shared e.3)(Exclusive e.4)(Owned e.5) =
  (Invalid e.5 e.4 e.3 e.2 e.1)(Modified  )(Shared )(Exclusive s.1)(Owned );

}



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

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


Alexei Lisitsa 2005-07-14