previous up next
Go backward to System Model
Go up to Top
Go forward to Solution Idea
RISC-Linz logo

Client Model

Clienti(pc, server, client) :<=>
   or
      (1) pci = other  /\  pc'i = request  /\ 
              changed(pc)
      (2) pci = request  /\  pc'i = grant  /\ 
              sendi(server, request)  /\ changed(pc, server)
      (3) pci = grant  /\  pc'i = resource  /\ 
               receivei(client, grant)  /\ changed(pc, client)
      (4) pci = resource  /\  pc'i = release  /\ 
              changed(pc)
      (5) pci = release  /\  pc'i = other  /\ 
              sendi(server, release)  /\ changed(pc, server)
Client(server, client):
   loop
      ...                            other
      send(server, request)      request
      grant := receive(client)   grant
      ...                            resource
      send(server, release)       release
   end
sendi(c, m) :<=>
   c' = c[i |-> c[i] || <m>]
 
receivei(c, m) :<=>
   c = c'[i |-> <m>|| c'[i]]
changed(v1, ..., vn) :<=>
   (for all program variables v except for v1, ..., vn)
   and
      v' = v
      ...


Author: Wolfgang Schreiner
Last Modification: April 22, 1999

previous up next