pvs linear algebra libraries for verification of control
play

PVS Linear Algebra Libraries for Verification of Control Software - PowerPoint PPT Presentation

Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping PVS Linear Algebra Libraries for Verification of Control Software Algorithms in C/ACSL Heber Herencia-Zapana, Romain


  1. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping PVS Linear Algebra Libraries for Verification of Control Software Algorithms in C/ACSL Heber Herencia-Zapana, Romain Jobredeaux, Sam Owre, Pierre-Lo¨ ıc Garoche, Eric Feron, Gilberto Perez, Pablo Ascariz National Institute of Aerospace, Georgia Institute of Technology SRI International, ONERA, University of A Coru˜ na April, 2012 Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 1 / 35

  2. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Outline Introduction 1 Stability and correctness 2 Defining quadratic invariants as code annotations 3 Verification conditions 4 Mapping ACSL predicates to PVS linear algebra concepts 5 Conclusions 6 Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 2 / 35

  3. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping The objective of control theory is to calculate a proper action from the controller that will result in stability for the system The software implementation of a control law can be inspected by analysis tools However these tools are often challenged by issues for which solutions are already available from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 3 / 35

  4. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping The objective of control theory is to calculate a proper action from the controller that will result in stability for the system The software implementation of a control law can be inspected by analysis tools However these tools are often challenged by issues for which solutions are already available from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 3 / 35

  5. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping The objective of control theory is to calculate a proper action from the controller that will result in stability for the system The software implementation of a control law can be inspected by analysis tools However these tools are often challenged by issues for which solutions are already available from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 3 / 35

  6. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping The objective of control theory is to calculate a proper action from the controller that will result in stability for the system The software implementation of a control law can be inspected by analysis tools However these tools are often challenged by issues for which solutions are already available from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 3 / 35

  7. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Program verification uses proof assistants to ensure the validity of user-provided code annotations. These annotations may express the domain-specific properties of the code. However, formulating annotations correctly is nontrivial in practice. By correctly, we mean that the annotations formulate stability properties of an intended mathematical interpretation from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 4 / 35

  8. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Program verification uses proof assistants to ensure the validity of user-provided code annotations. These annotations may express the domain-specific properties of the code. However, formulating annotations correctly is nontrivial in practice. By correctly, we mean that the annotations formulate stability properties of an intended mathematical interpretation from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 4 / 35

  9. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Program verification uses proof assistants to ensure the validity of user-provided code annotations. These annotations may express the domain-specific properties of the code. However, formulating annotations correctly is nontrivial in practice. By correctly, we mean that the annotations formulate stability properties of an intended mathematical interpretation from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 4 / 35

  10. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Program verification uses proof assistants to ensure the validity of user-provided code annotations. These annotations may express the domain-specific properties of the code. However, formulating annotations correctly is nontrivial in practice. By correctly, we mean that the annotations formulate stability properties of an intended mathematical interpretation from control theory. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 4 / 35

  11. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping In order to solve these two challenges this work proposes Axiomatization of Lyapunov-based stability as C code annotations, 1 Implementation of linear algebra and control theory results in PVS. 2 Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 5 / 35

  12. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping In order to solve these two challenges this work proposes Axiomatization of Lyapunov-based stability as C code annotations, 1 Implementation of linear algebra and control theory results in PVS. 2 Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 5 / 35

  13. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Stability and Correctness The basic module for the description of a controller can be presented as ξ ( k + 1) = f ( ξ ( k ) , ν ( k )) , ξ (0) = ξ 0 ζ ( k ) = g ( ξ ( k ) , ν ( k )) where ξ ∈ R n is the state of the controller, ν is the input of the controller and ζ is the output of the controller. This system is bounded-input, bounded state stable if for every ǫ there exists a δ such that || ν ( k ) || ≤ ǫ implies || ξ ( k ) || ≤ δ , for every positive integer k . Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 6 / 35

  14. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping Stability and Correctness The basic module for the description of a controller can be presented as ξ ( k + 1) = f ( ξ ( k ) , ν ( k )) , ξ (0) = ξ 0 ζ ( k ) = g ( ξ ( k ) , ν ( k )) where ξ ∈ R n is the state of the controller, ν is the input of the controller and ζ is the output of the controller. This system is bounded-input, bounded state stable if for every ǫ there exists a δ such that || ν ( k ) || ≤ ǫ implies || ξ ( k ) || ≤ δ , for every positive integer k . Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 6 / 35

  15. Introduction Stability and correctness Defining quadratic invariants as code annotations Verification conditions Mapping If there exists a positive definite function V such that V ( ξ ( k )) ≤ 1 implies V ( ξ ( k + 1)) ≤ 1 then this function can be used to establish the stability of the system. This Lyapunov function, V , defines the ellipsoid { ξ | V ( ξ ) ≤ 1 } , this ellipsoid plays an important role for the stability preservation at the code level. Heber Herencia-Zapana,, Romain Jobredeaux,, Sam Owre,, Pierre-Lo¨ National Institute of Aerospace ıc Garoche,, Eric Feron,, Gilberto Perez,, Pablo Ascariz 7 / 35

Recommend


More recommend