Abstract
Games are useful in modular specification and analysis of systems where the distinction among the choices controlled by different components (for instance, the system and its environment) is made explicit. In this paper, we formulate and compare various symbolic computational techniques for deciding the existence of winning strategies. The game structure is given implicitly, and the winning condition is either a reachability game of the form “p until q” (for state predicates p and q) or a safety game of the form “Always p.”
For reachability games, the first technique employs symbolic fixed-point computation using ordered binary decision diagrams (BDDs) [9]. The second technique checks for the existence of strategies that ensure winning within k steps, for a user-specified bound k, by reduction to the satisfiability of quantified boolean formulas. Finally, the bounded case can also be solved by reduction to satisfiability of ordinary boolean formulas, and we discuss two techniques, one based on encoding the strategy tree and one based on encoding a witness subgraph, for reduction to Sat. We also show how some of these techniques can be adopted to solve safety games. We compare the various approaches by evaluating them on two examples for reachability games, and on an interface synthesis example for a fragment of TinyOS [15] for safety games. We use existing tools such as Mocha [4], Mucke [7], Semprop [19], Qube [12], and Berkmin [13] and contrast the results.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Alur R, de Alfaro L, Henzinger T, Mang F (1999) Automating modular verification. In: Proceedings of the 10th international conference on concurrency theory. Lecture notes in computer science, vol 1664. Springer, Berlin Heidelberg New York, pp 82–97
Alur R, Cerny P, Madhusudan P, Nam W (2005) Synthesis of interface specifications for Java classes. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL ’05, Long Beach, California, USA. ACM Press, pp 98–109. ISBN 1-58113-830-X, DOI http://doi.acm.org/10.1145/1040305.1040314
Alur R, Henzinger TA, Kupferman O (2002) Alternating-time temporal logic. J ACM 49(5):1–42
Alur R, Henzinger TA, Mang FYC, Qadeer S, Rajamani SK, Tasiran S (1998) Mocha: modularity in model checking. In: Proceedings of the 10th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1427. Springer, Berlin Heidelberg New York, pp 521–525
Arnold A, Niwinski D (2001) Rudiments of μ-calculus. Elsevier, Amsterdam
Bertoli P, Cimatti A, Pistore M, Roveri M, Traverso P (2001) MBP: a model-based planner. In: Proceedings of the IJCAI-2001 workshop on Planning under Uncertainty and Incomplete Information, Seattle, USA, August 2001, pp 93–97
Biere A (1997) μcke – efficient μ-calculus model checking. In: Proceedings of the 9th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1254. Springer, Berlin Heidelberg New York, pp 468–471
Biere A, Cimatti A, Clarke EM, Zhu Y (1999) Symbolic model checking without BDDs. In: Proceedings of the internationall conference on tools and algorithms for the analysis and construction of systems (TACAS’99). Lecture notes in computer science, vol 1579. Springer, Berlin Heidelberg New York, pp 193–207
Bryant RE (1986) Graph-based algorithms for boolean function manipulation. IEEE Trans Comput 35(8):677–691
Chakrabarti A, de Alfaro L, Henzinger TA, Jurdzinski M, Mang FYC (2002) Interface compatibility checking for software modules. In: Proceedings of the 14th internationall conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 428–441
Church A (1963) Logic, arithmetics, and automata. In: Proceedings of the international congress of mathematicians, 1962, Institut Mittag-Leffler, Djursholm, Sweden, pp 23–35
Giunchiglia E, Narizzano M, Tacchella A (2001) QUBE: A system for deciding quantified boolean formulas satisfiability. In: Proceedings of the international joint conference on automated reasoning (IJCAR’01), pp 364–369
Goldberg E, Novikov Y (2002) BerkMin: a fast and robust SAT solver. In: Proceedings of Design Automation and Test in Europe (DATE’02), pp 142–149
Gupta A, Ganai M, Wang C, Yang Z, Ashar PN (2003) Learning from BDDs in SAT-based bounded model checking. In: Proceedings of the 40th conference on Design automation (DAC ’03), Anaheim CA, USA. ACM Press, pp 824–829. ISBN 1-58113-688-9, DOI http://doi.acm.org/10.1145/775832.776040
Hill J, Szewczyk R, Woo A, Hollar S, Culler DE, Pister KSJ (2000) System Architecture Directions for Networked Sensors. Architectural Support for Programming Languages and Operating Systems, pp 93–104. citeseer.ist.psu.edu/382595.html
Jensen R, Veloso M (2000) OBDD-based universal planning for synchronized agents in non-deterministic domains. J Artif Intell Res 13:189–226
Junttila T (2003) Boolean circuit package version 0.20. http://www.tcs.hut.fi/∼tjunttil/circuits/index.html
Kupferman O, Vardi MY (1996) Module checking. In: Proceedings of the 8th internationall conference on computer-aided verification. Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 75–86
Lets R (2002) Lemma and model caching in decision procedures for quantified boolean formulas. In: Proceedings of Automated Reasoning with Analytic Tableaux and Related Methods. Lecture notes in computer science, vol 2381. Springer, Berlin Heidelberg New York, pp 160–175
McMillan KL (1993) Symbolic model checking. Kluwer, Dordrecht
McMillan KL (2002) Applying SAT methods in unbounded symbolic model checking. In: Proceedings of the 14th international conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 250–264
Moskewicz M, Madigan C, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient SAT solver. In: Proceedings of the 38th conference on design automation (DAC’01), pp 530–535
Ramadge PJG, Wonham WM (1989) The control of discrete event systems. Proc IEEE 77:81–98
Rintanen J (1999) Improvements to the evaluation of quantified boolean formulae. In: Proceedings of the 16th international joint conference on artificial intelligence. Morgan Kaufmann, San Francisco, pp 1192–1197
Rintanen J (1999) Constructing conditional plans by a theorem prover. J Artif Intell Res 10:323–352
Thomas W (2002) Infinite games and verification. In: Proceedings of the 14th internationall conference on computer-aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 58–64
Wallmeier N, Hütten P, Thomas W (2003) Symbolic synthesis of finite-state controllers for request-response specifications. In: Proceedings of the 8th internationall conference on the implementation and application of automata (CIAA’03). Lecture notes in computer science, vol 2759. Springer, Berlin Heidelberg New York, pp 11–22
Zhang L, Malik S (2002) Conflict driven learning in a quantified Boolean Satisfiability solver. In: Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design (ICCAD ’02), San Jose, California. ACM Press, pp 442–449. ISBN 0-7803-7607-2, DOI http://doi.acm.org/10.1145/774572.774637
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Alur, R., Madhusudan, P. & Nam, W. Symbolic computational techniques for solving games. Int J Softw Tools Technol Transfer 7, 118–128 (2005). https://doi.org/10.1007/s10009-004-0179-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-004-0179-0