Advertisement

Formal Methods in System Design

, Volume 40, Issue 2, pp 232–262 | Cite as

Symbolic bounded synthesis

  • Rüdiger EhlersEmail author
Article

Abstract

Synthesizing finite-state systems from full linear-time temporal logic (LTL) is an ambitious way to tackle the challenge of constructing correct-by-construction systems. One particularly promising approach in this context is bounded synthesis, originally proposed by Schewe and Finkbeiner, which in turn builds upon Safraless synthesis, as described by Kupferman and Vardi. Previous implementations of these approaches performed the computation either in an explicit way or used symbolic data structures other than binary decision diagrams (BDDs). In this paper, we reconsider BDDs as state space representation and use it as data structure for bounded synthesis. The key to this construction is the application of two novel optimisation techniques that decrease the number of state bits in such a representation significantly. The first technique uses signalling bits to connect sub-games representing the safety- and non-safety parts of the specification. The second technique is based on a closer analysis of the step of building a safety game from a universal automaton and uses a sufficient condition to remove some so-called counters from the state space of the game.

We evaluate our approach on several benchmark suites and show that the new approach leads to a computation time improvement of several orders of magnitude.

Keywords

Synthesis from LTL Bounded synthesis Safraless synthesis Safety games Binary decision diagrams 

References

  1. 1.
    Alur R, Madhusudan P, Nam W (2005) Symbolic computational techniques for solving games. Int J Softw Tools Technol Transf 7(2):118–128 CrossRefGoogle Scholar
  2. 2.
    Andersen HR (1994) Model checking and Boolean graphs. Theor Comput Sci 126(1):3–30 zbMATHCrossRefGoogle Scholar
  3. 3.
    Bloem R, Cimatti A, Pill I, Roveri M (2007) Symbolic implementation of alternating automata. Int J Found Comput Sci 18(4):727–743 MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Bloem R, Galler S, Jobstmann B, Piterman N, Pnueli A, Weiglhofer M (2007) Specify, compile, run: hardware from PSL. Electron Notes Theor Comput Sci 190(4):3–16 CrossRefGoogle Scholar
  5. 5.
    Bloem R, Galler SJ, Jobstmann B, Piterman N, Pnueli A, Weiglhofer M (2007) Interactive presentation: automatic hardware synthesis from specifications: a case study. In: Lauwereins R, Madsen J (eds) DATE. ACM Press, New York, pp 1188–1193 Google Scholar
  6. 6.
    Bloem R, Chatterjee K, Greimel K, Henzinger TA, Jobstmann B (2010) Robustness in the presence of liveness. In: Touili T, Cook B, Jackson P (eds) Computer aided verification. Lecture notes in computer science, vol 6174. Springer, Berlin, pp 410–424 CrossRefGoogle Scholar
  7. 7.
    Bozga M, Maler O, Pnueli A, Yovine S (1997) Some progress in the symbolic verification of timed automata. In: Grumberg O (ed) Computer aided verification. Lecture notes in computer science, vol 1254. Springer, Berlin, pp 179–190 CrossRefGoogle Scholar
  8. 8.
    Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput 35(8):677–691 zbMATHCrossRefGoogle Scholar
  9. 9.
    Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ (1992) Symbolic model checking: 1020 states and beyond. Inf Comput 98(2):142–170 MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Cimatti A, Clarke EM, Giunchiglia E, Giunchiglia F, Pistore M, Roveri M, Sebastiani R, Tacchella A (2002) NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma E, Larsen KG (eds) Computer aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin, pp 359–364 CrossRefGoogle Scholar
  11. 11.
    Cleaveland R, Steffen B (1991) A linear-time model-checking algorithm for the alternation-free modal μ-calculus. In: Larsen KG, Skou A (eds) Computer aided verification. Lecture notes in computer science, vol 575. Springer, Berlin, pp 48–58 CrossRefGoogle Scholar
  12. 12.
    Drechsler R, Sieling D (2001) Binary decision diagrams in theory and practice. Int J Softw Tools Technol Transf 3(2):112–136 zbMATHGoogle Scholar
  13. 13.
    Farwer B (2001) ω-automata. In: Grädel E, Thomas W, Wilke T (eds) Automata, logics, and infinite games. Lecture notes in computer science, vol 2500. Springer, Berlin, pp 3–20 CrossRefGoogle Scholar
  14. 14.
    Filiot E, Jin N, Raskin JF (2009) An antichain algorithm for LTL realizability. In: Computer aided verification. Lecture notes in computer science, vol 5643. Springer, Berlin, pp 263–277 CrossRefGoogle Scholar
  15. 15.
    Filiot E, Jin N, Raskin JF (2010) Compositional algorithms for LTL synthesis. In: Bouajjani A, Chin WN (eds) ATVA. Lecture notes in computer science, vol 6252. Springer, Berlin, pp 112–127 Google Scholar
  16. 16.
    Finkbeiner B, Schewe S (2007) SMT-based synthesis of distributed systems. In: Automated formal methods (AFM) Google Scholar
  17. 17.
    Gastin P, Oddoux D (2001) Fast LTL to Büchi automata translation. In: Computer aided verification. Lecture notes in computer science, vol 2102. Springer, Berlin, pp 53–65 CrossRefGoogle Scholar
  18. 18.
    Godhal Y, Chatterjee K, Henzinger T (2011) Synthesis of AMBA AHB from formal specification: a case study. Int J Softw Tools Technol Transf. doi: 10.1007/s10009-011-0207-9 Google Scholar
  19. 19.
    Helmert M, Mattmüller R, Schewe S (2006) Selective approaches for solving weak games. In: Graf S, Zhang W (eds) ATVA. Lecture notes in computer science, vol 4218. Springer, Berlin, pp 200–214 Google Scholar
  20. 20.
    Henzinger TA, Piterman N (2006) Solving games without determinization. In: Ésik Z (ed) CSL. Lecture notes in computer science, vol 4207. Springer, Berlin, pp 395–410 Google Scholar
  21. 21.
    Jobstmann B, Bloem R (2006) Optimizations for LTL synthesis. In: FMCAD. IEEE Computer Society Press, Los Alamitos, pp 117–124 Google Scholar
  22. 22.
    Klein U, Pnueli A (2010) Revisiting synthesis of GR(1) specifications. In: HVC. Lecture notes in computer science, vol 6504. Springer, Berlin Google Scholar
  23. 23.
    Kukula JH, Shiple TR (2000) Building circuits from relations. In: Emerson EA, Sistla AP (eds) Computer aided verification. Lecture notes in computer science, vol 1855. Springer, Berlin, pp 113–123 CrossRefGoogle Scholar
  24. 24.
    Kupferman O, Vardi MY (1999) Model checking of safety properties. In: Halbwachs N, Peled D (eds) Computer aided verification. Lecture notes in computer science, vol 1633. Springer, Berlin, pp 172–183 CrossRefGoogle Scholar
  25. 25.
    Kupferman O, Vardi MY (2005) Safraless decision procedures. In: FOCS. IEEE Press, New York, pp 531–542 Google Scholar
  26. 26.
    Kupferman O, Lustig Y, Vardi M (2006) On locally checkable properties. In: Logic for programming, artificial intelligence, and reasoning, pp 302–316. doi: 10.1007/11916277_21
  27. 27.
    McMillan KL (1993) Symbolic model checking. Kluwer Academic, Dordrecht zbMATHCrossRefGoogle Scholar
  28. 28.
    Piterman N (2007) From nondeterministic Büchi and Streett automata to deterministic parity automata. Log Methods Comput Sci 3(3) Google Scholar
  29. 29.
    Piterman N, Pnueli A, Sa’ar Y (2006) Synthesis of reactive(1) designs. In: Emerson EA, Namjoshi KS (eds) VMCAI. Lecture notes in computer science, vol 3855. Springer, Berlin, pp 364–380 Google Scholar
  30. 30.
    Pnueli A (1977) The temporal logic of programs. In: FOCS. IEEE Press, New York, pp 46–57 Google Scholar
  31. 31.
    Pnueli A, Rosner R (1989) On the synthesis of an asynchronous reactive module. In: Ausiello G, Dezani-Ciancaglini M, Rocca SRD (eds) ICALP. Lecture notes in computer science, vol 372. Springer, Berlin, pp 652–671 Google Scholar
  32. 32.
    Schewe S, Finkbeiner B (2007) Bounded synthesis. In: Namjoshi KS, Yoneda T, Higashino T, Okamura Y (eds) ATVA. Lecture notes in computer science, vol 4762. Springer, Berlin, pp 474–488 Google Scholar
  33. 33.
    Schneider K, Logothetis G (1999) Abstraction of systems with counters for symbolic model checking. In: Mutz M, Lange N (eds) Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen. Shaker, Braunschweig, pp 31–40 Google Scholar
  34. 34.
    Sistla AP (1985) On characterization of safety and liveness properties in temporal logic. In: PODC, pp 39–48 Google Scholar
  35. 35.
    Sohail S, Somenzi F (2009) Safety first: A two-stage algorithm for LTL games. In: FMCAD. IEEE Computer Society Press, Los Alamitos, pp 77–84 Google Scholar
  36. 36.
    Somenzi F (2009) CUDD: CU decision diagram package, release 2.4.2 Google Scholar
  37. 37.
    Thomas W (2002) Infinite games and verification (extended abstract of a tutorial). In: Brinksma E, Larsen KG (eds) Computer aided verification. Lecture notes in computer science, vol 2404. Springer, Berlin, pp 58–64 CrossRefGoogle Scholar
  38. 38.
    Thomas W (2008) Solution of Church’s problem: a tutorial. In: Apt K, Rooij RV (eds) New perspectives on games and interaction. Amsterdam University Press, Amsterdam Google Scholar
  39. 39.
    Vardi MY, Wolper P (1994) Reasoning about infinite computations. Inf Comput 115(1):1–37 MathSciNetzbMATHCrossRefGoogle Scholar
  40. 40.
    Wegener I (2000) Branching programs and binary decision diagrams. SIAM, Philadelphia zbMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Reactive Systems Group, Fachrichtung InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations