Termination of real-time programs: definitely, definitely not, or maybe

  • Authors:
  • Ian J. Hayes

  • Affiliations:
  • School of Information Technology and Electrical Engineering, The University of Queensland, Brisbane, Australia

  • Venue:
  • UTP'06 Proceedings of the First international conference on Unifying Theories of Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Real-time control programs are often used in contexts where (conceptually) they run forever. Repetitions within such programs (or their specifications) may either (i) be guaranteed to terminate, (ii) be guaranteed to never terminate (loop forever), or (iii) may possibly terminate. In dealing with real-time programs and their specifications, we need to be able to represent these possibilities, and define suitable refinement orderings. A refinement ordering based on Dijkstra’s weakest precondition only copes with the first alternative. Weakest liberal preconditions allow one to constrain behaviour provided the program terminates, which copes with the third alternative to some extent. However, neither of these handles the case when a program does not terminate. To handle this case a refinement ordering based on relational semantics can be used. In this paper we explore these issues and the definition of loops for real-time programs as well as corresponding refinement laws.