Location of Repository

Two-Way Protocols for occam-pi

By Adam T. Sampson


In the occam-pi programming language, the client-server communication pattern is generally implemented using a pair of unidirectional channels. While each channel's protocol can be specified individually, no mechanism is yet provided to indicate the relationship between the two protocols; it is therefore not possible to statically check the safety of client-server communications. This paper proposes two-way protocols for individual channels, which would both define the structure of messages and allow the patterns of communication between processes to be specified. We show how conformance to two-way protocols can be statically checked by the occam-pi compiler using Honda's session types. These mechanisms would considerably simplify the implementation of complex, dynamic client-server systems

Topics: QA76
Publisher: IOS Press
Year: 2008
OAI identifier: oai:kar.kent.ac.uk:24099

Suggested articles



  1. (1997). A Design Strategy for Deadlock-Free Concurrent Systems.
  2. (1988). occam 2 Reference Manual.
  3. (1992). occam 3 Reference Manual.
  4. (2002). Prioritised Dynamic Communicating Processes - Part I. doi
  5. (2002). Prioritised Dynamic Communicating Processes - Part II. doi
  6. Process Oriented Design for Java: Concurrency for All. In doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.