This Article 
 Bibliographic References 
 Add to: 
Distributed Computing with Single Read-Single Write Variables
May 1989 (vol. 15 no. 5)
pp. 569-574

Single-read-single-write (SRSW) variables are presented for synchronous and asynchronous communication between processes. The operational semantics of the instruction accessing these variables is quite simple: a SRSW variable can be written if it is free, and, once written, it becomes busy. A SRSW variable can be read when busy, and, once read, it becomes free. A process attempting to read a free SRSW variable or write a busy SRSW variable is put in a wait state until the state of the variable changes. The advantages of SRSW variables are multiple. The syntax of a regular sequential language can be used without any change, other than the introduction of a new SRSW data type. Parallel programs tend to be concise and easy to prove correct. The message passing paradigm can be very easily modeled with SRSW variables.

[1] G. R. Andrews, "The distributed programming language SR-Mechanisms, design, and implementation,"Software Practice and Experience, vol. 12, pp. 719-754, Aug. 1982.
[2] G. R. Andrews and F. B. Schneider, "Concepts and notations for concurrent programming,"ACM Comput. Surveys, vol. 15, no. 1, pp. 3-43, Mar. 1983.
[3] E. W. Dijkstra, "Guarded commands, nondeterminacy and formal derivation of programs,"Commun. ACM, vol. 18, no. 8, pp. 453- 457, 1975.
[4] T. Elrad and N. Francez, "A weakest precondition semantics for communicating processes,"Theoret. Comput. Sci., vol. 29, pp. 231- 250, 1984.
[5] J. A. Feldman, "High level programming for distributed computing,"Commun. ACM, vol. 22, pp. 353-368, June 1979.
[6] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[7] P. M. Lenders, "A generalized message-passing mechanism for communicating sequential processes,"IEEE Trans. Comput., June 1988.
[8] U.S. Dep. Defense,Programming Language Ada: Reference Manual(Lecture Notes in Computer Science, vol. 106). New York: Springer-Verlag, 1981.

Index Terms:
distributed computing; synchronous communication; parallel programs; single read-single write variables; asynchronous communication; operational semantics; free; busy; wait state; SRSW variables; syntax; regular sequential language; SRSW data type; message passing; distributed processing
P.M. Lenders, "Distributed Computing with Single Read-Single Write Variables," IEEE Transactions on Software Engineering, vol. 15, no. 5, pp. 569-574, May 1989, doi:10.1109/32.24706
Usage of this product signifies your acceptance of the Terms of Use.