resource cs2()
  const int N = 20  # number of client processes
  op request(int id), results[N]()
  process client [ i = 1 to N ] {
    send request(i)
    # possibly perform some other work
    receive results[i]()
  }

  process server  {
    int  id
    while (true) {
      receive request(id)
      # handle request
      send results[id]()
    }
  }
end
