Abstract
Ensemble is a widely used group communication system that supports distributed programming by providing precise guarantees for synchronization, message ordering, and message delivery. Ensemble eases the task of distributed-application programming, but as a result, ensuring the correctness of Ensemble itself is a difficult problem. In this paper we use I/O automata for formalizing, specifying, and verifying the Ensemble implementation. We focus specifically on message total ordering, a property that is commonly used to guarantee consistency within a process group. The systematic verification of this protocol led to the discovery of an error in the implementation.
Support for this research was provided by DARPA contract F30602-95-1-0047 (Cornell), and DARPA contract F19628-95-C-0118, AFOSR contract F49620-97-1-0337, and NSF grants CCR-9804665 and CCR-9225124 (MIT).
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Emmanuelle Anceaume, Bernadette Charron-Bost, Pascale Minet, and Sam Toueg. On the formal specification of group membership services. Technical Report TR 95-1534, Cornell University Computer Science Department, August 1995.
Ozalp Babaoglu, Renzo Davoli, L. Giachini, and G. Baker. System support for partition-aware network applications. In Proceedings of the 18th IEEE International Conference on Distributed Computing Systems, May 1998.
Kenneth P. Birman. Building Secure and Reliable Network Applications. Manning Publishing Company and Prentice Hall, January 1997.
Kenneth P. Birman and Thomas A. Joseph. Exploiting virtual synchrony in distributed systems. In Proc 11th Symposium on Operating Systems Principles (SOSP), pages 123–138, November 1987.
R. L. Constable et.al. Implementing Mathematics in the NuPRL Proof Development System. Prentice-Hall, 1986.
Alan Fekete. Formal models of communications services: A case study. IEEE Computer, 26(8):37–47, August 1993.
Alan Fekete, Nancy Lynch, and Alex Shvartsman. Specifying and using partitionable group communication service. In Proc.16thAnnual ACM Symposium on Principles of Dist. Comp., pages 52–62, 1997.
Mark G. Hayden. The Ensemble System. PhD thesis, Dept. of Computer Science, Cornell University, January 1997.
Jason Hickey, Nancy Lynch, and Robbert van Renesse. Specifications and proofs for Ensemble layers. Technical Report forthcoming, MIT and Cornell University, 1998. available at http:// www.cs.cornell.edu/jyh/papers/HLR98.ps.
Bengt Jonsson. Compositional specification and verification of distributed systems. ACM Transactions on Programming Languages and Systems, 16(2):259–303, March 1994.
David A. Karr. Protocol Composition on Horus. PhD thesis, Dept. of Computer Science, Cornell University, December 1996.
Leslie Lamport. Introduction to TLA. Technical Report 1994-001, DIGITAL SRC, Palo Alto, CA, 1994.
Nancy Lynch and Mark Tuttle. An introduction to Input/Output automata. Centrum voor Wiskunde en Informatica, Amsterdam, The Netherlands, 2(3):219–246, September 1989. Also Tech. Memo MIT/LCS/TM-373.
Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.
Gil Neiger. A new look at membership services. In Proc.15thAnnual ACM Symposium on Principles of Dist. Comp., pages 331–340, May 1996.
Robbert Van Renesse, Ken Birman, Mark Hayden, Alexey Vaysburd, and David Karr. Building adaptive systems using Ensemble. Software-Practice and Experience, 29(9):963–979, July 1998.
Robbert Van Renesse, Kenneth P. Birman, Roy Friedman, Mark Hayden, and David A. Karr. A Framework for Protocol Composition in Horus. In Proc. 14th Annual ACM Symposium on Principles of Dist. Comp., pages 80–89, Ottawa, Ontario, August 1995. ACM SIGOPS-SIGACT.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hickey, J., Lynch, N., van Renesse, R. (1999). Specifications and Proofs for Ensemble Layers. In: Cleaveland, W.R. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 1999. Lecture Notes in Computer Science, vol 1579. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49059-0_9
Download citation
DOI: https://doi.org/10.1007/3-540-49059-0_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65703-3
Online ISBN: 978-3-540-49059-3
eBook Packages: Springer Book Archive