Skip to main content
Log in

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

  • Synthesis
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alpern B., Schneider F.B.: Defining liveness. Inf. Process. Lett. 21, 181–185 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alpern B., Schneider F.B.: Recognizing safety and liveness. Distrib. Comput. 2, 117–126 (1987)

    Article  MATH  Google Scholar 

  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. 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)

  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. Bernet J., Janin D., Walukiewicz I.: Permissive strategies: from parity games to safety games. RAIRO Theor. Inf. Appl. 36(3), 261–275 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  9. Carton O., Maceiras R.: Computing the Rabin index of a parity automaton. Theor. Inf. Appl. 33, 495–505 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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, 2010

  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)

  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)

  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)

  16. Horn, F.: Streett games on finite graphs. In: Workshop on Games in Design and Verification Edimburgh, UK, July 2005

  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)

  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)

  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)

  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)

  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)

  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)

  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. Kupferman, O., Vardi, M.Y.: Safraless decision procedures. In: Foundations of Computer Science, Pittsburgh, PA, pp. 531–542 (2005)

  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)

  26. Landweber L.H.: Decision problems for ω-automata. Math. Syst. Theory 3(4), 376–384 (1969)

    Article  MathSciNet  MATH  Google Scholar 

  27. Lindner, T.: Case Study “Production Cell”: A Comparative Study in Formal Software Development, chap. 2, pp. 9–21. FZI (1994)

  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)

  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)

  30. Martin D.A.: Borel determinacy. Ann. Math. Second Ser. 102, 363–371 (1975)

    Article  MATH  Google Scholar 

  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)

  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)

  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)

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

  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)

  38. Safra, S.: Complexity of Automata on Infinite Objects. PhD thesis, The Weizmann Institute of Science, March 1989

  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)

  40. Scott D.: Finite automata and their decision problems. IBM J. Res. Dev. 3, 114–125 (1959)

    Article  Google Scholar 

  41. Sistla A.P.: Safety, liveness and fairness in temporal logic. Formal Aspects Comput. 6, 495–511 (1994)

    Article  MATH  Google Scholar 

  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)

  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)

  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)

  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)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saqib Sohail.

Additional information

This work was supported in part by SRC contract 2010-TJ-1859.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sohail, S., Somenzi, F. Safety first: a two-stage algorithm for the synthesis of reactive systems. Int J Softw Tools Technol Transfer 15, 433–454 (2013). https://doi.org/10.1007/s10009-012-0224-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-012-0224-3

Keywords

Navigation