Formal Aspects of Computing

, Volume 25, Issue 3, pp 345–363 | Cite as

A Hoare logic for linear systems

Original Article

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.

Keywords

Hoare logic Formal verification Linear systems Control systems 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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, BerlinGoogle Scholar
  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)Google Scholar
  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, BerlinGoogle Scholar
  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 PressGoogle Scholar
  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–31MathSciNetCrossRefGoogle Scholar
  6. BE93.
    Bloom SL, Ésik Z (1993) Iteration theories: the equational logic of iterative processes. Springer, BerlinMATHGoogle 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, BerlinGoogle Scholar
  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, BerlinGoogle Scholar
  9. GKM05.
    Gottliebsen H, Kelsey T, Martin U (2005) Hidden verification for computational mathematics. J Symb Comput 39: 539–567MathSciNetMATHCrossRefGoogle Scholar
  10. Hoa69.
    Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10)Google Scholar
  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, BerlinGoogle Scholar
  12. Jon03.
    Jones CB (2003) The early search for tractable ways of reasoning about programs. Ann Hist Comput 25(2)Google Scholar
  13. JSV96.
    Joyal A, Street R, Verity D (1996) Traced monoidal categories. Math Proc Cambridge Philos Soc 119: 447–468MathSciNetMATHCrossRefGoogle Scholar
  14. Koz97.
    Kozen D (1997) Kleene algebra with tests. ACM Trans Program Lang Syst 19(3): 427–443CrossRefGoogle 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 KonstanzGoogle Scholar
  16. Mac75.
    Mac Lane S (1975) Homology. In: Der Grundlehren der mathematischen Wissenschaften, vol 114. Springer, BerlinGoogle Scholar
  17. MMO06.
    Martin U, Mathiesen EA, Oliva P (2006) Abstract Hoare logic. In: Proceedings of CSL’2006. LNCS, vol 4207, pp 501–515Google Scholar
  18. Pla10.
    Platzer A (2010) Logical analysis of hybrid systems: proving theorems for complex dynamics. Springer, HeidelbergMATHCrossRefGoogle Scholar
  19. PW98.
    Polderman JW, Willems JC (1998) Introduction to mathematical systems theory: a behavioral approach. Springer, New YorkCrossRefGoogle Scholar
  20. Rut05.
    Rutten JJMM (2005) A tutorial on coinductive stream calculus and signal flow graphs. Theor Comput Sci 343(3): 443–481MathSciNetMATHCrossRefGoogle Scholar
  21. She05.
    Sheeran M (2005) Hardware design and functional programming: a perfect match. J Univ Comput Sci 11(7): 1135–1158Google Scholar
  22. Son98.
    Sontag ED (1998) Mathematical control theory: deterministic finite dimensional systems, 2nd edn. Springer, New YorkMATHGoogle Scholar

Copyright information

© British Computer Society 2011

Authors and Affiliations

  1. 1.School of Electronic Engineering and Computer Science, Queen MaryUniversity of LondonLondonUK

Personalised recommendations