Specifying and verifying fault-tolerant systems

  • Leslie Lamport
  • Stephan Merz
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 863)

Abstract

We formally specify a well known solution to the Byzantine generals problem and give a rigorous, hierarchically structured proof of its correctness. We demonstrate that this is an engineering exercise, requiring no new scientific ideas.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Martín Abadi and Leslie Lamport. The existence of refinement mappings. Theoretical Computer Science, 82(2):253–284, May 1991.Google Scholar
  2. 2.
    Martín Abadi and Leslie Lamport. An old-fashioned recipe for real time. Research Report 91, Digital Equipment Corporation, Systems Research Center, 1992. An earlier version, without proofs, appeared in [6, pages 1–27].Google Scholar
  3. 3.
    Martín Abadi and Leslie Lamport. Conjoining specifications. Research Report 118, Digital Equipment Corporation, Systems Research Center, 1993. To appear in ACM Transactions on Programming Languages and Systems.Google Scholar
  4. 4.
    E. A. Ashcroft. Proving assertions about parallel programs. Journal of Computer and System Sciences, 10:110–135, February 1975.Google Scholar
  5. 5.
    K. Mani Chandy and Jayadev Misra. Parallel Program Design. Addison-Wesley, Reading, Massachusetts, 1988.Google Scholar
  6. 6.
    J. W. de Bakker, C. Huizing, W. P. de Roever, and G. Rozenberg, editors. RealTime: Theory in Practice, volume 600 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1992. Proceedings of a REX Real-Time Workshop, held in The Netherlands in June, 1991.Google Scholar
  7. 7.
    Urban Engberg, Peter GrØnning, and Leslie Lamport. Mechanical verification of concurrent systems with TLA. In Computer-Aided Verification, Lecture Notes in Computer Science, Berlin, Heidelberg, New York, June 1992. Springer-Verlag. Proceedings of the Fourth International Conference, CAV'92.Google Scholar
  8. 8.
    C. A. R. Hoare. Communicating Sequential Processes. Series in Computer Science. Prentice-Hall International, London, 1985.Google Scholar
  9. 9.
    Reino Kurki-Suonio. Operational specification with joint actions: Serializable databases. Distributed Computing, 6(1):19–37, 1992.Google Scholar
  10. 10.
    Simon S. Lam and A. Udaya Shankar. Protocol verification via projections. IEEE Transactions on Software Engineering, SE-10(4):325–342, July 1984.Google Scholar
  11. 11.
    Simon S. Lam and A. Udaya Shankar. Specifying modules to satisfy interfaces: A state transition system approach. Distributed Computing, 6(1):39–63, 1992.Google Scholar
  12. 12.
    Leslie Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems, 5(2):190–222, April 1983.Google Scholar
  13. 13.
    Leslie Lamport. The temporal logic of actions. Research Report 79, Digital Equipment Corporation, Systems Research Center, December 1991. To appear in ACM Transactions on Programming Languages and Systems.Google Scholar
  14. 14.
    Leslie Lamport. How to write a proof. Research Report 94, Digital Equipment Corporation, Systems Research Center, February 1993. To appear in American Mathematical Monthly.Google Scholar
  15. 15.
    Leslie Lamport. Hybrid systems in TLA+. In Robert L. Grossman, Anil Nerode, Anders P. Ravn, and Hans Rischel, editors, Hybrid Systems, volume 736 of Lecture Notes in Computer Science, pages 77–102, Berlin, Heidelberg, 1993. Springer-Verlag.Google Scholar
  16. 16.
    Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems, 4(3):382–401, July 1982.Google Scholar
  17. 17.
    Nancy Lynch and Mark Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proceedings of the Sixth Symposium on the Principles of Distributed Computing, pages 137–151. ACM, August 1987.Google Scholar
  18. 18.
    Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, New York, 1991.Google Scholar
  19. 19.
    Jayadev Misra and K. Mani Chandy. Proofs of networks of processes. IEEE Transactions on Software Engineering, SE-7(4):417–426, July 1981.Google Scholar
  20. 20.
    Peter G. Neumann and Leslie Lamport. Highly dependable distributed systems. Technical report, SRI International, June 1983. Contract Number DAEA18-81-G-0062, SRI Project 4180.Google Scholar

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  • Leslie Lamport
    • 1
  • Stephan Merz
    • 1
  1. 1.Systems Research CenterDigital Equipment CorporationUSA

Personalised recommendations