A Hoare logic for linear systems

Abstract

We consider reasoning about linear systems expressed as block diagrams that give a graphical representation of a system of differential equations or recurrence equations. We use the notion of additive relation borrowed from homological algebra to give a convenient framework in which all diagrams have a semantic value. We give a sound system of Hoare-style rules for the block diagram constructors that singles out a tractable subset of the block diagram language in which all diagrams represent total functions. We show these rules in action on some simple examples from a variety of applications domains.

This is a preview of subscription content, access via your institution.

References

  1. ABL96

    Abrial J-R, Börger E, Langmaack H (eds) (1996) Formal methods for industrial applications, specifying and programming the steam boiler control. Lecture notes in computer science, vol 1165. Springer, Berlin

  2. ACOS00

    Arthan R, Caseley P, O’Halloran C, Smith A (2000) ClawZ: control laws in Z. In: 3rd international conference on formal engineering methods (ICFEM 2000)

  3. AGN95

    Abramsky S, Gay SJ, Nagarajan R (1995) Specification structures and propositions-as-types for concurrency. In: Moller F, Birtwistle G (eds) Logics for concurrency: structure vs. automata—proceedings of the 8th Banff higher order workshop. Springer, Berlin

  4. AMMO07

    Arthan R, Martin U, Mathiesen EA, Oliva P (2007) Reasoning about linear systems. In: 5th IEEE international conference on software engineering and formal methods SEFM 2007, pp 123–134. IEEE Press

  5. AMMO09

    Arthan R, Martin U, Mathiesen EA, Oliva P (2009) A general framework for sound and complete Hoare logics. ACM Trans Comput Logic 11(1): 1–31

    MathSciNet  Article  Google Scholar 

  6. BE93

    Bloom SL, Ésik Z (1993) Iteration theories: the equational logic of iterative processes. Springer, Berlin

    MATH  Google Scholar 

  7. BHM03

    Boulton RJ, Hardy R, Martin U (2003) A Hoare logic for single-input single-output continuous-time control systems. In: Proceedings 6th international workshop on hybrid systems, computation and control. LNCS, vol 2623, pp 113–125. Springer, Berlin

  8. CCO05

    Cavalcanti ALC, Clayton P, O’Halloran C (2005) Control law diagrams in Circus. In: Fitzgerald J, Hayes IJ, Tarlecki A (eds) FM 2005: formal methods. Lecture notes in computer science, vol 3582, pp 253–268. Springer, Berlin

  9. GKM05

    Gottliebsen H, Kelsey T, Martin U (2005) Hidden verification for computational mathematics. J Symb Comput 39: 539–567

    MathSciNet  MATH  Article  Google Scholar 

  10. Hoa69

    Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10)

  11. HS05

    Haghverdi E, Scott P (2005) Towards a typed geometry of interaction. In: Ong L (ed) CSL’05. LNCS, vol 3634, pp 216–231. Springer, Berlin

  12. Jon03

    Jones CB (2003) The early search for tractable ways of reasoning about programs. Ann Hist Comput 25(2)

  13. JSV96

    Joyal A, Street R, Verity D (1996) Traced monoidal categories. Math Proc Cambridge Philos Soc 119: 447–468

    MathSciNet  MATH  Article  Google Scholar 

  14. Koz97

    Kozen D (1997) Kleene algebra with tests. ACM Trans Program Lang Syst 19(3): 427–443

    Article  Google Scholar 

  15. Lei08

    Leitner F (2008) Evaluation of the Matlab Simulink Design Verifier versus the model checker SPIN. Technical Report soft-08-05, University of Konstanz

  16. Mac75

    Mac Lane S (1975) Homology. In: Der Grundlehren der mathematischen Wissenschaften, vol 114. Springer, Berlin

  17. MMO06

    Martin U, Mathiesen EA, Oliva P (2006) Abstract Hoare logic. In: Proceedings of CSL’2006. LNCS, vol 4207, pp 501–515

  18. Pla10

    Platzer A (2010) Logical analysis of hybrid systems: proving theorems for complex dynamics. Springer, Heidelberg

    MATH  Book  Google Scholar 

  19. PW98

    Polderman JW, Willems JC (1998) Introduction to mathematical systems theory: a behavioral approach. Springer, New York

    Book  Google Scholar 

  20. Rut05

    Rutten JJMM (2005) A tutorial on coinductive stream calculus and signal flow graphs. Theor Comput Sci 343(3): 443–481

    MathSciNet  MATH  Article  Google Scholar 

  21. She05

    Sheeran M (2005) Hardware design and functional programming: a perfect match. J Univ Comput Sci 11(7): 1135–1158

    Google Scholar 

  22. Son98

    Sontag ED (1998) Mathematical control theory: deterministic finite dimensional systems, 2nd edn. Springer, New York

    MATH  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Rob Arthan.

Additional information

Jonathan P. Bowen, Michael Butler, Mike Hinchey, Steve Reeves and Jim Woodcock

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Arthan, R., Martin, U. & Oliva, P. A Hoare logic for linear systems. Form Asp Comp 25, 345–363 (2013). https://doi.org/10.1007/s00165-011-0180-9

Download citation

Keywords

  • Hoare logic
  • Formal verification
  • Linear systems
  • Control systems