etude15.mp 544 B

12345678910111213141516171819202122
  1. /* advanced test for COORDINATE
  2. 3/20/15
  3. */
  4. SCHEMA etude15
  5. ROOT Sender: (* send [ check ] *);
  6. ROOT Receiver: (* receive confirm *);
  7. COORDINATE $ch: check FROM Sender,
  8. $con: confirm FROM Receiver
  9. DO ADD $ch FOLLOWS $con; OD;
  10. ROOT Monitor: {* watching *};
  11. watching: ( happy | angry );
  12. /* receive happens only when Monitor is happy */
  13. /* variant 1, example with three coordination threads */
  14. COORDINATE <!> $s: send FROM Sender,
  15. $h: happy FROM Monitor,
  16. $r2: receive FROM Receiver
  17. DO ADD $h FOLLOWS $s, $r2 FOLLOWS $h; OD;