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...

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.

References (18)

  1. D. Barsotti. Instances of schneider's generalized protocol of clock synchronization. Available on the web, 2005.
  2. CVC Lite. http://chicory.stanford.edu/CVC/.
  3. L. de Moura. SAL: Tutorial. Computer Science Laboratory, SRI International, April 2004.
  4. 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.
  5. FlexRay Consortium. FlexRay Communications System Protocol Specification Version 2.0, June 2004.
  6. 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.
  7. Integrated canonizer and solver (ICS). http://www.icansolve.com/.
  8. Isabelle home page. http://isabelle.in.tum.de/.
  9. L. Lamport and P. M. Melliar-Smith. Synchronizing clocks in the presence of faults. J. ACM, 32(1):52-78, 1985.
  10. 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.
  11. P. S. Miner. Verification of fault-tolerant clock synchronization systems. NASA Technical Paper 3349, NASA Langley Research Center, November 1993.
  12. L. Moreau and J. Duprat. A construction of distributed reference counting. Acta Inf., 37(8):563-595, 2001.
  13. F. B. Schneider. Understanding protocols for Byzantine clock synchronization. Technical Report TR 87-859, Cornell University, 1987.
  14. 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.
  15. 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.
  16. 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.
  17. B. Tavernier. Calife: A generic graphical user interface for automata tools. Electr. Notes Theor. Comput. Sci., 110:169-172, 2004.
  18. A. Tiu. A formalization of a generalized clock synchronization protocol in Isabelle/HOL. Available on the web at http://www.loria.fr/˜tiu, 2005.