Skip to main content

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

  • Conference paper
  • First Online:
Book cover Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 2250))

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer-Verlag, 1998.

    Google Scholar 

  2. R. R. J. Back and K. Sere. Stepwise refinement of parallel algorithms. Science of Computer Programming, 13:133–180, 1990.

    Article  MathSciNet  MATH  Google Scholar 

  3. R. R. J. Back and Q. Xu. Refinement of fair action systems. Acta Informatica, 35(11):131–165, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  4. P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.

    Google Scholar 

  5. T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2(3):155–173, Dec. 1982.

    Article  MATH  Google Scholar 

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

    Chapter  Google Scholar 

  8. R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning About Knowledge. MIT-Press, 1995.

    Google Scholar 

  9. R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Knowledge-based programs. Distributed Computing, 10(4):199–225, 1997.

    Article  Google Scholar 

  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.

    Article  MATH  Google Scholar 

  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. J. Y. Halpern. A note on knowledge-based programs and specifications. Distributed Computing, 13(3):145–153, 2000.

    Article  Google Scholar 

  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.

    Article  MATH  MathSciNet  Google Scholar 

  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. 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. 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. N. A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.

    Google Scholar 

  18. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.

    Google Scholar 

  19. C. C. Morgan. Programming from Specifications. Prentice Hall, 1990.

    Google Scholar 

  20. J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9(3):287–306, Dec. 1987.

    Article  MATH  MathSciNet  Google Scholar 

  21. Y. Moses. Knowledge in a distributed environment. PhD thesis, Stanford University, 1986.

    Google Scholar 

  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.

    Chapter  Google Scholar 

  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. 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. 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. N. Wirth. Program development by stepwise refinement. Communications of the ACM, 14:221–227, 1971.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Engelhardt, K., van der Meyden, R., Moses, Y. (2001). A Refinement Theory that Supports Reasoning about Knowledge and Time for Synchronous Agents. In: Nieuwenhuis, R., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2001. Lecture Notes in Computer Science(), vol 2250. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45653-8_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-45653-8_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42957-9

  • Online ISBN: 978-3-540-45653-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics