Advertisement
aeroson

Untitled

Nov 6th, 2014
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. clear;
  2.  
  3.  
  4. agent Spec = accept.'deliver.Spec;
  5.  
  6. set L = {sendA,sendB,delAckA,delAckB,deliverA,deliverB,ackA,ackB,timeout};
  7. agent Impl = (Sender|Receiver|Medium|Timeout)\L;
  8.  
  9.  
  10.  
  11.  
  12.  
  13. agent Sender = SendEatA;
  14.  
  15. agent SendEatA = accept.CA;
  16. agent CA = delAckB.CA + sendB.CA + delAckA.CA + sendA.CA + SA;
  17. agent SA = 'sendA.( delAckA.SendEatB + timeout.RA );
  18. agent RA = delAckB.RA + sendB.RA + delAckA.SendEatB + SA;
  19.  
  20. agent SendEatB = accept.CB;
  21. agent CB = delAckB.CB + sendB.CB + delAckA.CB + sendA.CB + SB;
  22. agent SB = 'sendB.( delAckB.SendEatA + timeout.RB );
  23. agent RB = delAckB.SendEatA + sendB.RB + delAckA.RB + SB;
  24.  
  25.  
  26.  
  27.  
  28.  
  29. agent Medium = MT | MB;
  30. agent MT = sendA.'deliverA.MT + sendB.'deliverB.MT;
  31. agent MB = ackA.'delAckA.MB + ackB.'delAckB.MB;
  32.  
  33.  
  34.  
  35.  
  36. agent Receiver = DA;
  37.  
  38. agent DA = deliverB.DA + deliverA.GA;
  39. agent GA = 'deliver.'ackA.DB;
  40.  
  41. agent DB = deliverA.DB + deliverB.GB;
  42. agent GB = 'deliver.'ackB.DA;
  43.  
  44.  
  45.  
  46.  
  47. agent Timeout = 'timeout.Timeout;
  48.  
  49.  
  50.  
  51.  
  52. deadlocks(Impl);
  53. eq(Spec,Impl);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement