Synthesis of Reactive(1) designs

We address the problem of automatically synthesizing digital designs from linear-time specifications. We consider various classes of specifications that can be synthesized with effort quadratic in the number of states of the reactive system, where we measure effort in symbolic steps. The synthesis algorithm is based on a novel type of game called General Reactivity of rank 1 (gr(1)), with a winning condition of the form(@?@?@?p"1@?...@?@?@?@?p"m)->(@?@?@?q"1@?...@?@?@?@?q"n), where each p"i and q"i is a Boolean combination of atomic propositions. We show symbolic algorithms to solve this game, to build a winning strategy and several ways to optimize the winning strategy and to extract a system from it. We also show how to use gr(1) games to solve the synthesis of ltl specifications in many interesting cases. As empirical evidence to the generality and efficiency of our approach we include a significant case study. We describe the formal specifications and the synthesis process applied to a bus arbiter, which is a realistic industrial hardware specification of modest size.

[1]  Roderick Bloem,et al.  Program Repair as a Game , 2005, CAV.

[2]  Krishnendu Chatterjee,et al.  Better Quality in Synthesis through Quantitative Objectives , 2009, CAV.

[3]  Martín Abadi,et al.  Preserving Liveness: Comments on "Safety and Liveness from a Methodological Point of View" , 1991, Inf. Process. Lett..

[4]  Ufuk Topcu,et al.  Receding horizon temporal logic planning for dynamical systems , 2009, Proceedings of the 48h IEEE Conference on Decision and Control (CDC) held jointly with 2009 28th Chinese Control Conference.

[5]  Amir Pnueli,et al.  A Platform for Combining Deductive with Algorithmic Verification , 1996, CAV.

[6]  Nir Piterman,et al.  Minimizing Generalized Büchi Automata , 2006, CAV.

[7]  A. Pnueli,et al.  CONTROLLER SYNTHESIS FOR TIMED AUTOMATA , 2006 .

[8]  Thomas R. Shiple,et al.  Building Circuits from Relations , 2000, CAV.

[9]  Frank Dederichs,et al.  Safety and Liveness From a Methodological Point of View , 1990, Inf. Process. Lett..

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

[11]  Chin-Laung Lei,et al.  Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract) , 1986, LICS.

[12]  Somesh Jha,et al.  An Improved Algorithm for the Evaluation of Fixpoint Expressions , 1994, Theor. Comput. Sci..

[13]  Viktor Schuppan,et al.  Diagnostic Information for Realizability , 2008, VMCAI.

[14]  Martín Abadi,et al.  Realizable and Unrealizable Specifications of Reactive Systems , 1989, ICALP.

[15]  Amir Pnueli,et al.  Synthesis of programs from temporal property specifications , 2009, 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design.

[16]  P. Dangerfield Logic , 1996, Aristotle and the Stoics.

[17]  Fabio Somenzi,et al.  An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps , 2006, Formal Methods Syst. Des..

[18]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[19]  Roderick Bloem,et al.  Anzu: A Tool for Property Synthesis , 2007, CAV.

[20]  Krishnendu Chatterjee,et al.  Synthesis of AMBA AHB from Formal Specification , 2010, ArXiv.

[21]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[22]  Thomas A. Henzinger,et al.  Solving Games Without Determinization , 2006, CSL.

[23]  Amir Pnueli,et al.  Jtlv: A Framework for Developing Verification Algorithms , 2010, CAV.

[24]  Avner Landver,et al.  The ForSpec Temporal Logic: A New Temporal Property-Specification Language , 2002, TACAS.

[25]  Hadas Kress-Gazit,et al.  Valet parking without a valet , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[26]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[27]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[28]  Joseph Sifakis,et al.  Controller Synthesis for Timed Automata 1 , 1998 .

[29]  Dana Fisman,et al.  A Practical Introduction to PSL , 2006, Series on Integrated Circuits and Systems.

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

[31]  Roderick Bloem,et al.  Debugging formal specifications using simple counterstrategies , 2009, 2009 Formal Methods in Computer-Aided Design.

[32]  Rajeev Alur,et al.  Deterministic generators and games for Ltl fragments , 2004, TOCL.

[33]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[34]  Krishnendu Chatterjee,et al.  Environment Assumptions for Synthesis , 2008, CONCUR.

[35]  Amir Pnueli,et al.  Verification by Augmented Finitary Abstraction , 2000, Inf. Comput..

[36]  M. Rabin Automata on Infinite Objects and Church's Problem , 1972 .

[37]  Krishnendu Chatterjee,et al.  Robustness in the Presence of Liveness , 2010, CAV.

[38]  Kavita Ravi,et al.  A Hybrid Algorithm for LTL Games , 2008, VMCAI.

[39]  Jean-François Raskin,et al.  An Antichain Algorithm for LTL Realizability , 2009, CAV.

[40]  Hadas Kress-Gazit,et al.  From structured english to robot motion , 2007, 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[41]  Amir Pnueli,et al.  On the Merits of Temporal Testers , 2008, 25 Years of Model Checking.

[42]  Thomas A. Henzinger,et al.  Synthesizing robust systems , 2009, FMCAD.

[43]  Ufuk Topcu,et al.  Receding horizon control for temporal logic specifications , 2010, HSCC '10.

[44]  Alan J. Hu,et al.  Reducing BDD Size by Exploiting Functional Dependencies , 1993, 30th ACM/IEEE Design Automation Conference.

[45]  Amir Pnueli,et al.  Bridging the Gap between Fair Simulation and Trace Inclusion , 2003, CAV.

[46]  Wolfgang Thomas,et al.  Symbolic Synthesis of Finite-State Controllers for Request-Response Specifications , 2003, CIAA.

[47]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, TOPL.

[48]  Amir Pnueli,et al.  Automatic Hardware Synthesis from Specifications: A Case Study , 2007 .

[49]  Amir Pnueli,et al.  Automatic Hardware Synthesis from Specifications: A Case Study , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[50]  Bernd Finkbeiner,et al.  Bounded synthesis , 2012, International Journal on Software Tools for Technology Transfer.

[51]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[52]  Andreas Morgenstern,et al.  Symbolic controller synthesis for LTL specifications , 2010 .

[53]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.

[54]  Fabio Somenzi,et al.  Safety first: A two-stage algorithm for LTL games , 2009, 2009 Formal Methods in Computer-Aided Design.

[55]  Shahar Maoz,et al.  AspectLTL: an aspect language for LTL specifications , 2011, AOSD '11.

[56]  Pierre-Yves Schobbens,et al.  A New Algorithm for Strategy Synthesis in LTL Games , 2005, TACAS.

[57]  D. Fisman,et al.  A Practical Introduction to PSL (Series on Integrated Circuits and Systems) , 2006 .

[58]  Hillel Kugler,et al.  Compositional Synthesis of Reactive Systems from Live Sequence Chart Specifications , 2009, TACAS.

[59]  Alonzo Church,et al.  Logic, arithmetic, and automata , 1962 .

[60]  Marco Roveri,et al.  Formal analysis of hardware requirements , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[61]  Marco Roveri,et al.  RAT: A Tool for the Formal Analysis of Requirements , 2007, CAV.

[62]  Marcin Jurdzinski,et al.  Small Progress Measures for Solving Parity Games , 2000, STACS.

[63]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

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

[65]  Amir Pnueli,et al.  Specify, Compile, Run: Hardware from PSL , 2007, COCV@ETAPS.

[66]  Hadas Kress-Gazit,et al.  Where's Waldo? Sensor-Based Temporal Logic Motion Planning , 2007, Proceedings 2007 IEEE International Conference on Robotics and Automation.

[67]  Amir Pnueli,et al.  Algorithmic Verification of Linear Temporal Logic Specifications , 1998, ICALP.

[68]  Amir Pnueli,et al.  Synthesis of Reactive(1) Designs , 2006, VMCAI.

[69]  Zohar Manna,et al.  A hierarchy of temporal properties (invited paper, 1989) , 1990, PODC '90.

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

[71]  Gerhard Goos,et al.  Automated Technology for Verification and Analysis , 2004, Lecture Notes in Computer Science.

[72]  Orna Kupferman,et al.  Safraless decision procedures , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[73]  Amir Pnueli,et al.  Distributed reactive systems are hard to synthesize , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[74]  Amir Pnueli,et al.  Controller Synthesis from LSC Requirements , 2009, FASE.

[75]  Ufuk Topcu,et al.  Automatic Synthesis of Robust Embedded Control Software , 2010, AAAI Spring Symposium: Embedded Reasoning.

[76]  Neil Immerman,et al.  Descriptive Complexity and Finite Models , 1997 .

[77]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[78]  Viktor Schuppan,et al.  RATSY - A New Requirements Analysis Tool with Synthesis , 2010, CAV.