Communicating sequential processes
Communicating sequential processes
Software engineering with Ada
Mach and Matchmaker: kernel and language support for object-oriented distributed systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Joyce—a programming language for distributed systems
Software—Practice & Experience
The duality of memory and communication in the implementation of a multiprocessor operating system
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Output Guards and Nondeterminism in “Communicating Sequential Processes”
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Effective Implementation for the Generalized Input-Output Construct of CSP
ACM Transactions on Programming Languages and Systems (TOPLAS)
High level programming for distributed computing
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Distributed processes: a concurrent programming concept
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Static checking of interprocess communication in ECSP
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
The coordinator and coordinator programming language (copl)
The coordinator and coordinator programming language (copl)
Computer system organization: The B5700/B6700 series (ACM monograph series)
Computer system organization: The B5700/B6700 series (ACM monograph series)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Occam Programming Manual
Hi-index | 0.00 |
Hoare introduced the concept of polling in his Communicating Sequential Processes (CSP) to handle nondeterministic message communication in distributed and concurrent programming. In order to introduce the polling concept effectively in a programming language, the problems of simultaneous polling, effective termination, busy waiting, and expressive power in one-to-many or many-to-one communication must be solved. This paper discusses the concept of polling, the details about the problems, and how a new concurrent programming language, COPL, solves the problems. COPL introduces a general algorithm to establish a hierarchical relationship between two communicating processes, an efficient mechanism to handle polling termination, a flexible polling to avoid busy waiting, and implicit polling to add asymmetry in the language for more expressive power. [Key words: concurrent programming, programming languages, polling, nondeterminism, and distributed systems]