Abstract
Schneider [Sch87] generalizes a number of protocols for Byzantine fault-tolerant clock synchronization and presents a uniform proof for their correctness. We present a mechanical verification of Schneider's protocol leading to several significant clarifications and revisions. The verification was carried out with the Ehdm system [RvHO91] developed at the SRI Computer Science Laboratory. The mechanically checked proofs include the verification that the egocentric mean function used in Lamport and Melliar-Smith's Interactive Convergence Algorithm [LMS85] satisfies the requirements of Schneider's protocol. Our mechanical verification raises a number of issues regarding the verification of fault-tolerant, distributed, real-time protocols that are germane to the design of a special-purpose logic for such problems.
This work was supported by NASA Contract NAS1-18226. John Rushby, Friedrich von Henke, Fred Schneider, and Rick Butler provided considerable guidance and encouragement. I also thank Paul Miner (NASA Langley Research Center) and the referees for their comments and clarifications.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Alur and T. A. Henzinger. A really temporal logic. In 30th IEEE Symp. on Foundations of Computer Science, 1989.
W. R. Bevier and W. D. Young. Machine checked proofs of the design and implementation of a fault-tolerant circuit. NASA Contractor Report 182099, Computational Logic, Inc., 1990.
E. M. Clarke and O. Grumberg. Research on automatic verication of finite state concurrent systems. In Annual Review of Computer Science, pages 269–290. Annual Reviews, Inc., 1987.
E. A. Emerson, A. K. Mok, A. P. Sistla, and J. Srinivasan. Quantitative temporal reasoning. In Computer-Aided Verification, 1989.
R. Koymans. Specifiying message passing and time-critical systems with temporal logic. PhD thesis, Eindhoven Univ. of Technology, 1989.
J. Lundelius and N. A. Lynch. A new fault-tolerant algorithm for clock synchronization. In Proc. of the Third ACM Symp. on Principles of Distributed Computing, pages 75–88, 1984.
L. Lamport and P.M. Melliar-Smith. Synchronizing clocks in the presence of faults. Journal of the ACM, 32(1):52–78, January 1985.
Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine generals problem. ACM TOPLAS, 4(3):382–401, July 1982.
A. Pnueli. The temporal logic of programs. In Proc. 18th Ann. IEEE Symp. on Foundations of Computer Science, pages 46–57, 1977.
John Rushby. Formal specification and verification of a fault-masking and transient-recovery model for digital flight-control systems. Technical Report SRI-CSL-91-3, Computer Science Laboratory, SRI International, Menlo Park, CA, January 1991. Also available as NASA Contractor Report 4384, and to appear in Proceedings of the Symposium on Formal Techniques in Real Time and Fault Tolerant Systems, Nijmegen, Netherlands, January 1992.
John Rushby and Friedrich von Henke. Formal verification of the interactive convergence clock synchronization algorithm using Ehdm. Technical Report SRI-CSL-89-3R, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1989 (Revised August 1991). Also available as NASA Contractor Report 4239.
John Rushby, Friedrich von Henke, and Sam Owre. An introduction to formal specification and verification using Ehdm. Technical Report SRI-CSL-91-2, Computer Science Laboratory, SRI International, Menlo Park, CA, February 1991.
Fred B. Schneider. Understanding protocols for Byzantine clock synchronization. Technical Report 87-859, Department of Computer Science, Cornell University, Ithaca, NY, August 1987.
Natarajan Shankar. Mechanical verification of a schematic Byzantine clock synchronization algorithm. Nasa contractor report 4386, June 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shankar, N. (1991). Mechanical verification of a generalized protocol for Byzantine fault tolerant clock synchronization. In: Vytopil, J. (eds) Formal Techniques in Real-Time and Fault-Tolerant Systems. FTRTFT 1992. Lecture Notes in Computer Science, vol 571. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55092-5_12
Download citation
DOI: https://doi.org/10.1007/3-540-55092-5_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55092-1
Online ISBN: 978-3-540-46692-5
eBook Packages: Springer Book Archive