This Article 
 Bibliographic References 
 Add to: 
Dynamic Synchrony Among Atomic Actions
June 1993 (vol. 4 no. 6)
pp. 677-685

Synchrony continues to be an important concern in concurrent programming. Existinglanguages and models have introduced a great diversity of constructs for expressing and managing synchronization among sequential processes or atomic actions. The authors putforth a model in which synchrony is viewed as a relation among atomic actions, a relation which may evolve with time. The model is shown to be convenient for expressing formally the semantics of synchrony as it appears in many of the languages and models proposed to date. Among such models Swarm is singled out for its use of dynamic synchrony. The Swarm notation is briefly reviewed. A new concurrent algorithm for the leader election problem illustrates the use of dynamic synchrony in Swarm.

[1] "Ada®Programming Language," American National Standards Institute, Inc., 1983.
[2] "The Connection Machine CM-5 Technical Summary," Thinking Machines Corp., Cambridge, MA, 1991.
[3] R. J. R. Back and R. Kurki-Suonio, "Distributed cooperation with Action Systems,"ACM Trans. Programming Languages Syst., vol. 10, no. 4, pp. 513-554, Oct. 1988.
[4] R. J. R. Back and K. Sere, "Stepwise refinement of parallel algorithms,"Sci. Comput. Programming, vol. 13, pp. 133-180, 1990.
[5] K. M. Chandy and J. Misra,Parallel Program Design: A Foundation. Reading, MA: Addison-Wesley, 1988.
[6] E. Chang and R. Roberts, "An improved algorithm for decentralized extrema-finding in circular configurations of processes,"Commun. ACM, vol. 22, no. 5, pp. 281-283, 1979.
[7] A. Charlesworth, "The multi-way rendezvous,"ACM Trans. Programming Languages Syst., vol. 9, no. 2, pp. 350-366, July 1987.
[8] H. C. Cummingham and G.-C. Roman, "A UNITY-style programming logic for a shared dataspace language,"IEEE Trans. Parallel Distributed Syst., vol. 1, no. 3, pp. 365-376, 1990.
[9] M. Evangelist, N. Francez, and S. Katz, "Multiparty interactions for interprocess communication and synchronization,"IEEE Trans. Software Eng., vol. 15, no. 11, pp. 1417-1426, 1989.
[10] G. N. Frederickson and N. A. Lynch, "Electing a leader in a synchronous ring,"J. ACM, vol. 34, pp. 98-115, 1987.
[11] W. D. Hillis,The Connection Machine. Cambridge, MA: MIT Press, 1985.
[12] D. S. Hirschberg and J. B. Sinclair, "Decentralized extrema-finding in circular configurations of processors,"Commun. ACM, vol. 23, no. 11, pp. 627-628, 1980.
[13] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[14] N. A. Lynch and M. R. Tuttle, "An introduction to input/output automata,"CWI Quaterly, vol. 2, no. 3, pp. 219-246, 1989.
[15] G. L. Peterson, "An O(n log n) unidirectional algorithm for the circular extrema problem,"ACM Trans. Programming Languages Syst., vol. 4, pp. 758-762, 1982.
[16] S. Ramesh and S. L. Mehndiratta, "A methodology for developing distributed programs,"IEEE Trans. Software Eng., vol. SE-13, no. 8, pp. 967-976, 1987.
[17] G.-C. Roman and H. C. Cunningham, "Mixed programming metaphors in a shared dataspace model of concurrency,"IEEE Trans. Software Eng., vol. 16, no. 12, pp. 1361-1373, 1990.
[18] G.-C. Roman and H. C. Cunningham, "Reasoning about synchronic groups," inResearch Directions in High-Level Parallel Programming Languages, J. P. Banâtre and D. Le Métayer, Eds., Lecture Notes in Computer Science, vol. 574, Springer-Verlag, 1992, pp. 21-38.
[19] S. Sasaki, T. Gotoh, and M. Yoshida, "IDATEN: A reconfigurable video-rate image processor," inAdvances in Machine Vision, J. Sanz, Ed. New York: Springer-Verlag, 1988, p. 420.

Index Terms:
Index Termsconcurrent programming; synchronization; sequential processes; atomic actions; dynamicsynchrony; Swarm notation; concurrent algorithm; leader election problem; concurrencycontrol; parallel programming
G.C. Roman, J.Y. Plun, C.D. Wilcox, S. Varma, "Dynamic Synchrony Among Atomic Actions," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 6, pp. 677-685, June 1993, doi:10.1109/71.242155
Usage of this product signifies your acceptance of the Terms of Use.