Abstracting communication to reason about distributed algorithms
In distributed systems, message passing is a low level representation of communication resulting in intricate designs and proofs. This paper presents a new abstraction to express communication: the observation. This notion provides a more concise expression of programs and properties, and consequently is an effective help in understanding and reasoning about distributed algorithms. Observations are formalized in the Unity framework.
We define the observation relation and state its main properties. Then, we present the description and the proof of a generic problem. The abstract level of description separates concerns between the algorithm and its communication pattern. Thus, the topology of observations can be changed while preserving the algorithm properties.
Unable to display preview. Download preview PDF.
- 2.K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
- 3.M. Charpentier, M. Filali, P. Mauran, G. Padiou, and P. Quéinnec. Répartition par observation dans Unity. Technical Report 96-01-R, IRIT, 27 pages, January 1996.Google Scholar
- 4.Michel Charpentier. Une sémantique pour Unity avec section observe. Technical report, IRIT, April 1996.Google Scholar
- 5.Michel Charpentier, Abdellah El Hadri, and Gérard Padiou. A Unity-based algorithm design assistant. In Workshop on Tools and Algorithms for the Construction and Analysis of Systems, pages 131–145, Aarhus, Denmark, May 1995. BRICS Notes Series NS-95-2.Google Scholar
- 6.Vilay K. Garg. Principles of Distributed Systems. Kluwer Academic Publisher, 1996.Google Scholar
- 7.Rob Gerth and Amir Pnueli. Rooting UNITY. In Proc. fifth Int. Workshop on Software Specification and Design, pages 11–19, May 1989.Google Scholar
- 8.David Moshe Goldschlag. Mechanically Verifiyng Concurrent Programs. PhD thesis, University of Texas at Austin, May 1992.Google Scholar
- 9.M.J.C. Gordon and T.F. Melham. Introduction to HOL: A Theorem Proving Environnement for Higher Order Logic. Cambridge University Press, 1993.Google Scholar
- 10.C. A. R. Hoare. Coomunicating Sequential Processes. Prentice-Hall International, 1984.Google Scholar
- 12.Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1991.Google Scholar
- 14.Jayadev Misra. A logic for concurrent programming. Technical report, The University of Texas at Austin, April 1994.Google Scholar
- 17.R.T. Udink and J.N. Kok. On the relation between Unity properties and sequence of states. In J.W de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Semantics: Foundations and Applications, volume 666 of Lecture Notes in Computer Science, pages 594–608, 1993.Google Scholar