From Control Systems to Control Software

This article describes an approach to documenting control programs, whereby the control program code is annotated with logical expressions describing the set of reachable program states. This approach constitutes the application of the Floyd-Hoare paradigm to control programs. It is shown that domain knowledge gathered by control theory about control-system specifications is applicable to developing stability and performance proofs of the corresponding control programs. The analyses discussed in this article can be used in various contexts. In particular, the analyses can be used in an autocoding environment, whereby diagram-based specifications in Simulink or other languages can be turned into formally annotated target codes with extensive proofs of stability and performance. These proofs are tightly woven in the codes, which can then be verified independently by a proof checker.

[1]  Sabina Jeschke,et al.  Managing Mathematical Texts with OWL and Their Graphical Representation , 2008, Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008).

[2]  César A. Muñoz,et al.  Formal Verification of an Optimal Air Traffic Conflict Resolution and Recovery Algorithm , 2007, WoLLIC.

[3]  Boris T. Polyak,et al.  Rejection of bounded exogenous disturbances by the method of invariant ellipsoids , 2007 .

[4]  R.A. Hull,et al.  Validation & Verification of Intelligent and Adaptive Control Systems , 2005, 2005 IEEE Aerospace Conference.

[5]  Patrick Cousot,et al.  Integrating Physical Systems in the Static Analysis of Embedded Control Software , 2005, APLAS.

[6]  Freek Wiedijk,et al.  Formal Proof Sketches , 2003, TYPES.

[7]  Stephen P. Boyd,et al.  Linear Matrix Inequalities in Systems and Control Theory , 1994 .

[8]  Martin Rinard,et al.  Credible Compilation with Pointers , 1999 .

[9]  George C. Necula,et al.  Proof-Carrying Code , 2011, Encyclopedia of Cryptography and Security.

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

[11]  Rolf Johansson Global Lyapunov Stability and Exponential Convergence of Direct Adaptive Control , 1989 .

[12]  Mario A. Rotea,et al.  Optimal realizations of finite wordlength digital filters and controllers , 1995 .

[13]  Mario A. Rotea,et al.  Optimal realizations of finite wordlength digital controllers via affine matrix inequalities , 1994, Proceedings of 1994 American Control Conference - ACC '94.

[14]  J. W. deBakker,et al.  Control flow semantics , 1996 .

[15]  Christine Paulin-Mohring,et al.  The Coq Proof Assistant A Tutorial , 2005 .

[16]  Peter Csaba Ölveczky,et al.  The Maude Formal Tool Environment , 2007, CALCO.

[17]  Eric Goubault,et al.  Space Software Validation using Abstract Interpretation , 2009 .

[18]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages - a laboratory based approach , 1995 .

[19]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[20]  F. Uhlig A recurring theorem about pairs of quadratic forms and extensions: a survey , 1979 .

[21]  Antoine Miné,et al.  Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors , 2004, ESOP.

[22]  A. Megretski,et al.  Optimal Fixed-Point Implementation of Digital Filters , 2007, 2007 American Control Conference.

[23]  Pablo A. Parrilo,et al.  Semidefinite programming relaxations for semialgebraic problems , 2003, Math. Program..

[24]  Philip Koopman,et al.  Hardware/Software Codesign of Aerospace and Automotive Systems , 2010, Proceedings of the IEEE.

[25]  E. Yaz Linear Matrix Inequalities In System And Control Theory , 1998, Proceedings of the IEEE.

[26]  A. Kurzhanski,et al.  Ellipsoidal Calculus for Estimation and Control , 1996 .

[27]  Daniel Kroening,et al.  Mixed abstractions for floating-point arithmetic , 2009, 2009 Formal Methods in Computer-Aided Design.

[28]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[29]  Dhiraj K. Pradhan,et al.  Practical Design Verification , 2009 .

[30]  Patrick Cousot,et al.  The ASTREÉ Analyzer , 2005, ESOP.

[31]  Patrick Cousot,et al.  Abstract Interpretation Based Formal Methods and Future Challenges , 2001, Informatics.

[32]  Weiping Li,et al.  Applied Nonlinear Control , 1991 .

[33]  Philip Koopman,et al.  Embedded Communication Protocol Options , 1993 .

[34]  C. A. Desoer,et al.  Nonlinear Systems Analysis , 1978 .

[35]  Ravinder Venugopal,et al.  Logarithmic Lyapunov functions for direct adaptive stabilization with normalized adaptive laws , 2004 .

[36]  D. Summers,et al.  Optimal technique for estimating the reachable set of a controlled n-dimensional linear system , 1990 .

[37]  Doron A. Peled,et al.  Software Reliability Methods , 2001, Texts in Computer Science.

[38]  Richard J. Boulton,et al.  Design Verification for Control Engineering , 2004, IFM.

[39]  Gene F. Franklin,et al.  Feedback Control of Dynamic Systems , 1986 .

[40]  Fred C. Schweppe,et al.  Uncertain dynamic systems , 1973 .

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

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

[43]  Mario A. Rotea,et al.  Optimal scaling of digital controllers , 1999 .

[44]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[45]  Eric Goubault,et al.  Static Analyses of the Precision of Floating-Point Operations , 2001, SAS.

[46]  W. Haddad,et al.  Nonlinear Dynamical Systems and Control: A Lyapunov-Based Approach , 2008 .

[47]  J. R. Ragazzini,et al.  Sampled-Data Control Systems , 1959 .

[48]  Eric Feron,et al.  Human-Inspired Control Logic for Automated Maneuvering of Miniature Helicopter , 2004 .

[49]  Jean Souyris,et al.  Experimental Assessment of Astrée on Safety-Critical Avionics Software , 2007, SAFECOMP.

[50]  Katsuhiko Ogata,et al.  Modern Control Engineering , 1970 .

[51]  Geir E. Dullerud Control of Uncertain Sampled-Data Systems , 1995 .

[52]  M. Rinard Credible Compilation , 1999 .

[53]  Andrea Bacciotti,et al.  A Necessary and Sufficient Condition for Bounded-Input Bounded-State Stability of Nonlinear Systems , 2000, SIAM J. Control. Optim..

[54]  Richard J. Boulton,et al.  A Hoare Logic for Single-Input Single-Output Continuous-Time Control Systems , 2003, HSCC.

[55]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[56]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[57]  Timothy L. Johnson,et al.  Validation and Verification of Intelligent and Adaptive Control Systems (VVIACS) , 2004 .

[58]  David M. Auslander,et al.  Real-time software for control: program examples in C , 1990 .

[59]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[60]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[61]  Gene F. Franklin,et al.  Digital control of dynamic systems , 1980 .

[62]  Mordechai Ben-Ari,et al.  Principles of the spin model checker , 2008 .

[63]  Leslie Lamport,et al.  The ``Hoare Logic'' of CSP, and All That , 1984, TOPL.