Control design for hybrid systems with TuLiP: The Temporal Logic Planning toolbox

This tutorial describes TuLiP, the Temporal Logic Planning toolbox, a collection of tools for designing controllers for hybrid systems from specifications in temporal logic. The tools support a workflow that starts from a description of desired behavior, and of the system to be controlled. The system can have discrete state, or be a hybrid dynamical system with a mixed discrete and continuous state space. The desired behavior can be represented with temporal logic and discrete transition systems. The system description can include uncontrollable variables that take discrete or continuous values, and represent disturbances and other environmental factors that affect the dynamics, as well as communication signals that affect controller decisions. A control design problem is solved in phases that involve abstraction, discrete synthesis, and continuous feedback control. Abstraction yields a discrete description of system dynamics in logic. For piecewise affine dynamical systems, this abstraction is constructed automatically, guided by the geometry of the dynamics and under logical constraints from the specification. The resulting logic formulae describe admissible discrete behaviors that capture both controlled and environment variables. The discrete description resulting from abstraction is then conjoined with the desired logic specification. To find a controller, the toolbox solves a game of infinite duration. Existence of a discrete (winning) strategy for the controlled variables in this game is a proof certificate for the existence of a controller for the original problem, which guarantees satisfaction of the specification. This discrete strategy, concretized by using continuous controllers, yields a feedback controller for the original hybrid system. The toolbox frontend is written in Python, with backends in C, Python, and Cython. The tutorial starts with an overview of the theory behind TuLiP, and of its software architecture, organized into specification frontends and backends that implement algorithms for abstraction, solving games, and interfaces to other tools. Then, the main elements for writing a specification for input to TuLiP are introduced. These include logic formulae, discrete transition systems annotated with predicates, and hybrid dynamical systems, with linear or piecewise affine continuous dynamics. The working principles of the algorithms for predicate abstraction and discrete game solving using nested fixpoints are explained, by following the input specification through the various transformations that compile it to a symbolic representation that scales well to solving large games. The tutorial concludes with several design examples that demonstrate the toolbox's capabilities.

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

[2]  Calvin C. Elgot,et al.  Review: George H. Mealy, A Method for Synthesizing Sequential Circuits , 1957 .

[3]  Amir Pnueli,et al.  Faster Solutions of Rabin and Streett Games , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[4]  Paulo Tabuada,et al.  Verification and Control of Hybrid Systems - A Symbolic Approach , 2009 .

[5]  Wolfgang Thomas,et al.  Logical Specifications of Infinite Computations , 1993, REX School/Symposium.

[6]  Leslie Lamport Composition: A Way to Make Proofs Harder , 1997, COMPOS.

[7]  Manfred Morari,et al.  Multi-Parametric Toolbox 3.0 , 2013, 2013 European Control Conference (ECC).

[8]  Stefan Behnel,et al.  Cython: The Best of Both Worlds , 2011, Computing in Science & Engineering.

[9]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[10]  Daniel Kroening,et al.  Decision Procedures , 2016, Texts in Theoretical Computer Science. An EATCS Series.

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

[12]  Richard M. Murray,et al.  Formalizing synthesis in TLA , 2016 .

[13]  Paulo Tabuada,et al.  Verification and Control of Hybrid Systems , 2009 .

[14]  Paulo Tabuada,et al.  Linear Time Logic Control of Discrete-Time Linear Systems , 2006, IEEE Transactions on Automatic Control.

[15]  Tichakorn Wongpiromsarn,et al.  Formal Methods for Design and Verification of Embedded Control Systems: Application to an Autonomous Vehicle , 2010 .

[16]  Joel W. Burdick,et al.  Backtracking temporal logic synthesis for uncertain environments , 2012, 2012 IEEE International Conference on Robotics and Automation.

[17]  Leslie Lamport How to write a long formula , 2005, Formal Aspects of Computing.

[18]  Wolfgang Thomas,et al.  Solution of Church ’ s Problem : A Tutorial , 2007 .

[19]  Martin Steffen,et al.  Concurrency, Compositionality, and Correctness, Essays in Honor of Willem-Paul de Roever , 2010, Concurrency, Compositionality, and Correctness.

[20]  Martín Abadi,et al.  Open systems in TLA , 1994, PODC '94.

[21]  Michael S. Branicky,et al.  Studies in hybrid systems: modeling, analysis, and control , 1996 .

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

[23]  Steven M. LaValle,et al.  Planning algorithms , 2006 .

[24]  Alberto Bemporad,et al.  Predictive Control for Linear and Hybrid Systems , 2017 .

[25]  Amir Pnueli,et al.  A proof method for cyclic programs , 1978, Acta Informatica.

[26]  Wolfgang Thomas,et al.  On the Synthesis of Strategies in Infinite Games , 1995, STACS.

[27]  Leslie Lamport,et al.  TLA in Pictures , 1995, IEEE Trans. Software Eng..

[28]  Grzegorz Rozenberg,et al.  A Decade of Concurrency Reflections and Perspectives , 1994, Lecture Notes in Computer Science.

[29]  Amir Pnueli,et al.  Synthesis of Reactive(1) designs , 2006, J. Comput. Syst. Sci..

[30]  Ufuk Topcu,et al.  Temporal logic control of switched affine systems with an application in fuel balancing , 2012, 2012 American Control Conference (ACC).

[31]  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.

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

[33]  Richard M. Murray,et al.  Symbolic construction of GR(1) contracts for systems with full information , 2016, 2016 American Control Conference (ACC).

[34]  L. Lamport How to write a 21st century proof , 2012 .

[35]  J. Willems The Behavioral Approach to Open and Interconnected Systems , 2007, IEEE Control Systems.

[36]  Claude E. Shannon,et al.  The synthesis of two-terminal switching circuits , 1949, Bell Syst. Tech. J..

[37]  Manuel Mazo,et al.  PESSOA: A Tool for Embedded Controller Synthesis , 2010, CAV.

[38]  Richard Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD.

[39]  Klaus Schneider Verification of Reactive Systems , 2004, Texts in Theoretical Computer Science.

[40]  D. Beatty A methodology for formal hardware verification, with application to microprocessors , 1993 .

[41]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[42]  Aric Hagberg,et al.  Exploring Network Structure, Dynamics, and Function using NetworkX , 2008, Proceedings of the Python in Science Conference.

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

[44]  Christel Baier,et al.  Principles of model checking , 2008 .

[45]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[46]  Hadas Kress-Gazit,et al.  LTLMoP: Experimenting with language, Temporal Logic and robot control , 2010, 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[47]  S. Livingston Incremental Control Synthesis for Robotics in the Presence of Temporal Logic Specifications , 2016 .

[48]  Joel W. Burdick,et al.  Sensing, Navigation and Reasoning Technologies for the DARPA Urban Challenge , 2007 .

[49]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[50]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[51]  Klaus Schneider,et al.  Verification of Reactive Systems: Formal Methods and Algorithms , 2003 .

[52]  Calin Belta,et al.  A Fully Automated Framework for Control of Linear Systems from Temporal Logic Specifications , 2008, IEEE Transactions on Automatic Control.

[53]  Richard M. Murray,et al.  A multi-paradigm language for reactive synthesis , 2016, SYNT.

[54]  John H. Reif,et al.  Multiple-person alternation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[55]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[56]  Leslie Lamport Who builds a house without drawing blueprints? , 2015, Commun. ACM.

[57]  Thomas A. Henzinger,et al.  The Control of Synchronous Systems , 2000, CONCUR.

[58]  Richard M. Murray,et al.  Computing augmented finite transition systems to synthesize switching protocols for polynomial switched systems , 2013, 2013 American Control Conference.

[59]  Alan J. Perlis,et al.  Special Feature: Epigrams on programming , 1982, SIGP.

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

[61]  I. Walukiewicz A landscape with games in the background , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[62]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .