Analyzing Real Time Linear Control Systems Using Software Verification

Deployed embedded software interacts with sensors and actuators to control a physical environment. While the evolution of the control system is specified by Ordinary Differential Equations (ODEs), the embedded software periodically senses the state of the system, performs computation over the inputs, and initiates the actuators based on the result of computation. In this paper, we present a bounded time safety verification technique for periodically actuated linear control systems. The model considered in this paper takes into account that the control tasks are executed on a real time operating system and hence the task, in some instances misses the real time deadlines. Using matrix exponentiation, and symbolic evaluation of inputs, we reduce the verification problem of such systems into software verification with computation over reals. We compare different techniques for verifying such software, highlight the merits of each of the approaches, and present our experimental results.

[1]  Sayan Mitra,et al.  Synthesis and verification of motor-transmission shift controller for electric vehicles , 2014, 2014 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS).

[2]  Bruce H. Krogh,et al.  Modeling and Ver ification of Sampled-Data Hybr id Systems , 2000 .

[3]  C. Loan,et al.  Nineteen Dubious Ways to Compute the Exponential of a Matrix , 1978 .

[4]  Andreas Podelski,et al.  Termination proofs for systems code , 2006, PLDI '06.

[5]  Rupak Majumdar,et al.  CLSE: Closed-Loop Symbolic Execution , 2012, NASA Formal Methods.

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

[7]  Ethan K. Jackson,et al.  A bounded model checking tool for periodic sample-hold systems , 2014, HSCC.

[8]  Cleve B. Moler,et al.  Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-Five Years Later , 1978, SIAM Rev..

[9]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[10]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .

[11]  Nicolas Halbwachs,et al.  Automatic discovery of linear restraints among variables of a program , 1978, POPL.

[12]  Ansgar Fehnker,et al.  Benchmarks for Hybrid Systems Verification , 2004, HSCC.

[13]  Bertrand Jeannet,et al.  Apron: A Library of Numerical Abstract Domains for Static Analysis , 2009, CAV.

[14]  B.H. Krogh,et al.  Model checking in-the-loop: Finding counterexamples by systematic simulation , 2008, 2008 American Control Conference.

[15]  Paulo Tabuada,et al.  Automatic verification of control system implementations , 2010, EMSOFT '10.

[16]  P. McLane,et al.  Decentralized feedback controls for the brakeless operation of multilocomotive powered trains , 1976 .

[17]  Eric Goubault,et al.  HybridFluctuat: A Static Analyzer of Numerical Programs within a Continuous Environment , 2009, CAV.

[18]  Goran Frehse PHAVer: Algorithmic Verification of Hybrid Systems Past HyTech , 2005, HSCC.

[19]  O. Bouissou,et al.  GRKLib: a Guaranteed Runge Kutta Library , 2006, 12th GAMM - IMACS International Symposium on Scientific Computing, Computer Arithmetic and Validated Numerics (SCAN 2006).

[20]  Goran Frehse,et al.  Formal Analysis of Timing Effects on Closed-Loop Properties of Control Software , 2014, 2014 IEEE Real-Time Systems Symposium.

[21]  Ashish Tiwari,et al.  Timed Relational Abstractions for Sampled Data Control Systems , 2012, CAV.

[22]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[23]  Antoine Girard,et al.  SpaceEx: Scalable Verification of Hybrid Systems , 2011, CAV.

[24]  Eric Goubault,et al.  Static Analysis of Numerical Algorithms , 2006, SAS.

[25]  Christoph M. Kirsch,et al.  Giotto: a time-triggered language for embedded programming , 2003 .

[26]  Ashish Tiwari Approximate Reachability for Linear Systems , 2003, HSCC.

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

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

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

[30]  Ashish Tiwari,et al.  Abstractions for hybrid systems , 2008, Formal Methods Syst. Des..

[31]  Xin Chen,et al.  Flow*: An Analyzer for Non-linear Hybrid Systems , 2013, CAV.

[32]  Mahesh Viswanathan,et al.  Verification of annotated models from executions , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[33]  Richard M. Murray,et al.  Verification of Periodically Controlled Hybrid Systems: Application to an Autonomous Vehicle , 2012, TECS.

[34]  Jérôme Feret,et al.  Static Analysis of Digital Filters , 2004, ESOP.

[35]  Koushik Sen,et al.  CUTE: a concolic unit testing engine for C , 2005, ESEC/FSE-13.