© 1987 by British Computer Society
Ordered Ports – a Language Concept for High-level Distributed Programming


* Department of Computer Science, Stanford University, Stanford, CA 94305, USA
Department of Computer Science and Automation, Indian Institute of Science, Bangalore 560 012, India
Department of Computer Science, University of Warwick, Coventry CV4 7AL
Received 1 November 1985; revised 1 July 1986
A new language concept for high-level distributed programming is proposed. Programs are organised as a collection of concurrently executing processes. Some of these processes, referred to as liaison processes, have a monitor-like structure and contain ports which may be invoked by other processes for the purposes of synchronisation and communication. Synchronisation is achieved by conditional activation of ports and also through port control constructs which may directly specify the execution ordering of ports. These constructs implement a path-expression-like mechanism for synchronisation and are also equipped with options to provide conditional, non-deterministic and priority ordering of ports. The usefulness and expressive power of the proposed concepts are illustrated through solutions of several representative programming problems. Some implementation issues are also considered.
To whom correspondence should be addressed