© 1981 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Port directed communication*

Department of Computer Sciences, The University of Texas, Austin, USA
In his paper, Communicating Sequential Processes, Hoare has introduced a clean concept of a process, in which the states of processes are isolated from one another, except at explicit communication points. Communication and synchronisation in this system is accomplished through the I/O facility and Dijkstra's guarded command. Hoare insisted in his proposal that every input and output command must name its source and destination explicitly. In this paper we propose an alternative to Hoare's scheme. We suggest that communication and synchronisation should be handled through port names. We define the notion of ownership of a port, and require that each port will have a single owner and as many users as needed. These concepts provide the means for:
- (a) clean handling of subroutines
- (b) allowing both input and output commands to appear in guards
- (c) obtaining an efficient implementation of the communication and synchronisation constructs.
These issues and concepts will be dealt with in this paper, and their usefulness will be demonstrated providing solutions to a variety of familiar programming exercises.
Received October 1979.
* This research was supported in part by the National Science Foundation under Grant No.MCS 7702463, and in part by the office of Naval Research under Contract N 00014-80-C-0592.
Department of Computer Sciences, The University of Texas, Austin, Texas 78712, USA