Skip to main content

Synthesis from knowledge-based specifications

Extended abstract

  • Conference paper
  • First Online:
CONCUR'98 Concurrency Theory (CONCUR 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1466))

Included in the following conference series:

Abstract

In program synthesis, we transform a specification into a program that is guaranteed to satisfy the specification. In synthesis of reactive systems, the environment in which the program operates may behave nondeterministically, e.g., by generating different sequences of inputs in different runs of the system. To satisfy the specification, the program needs to act so that the specification holds in every computation generated by its interaction with the environment. Often, the program cannot observe all attributes of its environment. In this case, we should transform a specification into a program whose behavior depends only on the observable history of the computation. This is called synthesis with incomplete information. In such a setting, it is desirable to have a knowledge-based specification, which can refer to the uncertainty the program has about the environment's behavior. In this work we solve the problem of synthesis with incomplete information with respect to specifications in the logic of knowledge and time. We show that the problem has the same worst-case complexity as synthesis with complete information.

Work begun while both authors were visitors at the DIMACS Special Year on Logic and Algorithms. Work of the first author supported by an Australian Research Council Large Grant. Work of the second author supported in part by NSF grants CCR-9628400 and CCR-9700061, and by a grant from the Intel Corporation. Thanks to Kai Engelhardt and Yoram Moses for their comments on earlier versions of this paper.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable concurrent program specifications. In Proc. 16th Int. Colloquium on Automata, Languages and Programming, volume 372, pages 1–17. Lecture Notes in Computer Science, Springer-Verlag, July 1989.

    Google Scholar 

  2. A. Anuchitanukul and Z. Manna. Realizability and synthesis of reactive modules. In Computer-Aided Verification, Proc. 6th Int'l Conference, pages 156–169, Stanford, California, June 1994. Springer-Verlag, Lecture Notes in Computer Science 818.

    Google Scholar 

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

    Article  Google Scholar 

  4. I. Beer, S. Ben-David, D. Geist, R. Gewirtzman, and M. Yoeli. Methodology and system for practical formal verification of reactive hardware. In Proc. 6th Conference on Computer Aided Verification, volume 818 of Lecture Notes in Computer Science, pages 182–193, Stanford, June 1994.

    Google Scholar 

  5. J.R. Büchi. On a decision method in restricted second order arithmetic. In Proc. Internat. Congr. Logic, Method and Philos. Sci. 1960, pages 1–12, Stanford, 1962. Stanford University Press.

    Google Scholar 

  6. J.R. Büchi and L.HG. Landweber. Solving sequential conditions by finite-state strategies. Trans. AMS, 138:295–311, 1969.

    Article  Google Scholar 

  7. D.L. Dill. Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press, 1989.

    Google Scholar 

  8. E.A. Emerson and E.M. Clarke. Using branching time logic to synthesize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.

    Article  MATH  Google Scholar 

  9. E.A. Emerson and J.Y. Halpern. Sometimes and not never revisited: On branching versus linear time. Journal of the ACM, 33(1):151–178, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  10. E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proc. 29th IEEE Symposium on Foundations of Computer Science, pages 368–377, White Plains, October 1988.

    Google Scholar 

  11. R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning about Knowledge. MIT Press, Cambridge, Mass., 1995.

    Google Scholar 

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

    Article  Google Scholar 

  13. J. Y. Halpern. Using reasoning about knowledge to analyze distributed systems. In J. F. Traub, B. J. Grosz, B. W. Lampson, and N. J. Nilsson, editors, Annual Review of Computer Science, Vol. 2, pages 37–68. Annual Reviews Inc., Palo Alto, Calif., 1987.

    Google Scholar 

  14. J. Y. Halpern and Y. Moses. Knowledge and common knowledge in a distributed environment. Journal of the ACM, 37(3):549–587, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  15. J. Y. Halpern and L. D. Zuck. 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  MATH  MathSciNet  Google Scholar 

  16. R. Kumar and M.A. Shayman. Supervisory control of nondeterministic systems under partial observation and decentralization. SIAM Journal of Control and Optimization, 1995.

    Google Scholar 

  17. O. Kupferman and M.Y. Vardi. Synthesis with incomplete informatio. In 2nd International Conference on Temporal Logic, pages 91–106, Manchester, July 1997.

    Google Scholar 

  18. O. Kupferman and M.Y. Vardi. Weak alternating automata and tree automata emptiness. In Proc. 30 ACM Symp. on Theory of Computing, pages 224–233, 1998.

    Google Scholar 

  19. R. E. Ladner and J. H. Reif. The logic of distributed protocols (preliminary report). In J. Y. Halpern, editor, Theoretical Aspects of Reasoning about Knowledge: Proc. 1986 Conference, pages 207–222. Morgan Kaufmann, San Francisco, Calif., 1986.

    Google Scholar 

  20. L. Lamport. “Sometimes” is sometimes “not never”: on the temporal logic of programs. In Proc. 7th ACM Symp. on Principles of Programming Languages, pages 164–185, 1980.

    Google Scholar 

  21. D. Lehmann. Knowledge, common knowledge, and related puzzles. In Proc. 3rd ACM Symp. on Principles of Distributed Computing, pages 62–67, 1984.

    Google Scholar 

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

    Google Scholar 

  23. Z. Manna and P. Wolper. Synthesis of communicating processes from temporal logic specifications. ACM Transactions on Programming Languages and Systems, 6(1):68–93, January 1984.

    Article  MATH  Google Scholar 

  24. R. van der Meyden. Finite state implementations of knowledge-based programs. In Proceedings of the Conference on Foundations of Software Technology and Theoretical Computer Science, Springer LNCS No. 1180, pages 262–273, Hyderabad, India, December 1996.

    Google Scholar 

  25. R. van der Meyden. Knowledge based programs: On the complexity of perfect recall in finite environments (extended abstract). In Proceedings of the Conference on Theoretical Aspects of Rationality and Knowledge, pages 31–50, 1996.

    Google Scholar 

  26. D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  27. D.E. Muller and P.E. Schupp. Simulating aternating tree automata by nondeterministic automata: New results and new proofs of theorems of Rabin, McNaughton and Safra. Theoretical Computer Science, 141:69–107, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  28. G.L. Peterson and J.H. Reif. Multiple-person alternation. In Proc. 20st IEEE Symposium on Foundation of Computer Science, pages 348–363, 1979.

    Google Scholar 

  29. A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. 16th ACM Symposium on Principles of Programming Languages, Austin, January 1989.

    Google Scholar 

  30. A. Pnueli and R. Rosner. On the synthesis of an asynchronous reactive module. In Proc. 16th Int. Colloquium on Automata, Languages and Programming, volume 372, pages 652–671. Lecture Notes in Computer Science, Springer-Verlag, July 1989.

    Google Scholar 

  31. A. Pnueli and R. Rosner. Distributed reactive systems are hard to synthesize. In Proc. 31st IEEE Symposium on Foundation of Computer Science, pages 746–757, 1990.

    Google Scholar 

  32. M. Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  33. M.Y. Vardi. An automata-theoretic approach to fair realizability and synthesis. In P. Wolper, editor, Computer Aided Verification, Proc. 7th Int'l Conf., volume 939 of Lecture Notes in Computer Science, pages 267–292. Springer-Verlag, Berlin, 1995.

    Google Scholar 

  34. M.Y. Vardi. Alternating automata — unifying truth and validity checking for temporal logics. In W. McCune, editor, Proc. 14th International Conference on Automated Deduction, volume 1249 of Lecture Notes in Artificial Intelligence, pages 191–206. Springer-Verlag, Berlin, July 1997.

    Google Scholar 

  35. H. Wong-Toi and D.L. Dill. Synthesizing processes and schedulers from temporal specifications. In E.M. Clarke and R.P. Kurshan, editors, Computer-Aided Verification'90, volume 3 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pages 177–186. AMS, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Davide Sangiorgi Robert de Simone

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van der Meyden, R., Vardi, M.Y. (1998). Synthesis from knowledge-based specifications. In: Sangiorgi, D., de Simone, R. (eds) CONCUR'98 Concurrency Theory. CONCUR 1998. Lecture Notes in Computer Science, vol 1466. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055614

Download citation

  • DOI: https://doi.org/10.1007/BFb0055614

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64896-3

  • Online ISBN: 978-3-540-68455-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics