Skip to main content

Two-Way Protocols for occam-pi

Sampson, Adam T. (2008) Two-Way Protocols for occam-pi. In: Welch, Peter H. and Stepney, Susan and Polack, Fiona A.C. and Barnes, Frederick R.M. and McEwan, Alistair A. and Stiles, Gardner S. and Broenink, Jan F. and Sampson, Adam T., eds. Communicating Process Architectures 2008. Concurrent Systems Engineering . IOS Press, Amsterdam, Netherlands, pp. 85-97. ISBN 978-1-58603-907-3. E-ISBN 978-1-60750-368-2. (doi:10.3233/978-1-58603-907-3-85)


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.

Item Type: Book section
DOI/Identification number: 10.3233/978-1-58603-907-3-85
Uncontrolled keywords: concurrency occam-pi protocols
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Systems Architecture Group
Depositing User: Mark Wheadon
Date Deposited: 29 Mar 2010 12:14 UTC
Last Modified: 03 Jun 2019 09:18 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year