Practical synthesis of reactive systems from LTL specifications via parity games

The synthesis of reactive systems from linear temporal logic (LTL) specifications is an important aspect in the design of reliable software and hardware. We present our adaption of the classic automata-theoretic approach to LTL synthesis, implemented in the tool Strix which has won the two last synthesis competitions ( Syntcomp2018 / 2019 ). The presented approach is (1) structured , meaning that the states used in the construction have a semantic structure that is exploited in several ways, it performs a (2) forward exploration such that it often constructs only a small subset of the reachable states, and it is (3) incremental in the sense that it reuses results from previous inconclusive solution attempts. Further, we present and study different guiding heuristics that determine where to expand the on-demand constructed arena. Moreover, we show several techniques for extracting an implementation (Mealy machine or circuit) from the witness of the tree-automaton emptiness check. Lastly, the chosen constructions use a symbolic representation of the transition functions to reduce runtime and memory consumption. We evaluate the proposed techniques on the Syntcomp2019 benchmark set and show in more detail how the proposed techniques compare to the techniques implemented in other leading LTL synthesis tools.

[1]  B. Finkbeiner,et al.  Synthesizing functional reactive programs , 2017, Haskell@ICFP.

[2]  Jan Kretínský,et al.  From LTL and Limit-Deterministic Büchi Automata to Deterministic Parity Automata , 2017, TACAS.

[3]  Bernd Finkbeiner,et al.  Bounded Synthesis of Reactive Programs , 2018, ATVA.

[4]  Jan Kretínský,et al.  Limit-Deterministic Büchi Automata for Linear Temporal Logic , 2016, CAV.

[5]  Rüdiger Ehlers,et al.  Reactive Synthesis of Graphical User Interface Glue Code , 2019, ATVA.

[6]  Jan Kretínský,et al.  The Hanoi Omega-Automata Format , 2015, CAV.

[7]  Jean-François Raskin,et al.  Antichains and compositional algorithms for LTL synthesis , 2011, Formal Methods Syst. Des..

[8]  Bernd Finkbeiner,et al.  Syntroids: Synthesizing a Game for FPGAs using Temporal Logic Specifications , 2019, 2019 Formal Methods in Computer Aided Design (FMCAD).

[9]  Michael Luttenberger,et al.  Strix: Explicit Reactive Synthesis Strikes Back! , 2018, CAV.

[10]  Fabio Somenzi,et al.  Safety first: a two-stage algorithm for the synthesis of reactive systems , 2012, International Journal on Software Tools for Technology Transfer.

[11]  Roderick Bloem,et al.  PARTY Parameterized Synthesis of Token Rings , 2013, CAV.

[12]  Bernd Finkbeiner,et al.  BoSy: An Experimentation Framework for Bounded Synthesis , 2017, CAV.

[13]  Alexandre Duret-Lutz,et al.  Spot 2.0 - A Framework for LTL and \omega -Automata Manipulation , 2016, ATVA.

[14]  Orna Kupferman,et al.  Recent Challenges and Ideas in Temporal Synthesis , 2012, SOFSEM.

[15]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[16]  Klaus Schneider,et al.  Exploiting the Temporal Logic Hierarchy and the Non-Confluence Property for Efficient LTL Synthesis , 2010, GANDALF.

[17]  Roderick Bloem,et al.  Optimizations for LTL Synthesis , 2006, 2006 Formal Methods in Computer Aided Design.

[18]  Roderick Bloem,et al.  Parameterized Synthesis Case Study: AMBA AHB , 2014, SYNT.

[19]  Jan Kretínský,et al.  One Theorem to Rule Them All: A Unified Translation of LTL into ω-Automata , 2018, LICS.

[20]  Robert K. Brayton,et al.  ABC: An Academic Industrial-Strength Verification Tool , 2010, CAV.

[21]  Bernd Finkbeiner,et al.  The 5th Reactive Synthesis Competition (SYNTCOMP 2018): Benchmarks, Participants & Results , 2019, ArXiv.

[22]  Marco Roveri,et al.  The nuXmv Symbolic Model Checker , 2014, CAV.

[23]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[24]  Swen Jacobs,et al.  A High-Level LTL Synthesis Format: TLSF v1.1 , 2016, SYNT@CAV.

[25]  Jan Reineke,et al.  MEMIN: SAT-based exact minimization of incompletely specified Mealy machines , 2015, 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[26]  Michael Luttenberger,et al.  Strategy Iteration using Non-Deterministic Strategies for Solving Parity Games , 2008, ArXiv.

[27]  Salomon Sickert,et al.  LTL to Deterministic Emerson-Lei Automata , 2017, GandALF.

[28]  Amir Pnueli,et al.  On the Synthesis of an Asynchronous Reactive Module , 1989, ICALP.

[29]  Krishnendu Chatterjee,et al.  Synthesis of AMBA AHB from formal specification: a case study , 2011, International Journal on Software Tools for Technology Transfer.

[30]  Dimitra Giannakopoulou,et al.  From States to Transitions: Improving Translation of LTL Formulae to Büchi Automata , 2002, FORTE.

[31]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[32]  Michael Luttenberger,et al.  Solving Mean-Payoff Games on the GPU , 2016, ATVA.

[33]  Rüdiger Ehlers,et al.  Symbolic bounded synthesis , 2010, Formal Methods Syst. Des..

[34]  Jan Kretínský,et al.  Owl: A Library for ω-Words, Automata, and LTL , 2018, ATVA.

[35]  Thomas Wilke,et al.  Automata Logics, and Infinite Games , 2002, Lecture Notes in Computer Science.

[36]  Krishnendu Chatterjee,et al.  Graph Games and Reactive Synthesis , 2018, Handbook of Model Checking.

[37]  Alexandre Duret-Lutz,et al.  Spot 2 . 0 — a framework for LTL and ω-automata manipulation , 2016 .

[38]  Oliver Friedmann,et al.  Two Local Strategy Iteration Schemes for Parity Game Solving , 2012, Int. J. Found. Comput. Sci..

[39]  Orna Kupferman,et al.  Safraless Compositional Synthesis , 2006, CAV.

[40]  Rüdiger Ehlers,et al.  Unbeast: Symbolic Bounded Synthesis , 2011, TACAS.

[41]  Véronique Bruyère,et al.  Acacia+, a Tool for LTL Synthesis , 2012, CAV.