School of Computing

Two-way protocols for occam-pi

Adam T. Sampson

In Peter H. Welch, Susan Stepney, Fiona A.C. Polack, Frederick R.M. Barnes, Alistair A. McEwan, Gardner S. Stiles, Jan F. Broenink, and Adam T. Sampson, editors, Communicating Process Architectures 2008, volume 66 of Concurrent Systems Engineering, pages 182-196, Amsterdam, The Netherlands, September 2008. WoTUG, IOS Press.

Abstract

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.

Download publication 145 kbytes (PDF)

Bibtex Record

@inproceedings{2909,
author = {Adam T. Sampson},
title = {Two-Way Protocols for occam-pi},
month = {September},
year = {2008},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2008/2909},
    publication_type = {inproceedings},
    submission_id = {4070_1243430491},
    ISBN = {978-1-58603-907-3},
    booktitle = {Communicating Process Architectures 2008},
    editor = {Peter H. Welch and Susan Stepney and Fiona A.C. Polack and Frederick R.M. Barnes and Alistair A. McEwan and Gardner S. Stiles and Jan F. Broenink and Adam T. Sampson},
    volume = {66},
    series = {Concurrent Systems Engineering},
    address = {Amsterdam, The Netherlands},
    organization = {WoTUG},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014