Skip to main content
Log in

A Timed Verification of the IEEE 1394 Leader Election Protocol

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

Abstract

The IEEE 1394 architecture standard defines a high performance serial multimedia bus that allows several components in a network to communicate with each other at high speed. In the physical layer of the architecture, a leader election protocol is used to find a spanning tree with a unique root in the network topology. If there is a cycle in the network, the protocol treats this as an error situation. This paper presents a formal model of the leader election protocol in the language IOA and a correctness proof. Hereby, it is shown that under certain timing restrictions the protocol behaves correctly. The timing parameters in the IEEE 1394 standard documentation obey the restrictions found in this proof.

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.

Similar content being viewed by others

References

  1. M. Archer, Personal communication, 1999.

  2. M. Archer and C. Heitmeyer, “Mechanical verification of timed automata: A case study,” in Proceedings 1996 IEEE Real-Time Technology and Applications Symposium (RTAS'96), 1996. A full version is available as Report NRL/MR/5540–98-8180, IEEE Computer Society Press from URL http://www.itd.nrl.navy. mil/ITD/5540/publications/CHACS/1998/.

  3. J. Davies and S. Schneider, “A brief history of timed CSP,” Theoretical Computer Science, Vol. 138, No. 10, pp. 243–271, 1995.

    Google Scholar 

  4. M. Devillers, W. Griffioen, J. Romijn, and F. Vaandrager, “Verification of a leader election protocol—Formal methods applied to IEEE 1394,” Formal Methods in System Design, Vol. 16, No. 3, pp. 307–320, 2000.

    Google Scholar 

  5. S. Garland, N. Lynch, and M. Vaziri, “IOA: A language for specifying, programming, and validating distributed systems,” 1997. Available through URL http://larch.lcs.mit.edu:8001/~garland/ ioaLanguage.html.

  6. R. Gawlick, R. Segala, J. Søgaard-Andersen, and N. Lynch, “Liveness in timed and untimed systems,” in S. Abiteboul and E. Shamir (Eds.), Proceedings 21th ICALP, Jerusalem, Vol. 820 of Lecture Notes in Computer Science. A full version appears as MIT Technical Report number MIT/LCS/TR-587, 1994.

  7. W. Griffioen and F. Vaandrager, “Normed simulations,” in Proceedings CAV'98, Vol. 1427 of Lecture Note in Computer Science, Springer-Verlag, pp. 332–344, 1998.

  8. J. Groote and A. Ponse, “The syntax and semantics of µCRL,” in A. Ponse, C. Verhoef, and S. van Vlijmen (Eds.), Algebra of Communicating Processes '94, Springer-Verlag, 1995.

  9. J. Groote and J. Springintveld, “Focus points and convergent pocess operators—A proof strategy for protocol verification,” in Journal of Logic and Algebraic Programming. To appear. Report versions; Logic Group Preprint Series 142, Utrecht University, 1995, and Technical Report CS-R9566, CWI, 1995.

  10. IEEE Computer Society, “IEEE Standard for a High Performance Serial Bus,” Std 1394-1995, 1996.

  11. IEEE Computer Society, “Draft Standard for a High Performance Serial Bus (Supplement),” P1394a Draft 5.0, 2000.

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

  13. L. Lamport, “How to write a long formula,” Formal Aspects of Computing, Vol. 6, pp. 580–584, 1994. Also appeared as SRC Research Report 119.

  14. K.G. Larsen, P. Petterson, and W. Yi, “UPPAAL in a nutshell,” Int. Journal on Software Tools for Technology Transfer, Vol. 1, Nos. 1–2, pp. 134–152, 1997.

    Google Scholar 

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

  16. N. Lynch, Distributed Algorithms, Morgan Kaufmann, Publishers, Inc., San Francisco, California, 1996.

    Google Scholar 

  17. N. Lynch and M. Tuttle, “Hierarchical correctness proofs for distributed algorithms,” in Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing, 1987, pp. 137–151. A full version is available as MIT Technical Report MIT/LCS/TR-387.

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

    Google Scholar 

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

    Google Scholar 

  20. N. Lynch and F. Vaandrager, “Forward and backward simulations, II: Timing-based systems,” Information and Computation, Vol. 128, No. 1, pp. 1–25, 1996.

    Google Scholar 

  21. Z. Manna and A. Pnueli, “Verifying Hybrid Systems” in R. Grossman, A. Nerode, A. Ravn, and H. Rischel (Eds.), Hybrid Systems, Vol. 736 of Lecture Notes in Computer Science, Springer-Verlag, pp. 4–35, 1993.

  22. Z. Manna and A. Pnueli, Temporal Verification of Reactive Systems: Safety, Springer-Verlag, 1995.

  23. S. Owre, J. Rushby, N. Shankar, and F.V. 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, 1995.

    Google Scholar 

  24. S. Schneider, “Timewise refinement for communicating processes,” Science of Computer Programming, Vol. 28, No.1, pp. 43–90, 1997.

    Google Scholar 

  25. R. Segala, “Modeling and verification of randomized distributed real-time systems,” Ph.D. Thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1995. Available as Technical Report MIT/LCS/TR-676.

  26. R. Segala and N. Lynch, “Probabilistic simulations for probabilistic processes,” Nordic Journal of Computing Vol. 2, No. 2, pp. 250–273, 1995.

    Google Scholar 

  27. C. Shankland and M.V.D. Zwaag, “The tree identify protocol of IEEE 1394 in µCRL,” Formal Aspects of Computing, Vol. 10, pp. 509–531, 1998.

    Google Scholar 

  28. 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, 1998.

    Google Scholar 

  29. D. Simons and M. Stoelinga, “Mechanical Verification of the IEEE 1394a Root Contention Protocol using Uppaal2k,” Technical report, University of Nijmegen, 2000. See URL http://www.cs.kun.nl/marielle.

  30. M. Stoelinga and F. 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 (ARTS'99), Bamberg, Germany, Vol. 1601 of Lecture Notes in Computer Science, 1999, pp. 53–74.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Romijn, J. A Timed Verification of the IEEE 1394 Leader Election Protocol. Formal Methods in System Design 19, 165–194 (2001). https://doi.org/10.1023/A:1011284000753

Download citation

  • Issue Date:

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

Navigation