Constrained synthesis from component libraries

Synthesis from component libraries is the problem of building a network of components from a given library, such that the network realizes a given specification. This problem is undecidable in general. It becomes decidable if we impose a bound on the number of chosen components. However, the bounded problem remains computationally hard and brute-force approaches do not scale. In this paper we study scalable methods for solving the problem of bounded synthesis from libraries, proposing a solution based on the CounterExample-Guided Inductive Synthesis paradigm. Although our synthesis algorithm does not assume a specific formalism a priori, we present a parallel implementation which instantiates components defined as Linear Temporal Logic-based Assume/Guarantee Contracts. We show the potential of our approach and evaluate our implementation by applying it to an industrial case study.

[1]  Ufuk Topcu,et al.  Compositional Synthesis with Parametric Reactive Controllers , 2016, HSCC.

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

[3]  Alberto L. Sangiovanni-Vincentelli,et al.  Constrained Synthesis from Component Libraries , 2016, FACS.

[4]  Sumit Gulwani,et al.  Synthesis of loop-free programs , 2011, PLDI '11.

[5]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[6]  Duane C. Hanselman,et al.  Brushless Permanent-Magnet Motor Design , 1994 .

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  Turning coders into makers: the promise of embedded design generation , 2017, SCF.

[8]  Alberto L. Sangiovanni-Vincentelli,et al.  Quo Vadis, SLD? Reasoning About the Trends and Challenges of System Level Design , 2007, Proceedings of the IEEE.

[9]  Alberto L. Sangiovanni-Vincentelli,et al.  Contracts for System Design , 2018, Found. Trends Electron. Des. Autom..

[10]  Rajeev Alur,et al.  Synthesizing Finite-State Protocols from Scenarios and Requirements , 2014, Haifa Verification Conference.

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  Are interface theories equivalent to contract theories? , 2014, 2014 Twelfth ACM/IEEE Conference on Formal Methods and Models for Codesign (MEMOCODE).

[12]  Yoad Lustig,et al.  Synthesis from Component Libraries , 2009, FoSSaCS.

[13]  Sanjit A. Seshia,et al.  A theory of formal synthesis via inductive learning , 2015, Acta Informatica.

[14]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[15]  Alberto L. Sangiovanni-Vincentelli,et al.  Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems , 2012, Eur. J. Control.

[16]  Roberto Passerone,et al.  Multiple Viewpoint Contract-Based Specification and Design , 2008, FMCO.

[17]  Rajeev Alur,et al.  Automatic Completion of Distributed Protocols with Symmetry , 2015, CAV.

[18]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[19]  Ufuk Topcu,et al.  TuLiP: a software toolbox for receding horizon temporal logic planning , 2011, HSCC '11.

[20]  Alberto L. Sangiovanni-Vincentelli,et al.  Library-based scalable refinement checking for contract-based design , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[22]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.

[23]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[24]  Edmund M. Clarke,et al.  Counterexample-Guided Abstraction Refinement , 2000, CAV.

[25]  Ehud Shapiro,et al.  Algorithmic Program Debugging , 1983 .

[26]  Rajeev Alur,et al.  Automatic Synthesis of Distributed Protocols , 2017, SIGA.

[27]  Sanjit A. Seshia Sciduction: Combining induction, deduction, and structure for verification and synthesis , 2012, DAC Design Automation Conference 2012.

[28]  Alberto L. Sangiovanni-Vincentelli,et al.  Contract-based design of control protocols for safety-critical cyber-physical systems , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[29]  Sumit Gulwani,et al.  Oracle-guided component-based program synthesis , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[30]  Ian Moir,et al.  Aircraft Systems: Mechanical, Electrical, and Avionics Subsystems Integration , 2008 .