Advertisement

Safety first: a two-stage algorithm for the synthesis of reactive systems

  • Saqib SohailEmail author
  • Fabio Somenzi
Synthesis

Abstract

In the game-theoretic approach to the synthesis of reactive systems, specifications are often expressed as ω-regular languages. Computing a winning strategy to an infinite game whose winning condition is an ω-regular language is then the main step in obtaining an implementation. Conjoining all the properties of a specification to obtain a monolithic game suffers from the doubly exponential determinization that is required. Despite the success of symbolic algorithms, the monolithic approach is not practical. Existing techniques achieve efficiency by imposing restrictions on the ω-regular languages they deal with. In contrast, we present an approach that achieves improvement in performance through the decomposition of the problem while still accepting the full set of ω-regular languages. Each property is translated into a deterministic ω-regular automaton explicitly while the two-player game defined by the collection of automata is played symbolically. Safety and persistence properties usually make up the majority of a specification. We take advantage of this by solving the game incrementally. Each safety and persistence property is used to gradually construct the parity game. Optimizations are applied after each refinement of the graph. This process produces a compact symbolic encoding of the parity game. We then compose the remaining properties and solve one final game after possibly solving smaller games to further optimize the graph. An implementation is finally derived from the winning strategies computed. We compare the results of our tool to those of the synthesis tool Anzu.

Keywords

LTL games Parity games Reactive systems LTL synthesis Safety first Automatic synthesis 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alpern B., Schneider F.B.: Defining liveness. Inf. Process. Lett. 21, 181–185 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Alpern B., Schneider F.B.: Recognizing safety and liveness. Distrib. Comput. 2, 117–126 (1987)CrossRefzbMATHGoogle Scholar
  3. 3.
    Brayton R.K. et al.: VIS: a system for verification and synthesis. In: Henzinger, T., Alur, R. (eds) Eighth Conference on Computer Aided Verification (CAV’96) LNCS vol 1102., pp. 428–432. Springer, Rutgers University (1996)Google Scholar
  4. 4.
    Bloem, R., Galler, S., Jobstmann, B., Piterman, N., Pnueli, A., Weiglhofer, M.: Automatic hardware synthesis from specifications: a case study. In: Proceedings of the Design, Automation and Test in Europe, pp. 1188–1193 (2007)Google Scholar
  5. 5.
    Bloem, R., Galler, S., Jobstmann, B., Piterman, N., Pnueli, A., Weiglhofer, M.: Specify, compile, run: hardware form PSL. In: 6th International Workshop on Compiler Optimization Meets Compiler Verification 2007. Electronic Notes in Theoretical Computer Science. http://www.entcs.org/
  6. 6.
    Bernet J., Janin D., Walukiewicz I.: Permissive strategies: from parity games to safety games. RAIRO Theor. Inf. Appl. 36(3), 261–275 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Büchi, J.R.: On a decision method in restricted second order arithmetic. In: Proceedings of the 1960 International Congress on Logic, Methodology, and Philosophy of Science, pp. 1–11. Stanford University Press (1962)Google Scholar
  8. 8.
    Chatterjee, K., Henzinger, T.A., Piterman, N.: Generalized parity games. In: 10th International Conference on Foundations of Software Science and Computation Structures. LNCS, vol. 4423, pp. 153–167. Springer, Berlin (2007)Google Scholar
  9. 9.
    Carton O., Maceiras R.: Computing the Rabin index of a parity automaton. Theor. Inf. Appl. 33, 495–505 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Emerson, E.A., Jutla, C.S.: Tree automata, mu-calculus and determinacy. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, pp. 368–377 (1991)Google Scholar
  11. 11.
    Emmanuel, F., Jin, N., Raskin, J.-F.: An antichain algorithm for LTL realizability. In: Proceedings of the 21st International Conference on Computer Aided Verification, pp. 263–277 (2009)Google Scholar
  12. 12.
    Filiot, Emmanuel, Jin, Nayiong, Raskin, Jean-François: Compositional algorithms for LTL synthesis. In Proceedings of the 8th international conference on Automated technology for verification and analysis. LNCS, vol. 6252, pp. 112–127, 2010Google Scholar
  13. 13.
    Godhal, Y., Chatterjee, K., Henzinger, T.: Synthesis of amba ahb from formal specification: a case study. Int. J. Softw. Tools Technol. Transf. (STTT), 1–17, (2011)Google Scholar
  14. 14.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Protocol Specification, Testing, and Verification, pp. 3–18. Chapman & Hall, London (1995)Google Scholar
  15. 15.
    Henzinger, T., Kupferman, O., Rajamani, S.: Fair simulation. In: Proceedings of the 9th International Conference on Concurrency Theory (CONCUR’97). LNCS, vol. 1243, pp. 273–287. Springer, Berlin (1997)Google Scholar
  16. 16.
    Horn, F.: Streett games on finite graphs. In: Workshop on Games in Design and Verification Edimburgh, UK, July 2005Google Scholar
  17. 17.
    Henzinger, T.A., Piterman, N.: Solving games without determinization. In: 15th Conference on Computer Science Logic, Szeged, Hungary. LNCS, vol. 4207, pp. 394–409 (2006)Google Scholar
  18. 18.
    Harding, A., Ryan, M., Schobbens, P.Y.: A new algorithm for strategy synthesis in LTL games. In: Tools and Algorithms for the Construction and Analysis of Systems, Edinburgh, UK. LNCS, vol. 3440, pp. 477–492 (2005)Google Scholar
  19. 19.
    Jurdziński, M., Paterson, M., Zwick, U.: A deterministic subexponential algorithm for solving parity games. In: Proceedings of ACM-SIAM Symposium on Discrete Algorithms, SODA 2006, Miami, FL, pp. 117–123 (2006)Google Scholar
  20. 20.
    Jurdziński, M.: Small progress measures for solving parity games. In: STACS 2000, 17th Annual Symposium on Theoretical Aspects of Computer Science, Lille, France. LNCS, vol. 1770, pp. 290–301. Springer, Berlin (2000)Google Scholar
  21. 21.
    Klein, U., Pnueli, A.: Revisiting synthesis of GR(1) specifications. In: Barner, S., Kroening, D., Raz, O. (eds) Proceeding of the 6th International Haifa Verification Conference (HVC ’10). LNCS, vol. 6504, pp. 161–181 (2011)Google Scholar
  22. 22.
    Kupferman, O., Piterman, N., Vardi, M.Y.: Safraless compositional synthesis. In: Eighteenth Conference on Computer Aided Verification. LNCS, vol. 4144, pp. 31–44 (2006)Google Scholar
  23. 23.
    Kupferman O., Vardi M.Y.: Model checking of safety properties. In: Halbwachs, N., Peled, D. (eds) Eleventh Conference on Computer Aided Verification (CAV’99) LNCS vol 1633., pp. 172–183. Springer, Berlin (1999)Google Scholar
  24. 24.
    Kupferman, O., Vardi, M.Y.: Safraless decision procedures. In: Foundations of Computer Science, Pittsburgh, PA, pp. 531–542 (2005)Google Scholar
  25. 25.
    Löding, C.: Optimal bounds for transformations of ω-automata. In: Proceedings of the 19th Conference on Foundations of Software Technology and Theoretical Computer Science, 1999. LNCS, vol. 1738 (1999)Google Scholar
  26. 26.
    Landweber L.H.: Decision problems for ω-automata. Math. Syst. Theory 3(4), 376–384 (1969)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Lindner, T.: Case Study “Production Cell”: A Comparative Study in Formal Software Development, chap. 2, pp. 9–21. FZI (1994)Google Scholar
  28. 28.
    Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, New Orleans, pp. 97–107 (1985)Google Scholar
  29. 29.
    Löding, C., Thomas, W.: Alternating automata and logics over infinite words. In: Theoretical Computer Science (TCS 2000). LNCS, vol. 1872, pp. 521–535. Springer, Berlin (2000)Google Scholar
  30. 30.
    Martin D.A.: Borel determinacy. Ann. Math. Second Ser. 102, 363–371 (1975)CrossRefzbMATHGoogle Scholar
  31. 31.
    Mostowski, A.W.: Regular expressions for infinite trees and a standard form of automata. In: Skowron, A. (ed.) Computation Theory. LNCS, vol. 208, pp. 157–168. Springer, Berlin (1984)Google Scholar
  32. 32.
    Manna, Z., Pnueli, A.: A hierarchy of temporal properties. In: Annual ACM Symposium on Principles of Distributed Computing, Quebec City, Quebec, Canada, pp. 377–410 (1990)Google Scholar
  33. 33.
    Morgenstern, A., Schneider, K.: Exploiting the temporal logic hierarchy and the non-confluence property for efficient LTL synthesis. In: Games, Automata, Logics, and Formal Verification (GandALF). Electronic Proceedings in Theoretical Computer Science (EPTCS), Minori, Italy, vol. 25, pp. 89–102 (2010)Google Scholar
  34. 34.
    Muller D.E., Saoudi A., Schupp P.: Alternating automata, the weak monadic theory of trees and its complexity. Theor. Comput. Sci. 97, 233–244 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Piterman, N.: From nondeterministic Büchi and Streett automata to deterministic parity automata. In: 21st Symposium on Logic in Computer Science, Seattle, WA, pp. 255–264 (2006)Google Scholar
  36. 36.
    Piterman, N., Pnueli, A., Saár, Y.: Synthesis of reactive(1) designs. In: 7th International Conference on Verification, Model Checking and Abstract Interpretation. LNCS, vol. 3855, pp. 364–380. Springer, Berlin (2006)Google Scholar
  37. 37.
    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proceedings of Symposium on Principles of Programming Languages (POPL ’89), pp. 179–190 (1989)Google Scholar
  38. 38.
    Safra, S.: Complexity of Automata on Infinite Objects. PhD thesis, The Weizmann Institute of Science, March 1989Google Scholar
  39. 39.
    Somenzi, F., Bloem, R.: Efficient Büchi automata from LTL formulae. In: Emerson, E.A., Sistla, A.P. (eds.) Twelfth Conference on Computer Aided Verification (CAV’00). LNCS, vol. 1855, pp. 248–263. Springer, Berlin (2000)Google Scholar
  40. 40.
    Scott D.: Finite automata and their decision problems. IBM J. Res. Dev. 3, 114–125 (1959)CrossRefGoogle Scholar
  41. 41.
    Sistla A.P.: Safety, liveness and fairness in temporal logic. Formal Aspects Comput. 6, 495–511 (1994)CrossRefzbMATHGoogle Scholar
  42. 42.
    Sohail, S., Somenzi, F., Ravi, K.: A hybrid algorithm for LTL games. In: Verification, Model Checking and Abstract Interpretation, San Francisco, CA. LNCS, vol. 4905, pp. 309–323 (2008)Google Scholar
  43. 43.
    Thomas, W.: On the synthesis of strategies in infinite games. In: Proceedings of the 12th Annual Symposium on Theoretical Aspects of Computer Science. LNCS, vol. 900, pp. 1–13. Springer, Berlin (1995)Google Scholar
  44. 44.
    Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths. In: Proceedings of the 24th IEEE Symposium on Foundations of Computer Science, pp. 185–194 (1983)Google Scholar
  45. 45.
    Zielonka W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theor. Comput. Sci. 200(1–2), 135–183 (1998)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.University of Colorado at BoulderBoulderUSA

Personalised recommendations