Blame view

BRIC/cspFiles/rules.csp 569 Bytes
eeb5cac08   Madiel de Souza Conserva Filho   first
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  ---------------------------------------------------------
  -- COMMUNICATION RULES --
  ---------------------------------------------------------
  
  INTER(P,Q) = P ||| Q
  COMM(P,Q,c1,c2) = (P ||| Q) [| {| c1,c2 |} |] BFIO(c1,c2)
  FEED(P,c1,c2) = P[| {| c1,c2 |} |] BFIO(c1,c2)
  REF(P,c1,c2) =  P[| {| c1,c2 |} |] BFIO(c1,c2)
  
  -- BUFFERS
  BUFFER(ci,co, n) =
    let
      B(<>) = ci?x -> B(<x>)
      B(s)  =    (co!head(s) -> B(tail(s)))
                [] (#s<n & ci?x -> B(s^<x>))
    within B(<>)
  BFIO(c1,c2) = BUFFER(c1.req, c2.req,1) ||| BUFFER(c2.ack, c1.ack,1)