Skip to main content

Knowledge-Based Synthesis of Distributed Systems Using Event Structures

  • Conference paper
Book cover Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2005)

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

Abstract

To produce a program guaranteed to satisfy a given specification one can synthesize it from a formal constructive proof that a computation satisfying that specification exists. This process is particularly effective if the specifications are written in a high-level language that makes it easy for designers to specify their goals. We consider a high-level specification language that results from adding knowledge to a fragment of Nuprl specifically tailored for specifying distributed protocols, called event theory. We then show how high-level knowledge-based programs can be synthesized from the knowledge-based specifications using a proof development system such as Nuprl. Methods of Halpern and Zuck [15] then apply to convert these knowledge-based protocols to ordinary protocols. These methods can be expressed as heuristic transformation tactics in Nuprl.

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. Aho, A.V., Ullman, J.D., Wyner, A.D., Yannakakis, M.: Bounds on the size and transmission rate of communication protocols. Computers and Mathematics with Applications 8(3), 205–214 (1982), This is a later version of [2]

    Article  MathSciNet  MATH  Google Scholar 

  2. Aho, A.V., Ullman, J.D., Yannakakis, M.: Modeling communication protocols by automata. In: Proc. 20th IEEE Symp. on Foundations of Computer Science, pp. 267–273 (1979)

    Google Scholar 

  3. Bartlett, K.A., Scantlebury, R.A., Wilkinson, P.T.: A note on reliable fullduplex transmission over half-duplex links. Communications of the ACM 12, 260–261 (1969)

    Article  Google Scholar 

  4. Bates, J.L., Constable, R.L.: Proofs as programs. ACM Transactions on Programming Languages and Systems 7(1), 53–71 (1985)

    Article  Google Scholar 

  5. Bickford, M., Constable, R.L.: A logic of events. Technical Report TR2003-1893, Cornell University (2003)

    Google Scholar 

  6. Bickford, M., Kreitz, C., van Renesse, R., Liu, X.: Proving hybrid protocols correct. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, pp. 105–120. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley, Reading (1988)

    MATH  Google Scholar 

  8. Constable, R.L.: Naïve computational type theory. In: Schwichtenberg, H., Steinbrüggen, R. (eds.) Proof and System-Reliability, Proceedings of International Summer School Marktoberdorf, Amsterdam, July 24 - August 5, 2001. NATO Science Series III, vol. 62, pp. 213–260. Kluwer Academic Publishers, Dordrecht (2002)

    Google Scholar 

  9. Constable, R.L., et al.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)

    Google Scholar 

  10. Dwork, C., Moses, Y.: Knowledge and common knowledge in a Byzantine environment: crash failures. Information and Computation 88(2), 156–186 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  11. Engelhardt, K., van der Meyden, R., Moses, Y.: A program refinement framework supporting reasoning about knowledge and time. In: Tiuryn, J. (ed.) FOSSACS 2000. LNCS, vol. 1784, pp. 114–129. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  12. Engelhardt, K., van der Meyden, R., Moses, Y.: A refinement theory that supports reasoning about knowledge and time for synchronous agents. In: Proc. Int. Conf. on Logic for Programming, Artificial Intelligence, and Reasoning, pp. 125–141. Springer, Berlin (2001)

    Chapter  Google Scholar 

  13. Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about Knowledge. MIT Press, Cambridge (1995)

    MATH  Google Scholar 

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

    Article  Google Scholar 

  15. Halpern, J.Y., Zuck, L.D.: A little knowledge goes a long way: knowledge-based derivations and correctness proofs for a family of protocols. Journal of the ACM 39(3), 449–478 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  16. Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  17. Lynch, N., Tuttle, M.: An introduction to Input/Output automata. Centrum voor Wiskunde en Informatica 2(3), 219–246 (1989)

    MathSciNet  MATH  Google Scholar 

  18. Panangaden, P., Taylor, S.: Concurrent common knowledge: defining agreement for asynchronous systems. Distributed Computing 6(2), 73–93 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  19. Sanders, B.: A predicate transformer approach to knowledge and knowledge-based protocols. In: Proc. 10th ACM Symp. on Principles of Distributed Computing, pp. 217–230 (1991); A revised report appears as ETH Informatik Technical Report 181 (1992)

    Google Scholar 

  20. Stenning, M.V.: A data transfer protocol. Comput. Networks 1, 99–110 (1976)

    Google Scholar 

  21. Stulp, F., Verbrugge, R.: A knowledge-based algorithm for the Internet protocol (TCP). Bulletin of Economic Research 54(1), 69–94 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bickford, M., Constable, R.C., Halpern, J.Y., Petride, S. (2005). Knowledge-Based Synthesis of Distributed Systems Using Event Structures. In: Baader, F., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2005. Lecture Notes in Computer Science(), vol 3452. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-32275-7_30

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-32275-7_30

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25236-8

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics