Verification of Clock Synchronization Algorithms: Experiments on a Combination of Deductive Tools (original) (raw)
Abstract
We report on an experiment in combining the theorem prover Isabelle with automatic first-order arithmetic provers to increase automation on the verification of distributed protocols. As a case study for the experiment we verify several averaging clock synchronization algorithms. We present a formalization of Schneider's generalized clock synchronization protocol [Schneider, F. B., Understanding protocols for Byzantine clock synchronization, Technical Report TR 87–859, Cornell University (1987). URL citeseer.ist.psu.edu/schneider87understanding.html] in Isabelle/HOL. Then, we verify that the convergence functions used in two clock synchronization algorithms, namely, the Interactive Convergence Algorithm (ICA) of Lamport and Melliar-Smith [Lamport, L. and P. M. Melliar-Smith, Synchronizing clocks in the presence of faults, J. ACM 32 (1985), pp. 52–78] and the Fault-tolerant Midpoint algorithm of Lundelius-Lynch [Lundelius, J. and N. Lynch, A new fault-tolerant algorithm for clock synchronization, in: Proceedings of PODC '84 (1984), pp. 75–88], satisfy Schneider's general conditions for correctness. The proofs are completely formalized in Isabelle/HOL. We identify the parts of the proofs which are not fully automatically proven by Isabelle built-in tactics and show that these proofs can be handled by automatic first-order provers with support for arithmetic like ICS and CVC Lite.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (18)
- D. Barsotti. Instances of schneider's generalized protocol of clock synchronization. Available on the web, 2005.
- CVC Lite. http://chicory.stanford.edu/CVC/.
- L. de Moura. SAL: Tutorial. Computer Science Laboratory, SRI International, April 2004.
- L. A. Dennis, G. Collins, R. Boulton, K. Slind, G. Robinson, M. Gordon, and T. Melham. The PROSPER toolkit. In S. Graf and M. Schwartzbach, editors, Barsotti, Prensa Nieto, Tiu Proceedings of TACAS'03, number 1785 in LNCS, pages 78 -92. Springer, June 2003.
- FlexRay Consortium. FlexRay Communications System Protocol Specification Version 2.0, June 2004.
- E. Gafni and L. Lamport. Disk paxos. In DISC '00: Proceedings of the 14th International Conference on Distributed Computing, pages 330-344. Springer- Verlag, 2000.
- Integrated canonizer and solver (ICS). http://www.icansolve.com/.
- Isabelle home page. http://isabelle.in.tum.de/.
- L. Lamport and P. M. Melliar-Smith. Synchronizing clocks in the presence of faults. J. ACM, 32(1):52-78, 1985.
- J. Lundelius and N. Lynch. A new fault-tolerant algorithm for clock synchronization. In Proceedings of PODC '84, pages 75-88, New York, NY, USA, 1984. ACM Press.
- P. S. Miner. Verification of fault-tolerant clock synchronization systems. NASA Technical Paper 3349, NASA Langley Research Center, November 1993.
- L. Moreau and J. Duprat. A construction of distributed reference counting. Acta Inf., 37(8):563-595, 2001.
- F. B. Schneider. Understanding protocols for Byzantine clock synchronization. Technical Report TR 87-859, Cornell University, 1987.
- D. Schwier and F. von Henke. Mechanical verification of clock synchronization algorithms. In A. P. Ravn and H. Rischel, editors, Formal Techniques in Real-Time and Fault-Tolerant Systems, number 1486 in LNCS, pages 262-271. Springer, September 1998.
- N. Shankar. Mechanical verification of a generalized protocol for byzantine fault tolerant clock synchronization. In J. Vytopil, editor, Formal Techniques in Real- Time and Fault-Tolerant Systems, volume 571 of Lecture Notes in Computer Science, pages 217-236, Nijmegen, The Netherlands, jan 1992. Springer-Verlag.
- J. H. Siekmann, C. Benzmüller, V. Brezhnev, L. Cheikhrouhou, A. Fiedler, A. Franke, H. Horacek, M. Kohlhase, A. Meier, E. Melis, M. Moschner, I. Normann, M. Pollet, V. Sorge, C. Ullrich, C.-P. Wirth, and J. Zimmer. Proof development with omega. In CADE, pages 144-149, 2002.
- B. Tavernier. Calife: A generic graphical user interface for automata tools. Electr. Notes Theor. Comput. Sci., 110:169-172, 2004.
- A. Tiu. A formalization of a generalized clock synchronization protocol in Isabelle/HOL. Available on the web at http://www.loria.fr/˜tiu, 2005.