%su=2.0;
%sd=2.0;
%st=2.0;
%s=1.0;
%tr=0.6;
%ttr=0.8;
%tttr=0.6;
%w=1.0;
%pr=1.2;
%ppr=0.8;
%qr=1.2;
%qqr=0.8;
%r=2.0;

#Bidder       = (bid_in,su).WaitingBid + (preq_in, sd).WaitingPrice;
#WaitingBid   = (reject_c, top).Incorrect + (forward_accept, top).Bidder + (forward_reject, top).Incorrect;
#WaitingPrice = (presp_c, top).Bidder + (forward_presp,top).Bidder;
#Incorrect    = (preq_in, st).WaitingPrice;

#Bidder_CN 	 = (bid'_in,su).WaitingBid_CN + (preq'_in, sd).WaitingPrice_CN;
#WaitingBid_CN   = (forward_accept', top).Bidder_CN + (forward_reject', top).Incorrect_CN;
#WaitingPrice_CN = (forward_presp',top).Bidder_CN;
#Incorrect_CN    = (preq'_in, st).WaitingPrice_CN;

#Node  = (bid_in, top).Node1 + (preq_in, top).Node2 + (accept_s, top).Node3 + (reject_s, top).Node4 + (presp_s, top).Node5;
#Node1 = (forward_bid, s).Node + (presp_s, top).Node6 + (accept_s, top).Node7 + (reject_s, top).Node8;
#Node2 = (forward_preq, s).Node + (presp_s, top).(forward_presp, s).Node2 
       + (accept_s, top).(forward_accept, s).Node2 + (reject_s, top).(forward_reject, s).Node2;
#Node3 = (forward_accept, s).Node;
#Node4 = (forward_reject, s).Node;
#Node5 = (forward_presp, s).Node;
#Node6 = (forward_presp, s).Node1;
#Node7 = (forward_accept, s).Node1; 
#Node8 = (forward_reject, s).Node1;

#CNode  = (bid'_in,top).CNode1 + (preq'_in,top).CNode2 + (forward_accept_sc,top).CNode6 + (forward_reject_sc,top).CNode3+ (reject_cn, top).CNode3 + (presp_cn, top).CNode7;
#CNode1 = (forward_bid_nc, s).CNode + (forward_accept_sc,top).CNode8 + (forward_reject_sc,top).CNode4 + (reject_cn, top).CNode4 + (presp_cn, top).CNode9;
#CNode2 = (forward_preq_nc, s).CNode + (forward_accept_sc,top).CNode10 + (forward_reject_sc,top).CNode5 + (reject_cn, top).CNode5 + (presp_cn, top).CNode11;
#CNode3 = (forward_reject', s).CNode;
#CNode4 = (forward_reject', s).CNode1;
#CNode5 = (forward_reject', s).CNode2;
#CNode6 = (forward_accept', s).CNode;
#CNode7 = (forward_presp', s).CNode;
#CNode8 = (forward_accept', s).CNode1;
#CNode9 = (forward_presp', s).CNode1;
#CNode10 = (forward_accept', s).CNode2;
#CNode11 = (forward_presp', s).CNode2;

#CacheB  = (bid_in, top).CacheB1 + (preq_in, top).CacheB2 + (accept_scb, top).CacheB3 + (reject_scb, top).CacheB4 + (update,top).CacheB;
#CacheB1 = (forward_bid_csb,tu).CacheB + (reject_cn, ttu).CacheB; 
#CacheB2 = (presp_c, s).CacheB;
#CacheB3 = (forward_accept, s).CacheB;
#CacheB4 = (forward_reject, s).CacheB;

#CacheN  = (forward_bid_nc, top).CacheN1 + (forward_preq_nc, top).CacheN2 + (accept_scn, top).CacheN3 + (reject_scn, top).CacheN4 + (update,top).CacheN;
#CacheN1 = (forward_bid_csn,tu).CacheN + (reject_cn, ttu).CacheN;
#CacheN2 = (presp_cn, s).CacheN;
#CacheN3 = (forward_accept_sc,s).CacheN;
#CacheN4 = (forward_reject_sc,s).CacheN;

#ServerN  = (forward_bid,top).ServerN' + (forward_preq,top).ServerN1; 
#ServerN' = (accept_s,pr).ServerN + (reject_s,ppr).ServerN;
#ServerN1 = (presp_s,r).ServerN;

#ServerC  = (forward_bid_csn,top).ServerC' + (update,w).ServerC;
#ServerC' = (accept_scn,pr).ServerC + (reject_scn,ppr).ServerC;

#ServerT  = (forward_bid_csb,top).ServerT' + (update,w).ServerT;
#ServerT' = (accept_scb,pr).ServerT + (reject_scb,ppr).ServerT;


(((ServerN<>ServerN<>ServerC<>ServerC<>ServerT<>ServerT) <accept_scb,
accept_scn,reject_scb,reject_scn,update,forward_bid_csb,forward_bid_csn> 
((Bidder <> Bidder)
<bid_in,forward_accept,forward_reject,preq_in,presp_c,reject_c,forward_presp> 
(CacheB <> CacheN))) 
<forward_bid_nc,forward_accept_scb,forward_accept_scn,forward_reject_scb,
forward_reject_scn,forward_preq_nc,presp_cn,reject_cn> 
(CNode <bid'_in,preq'_in,forward_accept',forward_reject',forward_presp'> 
(Bidder_CN <> Bidder_CN))) 
<accept_s,reject_s,presp_s,forward_preq,forward_bid> (Node 
<bid_in,preq_in, forward_accept,forward_reject,forward_presp,presp_c,reject_c> 
(Bidder <> Bidder))
