Multiway Synchronization Verified with Coupled Simulation

We consider the problem of implementing multiway synchronization in a distributed environment providing only binary asynchronous communication. Our implementation strategy is formulated as a transformation on transition systems and we give a distributed algorithm for multiway synchronization. Correctness assertions and proofs are based on a new method: coupled simulations. The coupled simulation equivalence is weaker than observation equivalence and stronger than testing equivalence and combines some of their advantages. Like observation equivalence (and unlike testing) it is established through case analysis over single transitions. Like testing equivalence (and unlike observation) it allows an internal choice to be distributed onto several internal choices. The latter is particularly important when relating our distributed implementations to their specifications.

[1]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[2]  Nissim Francez,et al.  Multiparty Interactions for Interprocess Communication and Synchronization , 1989, IEEE Trans. Software Eng..

[3]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[4]  Myunghwan Kim,et al.  A Distributed Synchronization Scheme for Fair Multi-Process Handshakes , 1990, Inf. Process. Lett..

[5]  Nissim Francez,et al.  Script: A Communication Abstraction Mechanism and Its Verification , 1989, Sci. Comput. Program..

[6]  Yuh-Jzer Joung,et al.  Coordinating first-order multiparty interactions , 1991, POPL '91.

[7]  Peter Sjödin From LOTOS specifications to distributed implementations , 1992 .

[8]  Nissim Francez,et al.  Script: a communication abstraction mechanism , 1985, OPSR.

[9]  Rajive L. Bagrodia,et al.  Process Synchronization: Design and Performance Evaluation of Distributed Algorithms , 1989, IEEE Trans. Software Eng..

[10]  D. Kumar An implementation of N-party synchronization using tokens , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[11]  Arthur Charlesworth,et al.  The multiway rendezvous , 1987, TOPL.

[12]  Ira R. Forman,et al.  Superimposition for Interacting Processes , 1990, CONCUR.

[13]  S. Ramesh,et al.  A Methodology for Developing Distributed Programs , 1987, IEEE Transactions on Software Engineering.

[14]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[15]  S. Ramesh,et al.  A New and Efficient Implementation of Multiprocess Synchronization , 1987, PARLE.

[16]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..