Communicating sequential processes
Communicating sequential processes
Joyce—a programming language for distributed systems
Software—Practice & Experience
Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Communicating sequential processes
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
NIL: An integrated language and system for distributed programming
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Occam Programming Manual
Distributed message passing operating systems
ACM SIGOPS Operating Systems Review
Hi-index | 0.00 |
In this paper primitives for asynchronous process communication are defined and added to the programming language Occam. Most of the existing concurrent programming concepts have synchronization mechanisms built-in the communication primitives degrading process independency and restricting the parallelism they are trying to provide. Asynchronous process communication provides more freedom in programming concurrent systems allowing non-blocking semantics for both send and receive primitives. Messages are buffered and a number of operations over buffered but not yet received messages are defined, allowing programmer to set or dynamically change the communication discipline needed for the particular application. The goal of the work presented is to relax strict process communication discipline and to make Occam more convenient for expressing concurrency needed for real-time applications. Although Occam is based on the synchronous communication model, its low level facilities provide a possibility to create the semantics of concurrency completely different from the one initially offered.