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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer-Verlag, 1998.
R. R. J. Back and K. Sere. Stepwise refinement of parallel algorithms. Science of Computer Programming, 13:133–180, 1990.
R. R. J. Back and Q. Xu. Refinement of fair action systems. Acta Informatica, 35(11):131–165, 1998.
P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
T. Elrad and N. Francez. Decomposition of distributed programs into communication-closed layers. Science of Computer Programming, 2(3):155–173, Dec. 1982.
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.
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.
R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning About Knowledge. MIT-Press, 1995.
R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Knowledge-based programs. Distributed Computing, 10(4):199–225, 1997.
P. H. B. Gardiner and C. C. Morgan. A single complete rule for data refinement. Formal Aspects of Computing, 5(4):367–382, 1993.
V. Hadzilacos. A knowledge-theoretic analysis of atomic commitment protocols. In Proceedings 6th ACM Symposium on Principles of Database Systems, pages 129–134, 1987.
J. Y. Halpern. A note on knowledge-based programs and specifications. Distributed Computing, 13(3):145–153, 2000.
J. Y. Halpern and Y. Moses. Knowledge and common knowledge in a distributed environment. Journal of the ACM, 37(3):549–587, July 1990.
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.
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.
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.
N. A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.
C. C. Morgan. Programming from Specifications. Prentice Hall, 1990.
J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9(3):287–306, Dec. 1987.
Y. Moses. Knowledge in a distributed environment. PhD thesis, Stanford University, 1986.
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.
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.
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.
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.
N. Wirth. Program development by stepwise refinement. Communications of the ACM, 14:221–227, 1971.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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