Paper Details

Communicating Process Architectures (CPA)
 Title: Two-Way Protocols for occam-pi
 Conference: Communicating Process Architectures 2008
 Authors: Adam T. Sampson
Computing Laboratory, University of Kent
 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.We present a critical investigation of the current implementation of JCSP Networking, examining in detail the structure and behavior of the current architecture. Information is presented detailing the current architecture and how it operates, and weaknesses in the implementation are raised, particularly when considering resource constrained devices. Experimental work is presented that illustrate memory and computational demand problems and an outline on how to overcome these weaknesses in a new implementation is described. The new implementation is designed to be lighter weight and thus provide a framework more suited for resource constrained devices which are a necessity in the field of ubiquitous computing. 

BibTeX Entry

Full paper