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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
J.R. Büchi and L.HG. Landweber. Solving sequential conditions by finite-state strategies. Trans. AMS, 138:295–311, 1969.
D.L. Dill. Trace theory for automatic hierarchical verification of speed independent circuits. MIT Press, 1989.
E.A. Emerson and E.M. Clarke. Using branching time logic to synthesize synchronization skeletons. Science of Computer Programming, 2:241–266, 1982.
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.
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.
R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning about Knowledge. MIT Press, Cambridge, Mass., 1995.
R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Knowledge-based programs. Distributed Computing, 10(4):199–225, 1997.
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.
J. Y. Halpern and Y. Moses. Knowledge and common knowledge in a distributed environment. Journal of the ACM, 37(3):549–587, 1990.
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.
R. Kumar and M.A. Shayman. Supervisory control of nondeterministic systems under partial observation and decentralization. SIAM Journal of Control and Optimization, 1995.
O. Kupferman and M.Y. Vardi. Synthesis with incomplete informatio. In 2nd International Conference on Temporal Logic, pages 91–106, Manchester, July 1997.
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.
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.
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.
D. Lehmann. Knowledge, common knowledge, and related puzzles. In Proc. 3rd ACM Symp. on Principles of Distributed Computing, pages 62–67, 1984.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, January 1992.
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.
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.
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.
D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54,:267–276, 1987.
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.
G.L. Peterson and J.H. Reif. Multiple-person alternation. In Proc. 20st IEEE Symposium on Foundation of Computer Science, pages 348–363, 1979.
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.
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.
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.
M. Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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