A Refinement Theory that Supports Reasoning about Knowledge and Time for Synchronous Agents

  • Kai Engelhardt
  • Ron van der Meyden
  • Yoram Moses
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2250)


An expressive semantic framework for program refinement that supports both temporal reasoning and reasoning about the knowledge of multiple agents is developed. The refinement calculus owes the cleanliness of its decomposition rules for all programming language constructs and the relative simplicity of its semantic model to a rigid synchrony assumption which requires all agents and the environment to proceed in lockstep. The new features of the calculus are illustrated in a derivation of the two-phase-commit protocol.


Sequential Program Linear Time Temporal Logic Speci Cation Refinement Theory Program Fragment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer-Verlag, 1998.Google Scholar
  2. 2.
    R. R. J. Back and K. Sere. Stepwise refinement of parallel algorithms. Science of Computer Programming, 13:133–180, 1990.CrossRefMathSciNetzbMATHGoogle Scholar
  3. 3.
    R. R. J. Back and Q. Xu. Refinement of fair action systems. Acta Informatica, 35(11):131–165, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  5. 5.
    T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2(3):155–173, Dec. 1982.zbMATHCrossRefGoogle Scholar
  6. 6.
    K. Engelhardt, R. van der Meyden, and Y. Moses. Knowledge and the logic of local propositions. In I. Gilboa, editor, Theoretical Aspects of Rationality and Knowledge, Proceedings of the Seventh Conference (TARK 1998), pages 29–41. Morgan Kaufmann, July 1998.Google Scholar
  7. 7.
    K. Engelhardt, R. van der Meyden, and Y. Moses. A program refinement framework supporting reasoning about knowledge and time. In J. Tiuryn, editor, Foundations of Software Science and Computation Structures, volume 1784 of LNCS, pages 114–129. Springer-Verlag, Mar. 2000.CrossRefGoogle Scholar
  8. 8.
    R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning About Knowledge. MIT-Press, 1995.Google Scholar
  9. 9.
    R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Knowledge-based programs. Distributed Computing, 10(4):199–225, 1997.CrossRefGoogle Scholar
  10. 10.
    P. H. B. Gardiner and C. C. Morgan. A single complete rule for data refinement. Formal Aspects of Computing, 5(4):367–382, 1993.zbMATHCrossRefGoogle Scholar
  11. 11.
    V. Hadzilacos. A knowledge-theoretic analysis of atomic commitment protocols. In Proceedings 6th ACM Symposium on Principles of Database Systems, pages 129–134, 1987.Google Scholar
  12. 12.
    J. Y. Halpern. A note on knowledge-based programs and specifications. Distributed Computing, 13(3):145–153, 2000.CrossRefGoogle Scholar
  13. 13.
    J. Y. Halpern and Y. Moses. Knowledge and common knowledge in a distributed environment. Journal of the ACM, 37(3):549–587, July 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    J. Y. Halpern and Y. Moses. Using counterfactuals in knowledge-based programming. In I. Gilboa, editor, Theoretical Aspects of Rationality and Knowledge, Proceedings of the Seventh Conference (TARK 1998), pages 97–110, San Francisco, California, July 1998. Morgan Kaufmann.Google Scholar
  15. 15.
    I. Hayes. Separating timing and calculation in real-time refinement. In J. Grundy, M. Schwenke, and T. Vickers, editors, International Refinement Workshop and Formal Methods Pacific 1998, Discrete Mathematics and Theoretical Computer Science, pages 1–16. Springer-Verlag, 1998.Google Scholar
  16. 16.
    W. Janssen. Layers as knowledge transitions in the design of distributed systems. In U. H. Engberg, K. G. Larsen, and A. Skou, editors, Proceedings of the Workshop on Tools and Algorithms for the Construction and Analysis of Systems, TACAS (Aarhus, Denmark, 19–20 May, 1995), number NS-95-2 in Notes Series, pages 304–318, Department of Computer Science, University of Aarhus, May 1995. BRICS.Google Scholar
  17. 17.
    N. A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.Google Scholar
  18. 18.
    Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.Google Scholar
  19. 19.
    C. C. Morgan. Programming from Specifications. Prentice Hall, 1990.Google Scholar
  20. 20.
    J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9(3):287–306, Dec. 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Y. Moses. Knowledge in a distributed environment. PhD thesis, Stanford University, 1986.Google Scholar
  22. 22.
    Y. Moses and O. Kislev. Knowledge-oriented programming. In Proceeding of the 12th Annual ACM Symposium on Principles of Distributed Computing (PODC 93), pages 261–270, New York, USA, Aug. 1993. ACM Press.CrossRefGoogle Scholar
  23. 23.
    B. Sanders. A predicate transformer approach to knowledge and knowledge-based protocols. In Proceeding of the 10th Annual ACM Symposium on Principles of Distributed Computing (PODC 91), pages 217–230, 19–21 Aug. 1991.Google Scholar
  24. 24.
    M. Utting and C. Fidge. A real-time refinement calculus that changes only time. In H. Jifeng, J. Cooke, and P. Wallis, editors, BCS-FACS Seventh Refinement Workshop. Springer-Verlag, 1996.Google Scholar
  25. 25.
    R. van der Meyden and Y. Moses. On refinement and temporal annotations. In M. Joseph, editor, Formal Techniques in Real-Time and Fault-Tolerant Systems, 6th International Symposium, FTRTFT 2000 Pune, India, September 20–22, Proceedings, volume 1926 of LNCS. Springer-Verlag, 2000.Google Scholar
  26. 26.
    N. Wirth. Program development by stepwise refinement. Communications of the ACM, 14:221–227, 1971.zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Kai Engelhardt
    • 1
  • Ron van der Meyden
    • 1
  • Yoram Moses
    • 2
  1. 1.School of Computer Science and EngineeringThe University of New South WalesSydneyAustralia
  2. 2.Department of Electrical EngineeringTechnionHaifaIsrael

Personalised recommendations