A Program Refinement Framework Supporting Reasoning about Knowledge and Time
This paper develops a highly expressive semantic framework for program refinement that supports both temporal reasoning and reasoning about the knowledge of a single agent. The framework generalizes a previously developed temporal refinement framework by amalgamating it with a logic of quantified local propositions, a generalization of the logic of knowledge. The combined framework provides a formal setting for development of knowledge-based programs, and addresses two problems of existing theories of such programs: lack of compositionality and the fact that such programs often have only implementations of high computational complexity. Use of the framework is illustrated by a control theoretic example concerning a robot operating with an imprecise position sensor.
KeywordsHigh Computational Complexity Propositional Variable Program Variable Goal Region Temporal Reasoning
- 1.R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer-Verlag, 1998.Google Scholar
- 3.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
- 4.R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning About Knowledge. MIT-Press, 1995.Google Scholar
- 7.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
- 8.Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.Google Scholar
- 9.C. C. Morgan. Programming from Specifications. Prentice Hall, 1990.Google Scholar
- 11.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.Google Scholar
- 13.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
- 14.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
- 15.R. van der Meyden. Knowledge based programs: On the complexity of perfect recall in finite environments. In Y. Shoham, editor, Proceedings of the Sixth Conference on Theoretical Aspects of Rationality and Knowledge, pages 31–50. Morgan Kaufmann, Mar. 17–20 1996.Google Scholar
- 16.R. van der Meyden and Y. Moses. On refinement and temporal annotations. http://www.cse.unsw.edu.au/~meyden/research/temprefine.ps.
- 17.R. van der Meyden and Y. Moses. Top-down considerations on distributed systems. In Proceedings 12th International Symposium on Distributed Computing, DISC’98, volume 1499 of LNCS, pages 16–19, Sept. 1998. Springer-Verlag.Google Scholar
- 18.M. Y. Vardi. Implementing knowledge-basd programs. In Y. Shoham, editor, Proceedings of the Sixth Conference on Theoretical Aspects of Rationality and Knowledge, pages 15–30. Morgan Kaufmann, Mar. 17–20 1996.Google Scholar