Skip to main content
Log in

Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

The IEEE 1394 high performance serial multimedia bus protocol allows several components to communicate with each other at high speed. In this paper we present a formal model and verification of a leader election algorithm that forms the core of the tree identify phase of the physical layer of the 1394 protocol.

We describe the algorithm formally in the I/O automata model of Lynch and Tuttle, and verify that for an arbitrary tree topology exactly one leader is elected. A large part of our verification has been checked mechanically with PVS, a verification system for higher-order logic.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. M. Archer and C. Heitmeyer, “Mechanical verification of timed automata: A case study, ” in Proceedings IEEE Real-Time Technology and Applications Symposium (RTAS'96), IEEE Computer Society Press, 1996.

  2. S. Bensalem, Y. Lakhnech, and H. Saidi, “Powerful techniques for the automatic generation of invariants, ” in R. Alur and T.A. Henzinger (Eds.), Proceedings of the 8th International Conference on Computer Aided Verification, New Brunswick, NJ, USA. Lecture Notes in Computer Science, Vol. 1102, Springer-Verlag, July/August 1996, pp. 323–335.

  3. C.-T. Chou, “Mechanical verification of distributed algorithms in higher-order logic, ” The Computer Journal, Vol. 38, No. 2, pp. 152–161, 1995.

    Google Scholar 

  4. M.C.A. Devillers, W.O.D. Griffioen, and O. Müller, “Possibly infinite sequences: A comparative case study, ” in E.L. Gunter and A. Felty (Eds.), 10th International Conference on Theorem Proving in Higher Order Logics (TPHOLs'97). Lecture Notes in Computer Science, Vol. 1275, Springer-Verlag, 1997, pp. 89–104.

  5. J.F. Groote and A. Ponse, “The syntax and semantics of μCRL, ” in A. Ponse, C. Verhoef, and S.F.M. van Vlijmen (Eds.), '94,Workshops in Computing Series, Springer-Verlag, 1995, pp. 26–62.

  6. W.O.D. Griffioen and F.W. Vaandrager, “Normed simulations, ” in A.J. Hu and M.Y. Vardi (Eds.), Proceedings of the 10th International Conference on Computer Aided Verification, Vancouver, BC, Canada. Lecture Notes in Computer Science, Vol. 1427, Springer-Verlag, June/July 1998, pp. 332–344.

  7. L. Helmink, M.P.A. Sellink, and F.W. Vaandrager, “Proof-checking a data link protocol, ” in H. Barendregt and T. Nipkow (Eds.), Proceedings International Workshop TYPES'93, Nijmegen, The Netherlands, May 1993. Lecture Notes in Computer Science, Vol. 806, Springer-Verlag, 1994, pp. 127–165.

  8. W.H. Hesselink, “A mechanical proof of Segall's PIF algorithm, ” Formal Aspects of Computing, Vol. 9, pp. 208–226, 1997.

    Google Scholar 

  9. W.H. Hesselink, “The verified incremental design of a distributed spanning tree algorithm–extended abstract, ” Formal Aspects of Computing, Vol. 11, pp. 45–55, 1999.

    Google Scholar 

  10. IEEE Computer Society, “IEEE standard for a high performance serial bus, ” Std 1394-1995, August 1996.

  11. L. Kühne, J. Hooman, and W.P. de Roever, “Towards mechanical verification of parts of the IEEE P1394 serial bus, ” in I. Lovrek (Ed.), Proceedings of the 2nd International Workshop on Applied Formal Methods in System Design, Zagreb, 1997, pp. 73–85.

  12. L. Lamport, “How to write a proof, ” Research Report 94, Digital Equipment Corporation, Systems Research Center, February 1993.

  13. N.A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, Inc., San Fransisco, California, 1996.

    Google Scholar 

  14. N.A. Lynch and M.R. Tuttle, “An introduction to input/output automata, ” CWI Quarterly, Vol. 2, No. 3, pp. 219–246, September 1989.

    Google Scholar 

  15. N.A. Lynch and F.W. Vaandrager, “Forward and backward simulations, I: Untimed systems, ” Information and Computation, Vol. 121, No. 2, pp. 214–233, September 1995.

    Google Scholar 

  16. S.P. Luttik, “Description and formal specification of the Link layer of P1394, ” in I. Lovrek (Ed.), Proceedings of the 2nd International Workshop on Applied Formal Methods in System Design, Zagreb, 1997, pp. 43–56. Also available as Report SEN-R9706, CWI, Amsterdam. See URL http://www.cwi.nl/~luttik/.

    Google Scholar 

  17. Z. Manna, A. Browne, H.B. Sipma, and T.E. Uribe, “Visual abstraction for temporal verification, ” in Proceedings AMAST'98. Lecture Notes in Computer Science, Springer-Verlag, 1998, pp. 28–41.

  18. O. Mueller, “A verification environment for I/O automata based on formalized meta-theory,” PhD Thesis, Technical University of Munich, 1998.

  19. O. Mueller and T. Nipkow, “Traces of I/O-automata in Isabelle/HOLCF, ” in M. Bidoit and M. Dauchet (Eds.), Proceedings TAPSOFT'97: Theory and Practice of Software Development, Lille, France. Lecture Notes in Computer Science, Vol. 1214, Springer-Verlag, April 1997, pp. 580–594.

  20. T. Nipkowand K. Slind, “I/O automata in Isabelle/HOL, ” in P. Dybjer, B. Nordström, and J. Smith (Eds.), Types for Proofs and Programs. Lecture Notes in Computer Science, Vol. 996, Springer-Verlag, 1995, pp. 101–119.

  21. S. Owre, J. Rushby, N. Shankar, and F. von Henke, “Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS, ” IEEE Transactions on Software Engineering, Vol. 21, No. 2, pp. 107–125, February 1995.

    Google Scholar 

  22. W.P. de Roever and K. Engelhardt, Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press, 1998. Cambridge Tracts in Theoretical Computer Science, Vol. 47.

  23. J.M.T. Romijn, “A timed verification of the IEEE 1394 leader election protocol, ” in S. Gnesi and D. Latella (Eds.), Proceedings of the Fourth International ERCIM Workshop on Formal Methods for Industrial Critical Systems (FMICS'99), 1999, pp. 3–29. Full version available from URL http:www.cs.kun.nl/~judi.

  24. C. Shankland and M.B. van der Zwaag, “The tree identify protocol of IEEE 1394 in μCRL, ” Formal Aspects of Computing, Vol. 10, pp. 509–531, 1998.

    Google Scholar 

  25. M. Sighireanu and R. Mateescu, “Verification of the link layer protocol of the IEEE-1394 serial bus (FireWire): an experiment with E-LOTOS, ” Springer International Journal on Software Tools for Technology Transfer (STTT), Vol. 2, No. 1, pp. 68–88, December 1998.

    Google Scholar 

  26. M.I.A. Stoelinga and F.W. Vaandrager, “Root contention in IEEE 1394, ” in J.-P. Katoen (Ed.), Proceedings 5th International AMAST Workshop on Formal Methods for Real-Time and Probabilistic Systems, Bamberg, Germany. Lecture Notes in Computer Science, Vol. 1601, Springer-Verlag, 1999, pp. 53–74.

  27. T.E.J. Vos, “UNITY in diversity: A stratified approach to the verification of distributed algorithms, ” Ph.D. Thesis, Utrecht University, January 2000.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Devillers, M., Griffioen, D., Romijn, J. et al. Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394. Formal Methods in System Design 16, 307–320 (2000). https://doi.org/10.1023/A:1008764923992

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008764923992

Navigation