Synchronization of asynchronous processes in CSP
- 1 October 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 11 (4) , 585-597
- https://doi.org/10.1145/69558.69561
Abstract
Many concurrent programming languages including CSP and Ada use synchronous message-passing to define communication between a pair of asynchronous processes. Suggested primitives like the generalized alternative command for CSP and the symmetric select statement for Ada allow a process to nondeterministically select one of several communication statements for execution. The communication statement may be either an input or an output statement. We propose a simple algorithm to implement the generalized alternative command and show that it uses fewer messages than existing algorithms.Keywords
This publication has 13 references indexed in Scilit:
- Process synchronization: design and performance evaluation of distributed algorithmsIEEE Transactions on Software Engineering, 1989
- Appraising fairness in languages for distributed programmingDistributed Computing, 1988
- Distributed cooperation with action systemsACM Transactions on Programming Languages and Systems, 1988
- Script: A communication abstraction mechanism and its verificationScience of Computer Programming, 1986
- An Effective Implementation for the Generalized Input-Output Construct of CSPACM Transactions on Programming Languages and Systems, 1983
- Synchronization in Distributed ProgramsACM Transactions on Programming Languages and Systems, 1982
- Output Guards and Nondeterminism in “Communicating Sequential Processes”ACM Transactions on Programming Languages and Systems, 1980
- Comments on “Communicating Sequential Processes”ACM Transactions on Programming Languages and Systems, 1979
- Communicating sequential processesCommunications of the ACM, 1978
- Guarded commands, nondeterminacy and formal derivation of programsCommunications of the ACM, 1975