Real-Time Program Refinement Using Auxiliary Variables
Real-time program development can be split into a machine- independent phase, that deriv es a machine-independent real-time program from a specification, and a machine-dependent phase, that checks that the compiled program will meet its deadlines when executed on the target machine.
In this paper we extend a machine-independent real-time programming language with auxiliary variables. These are introduced to facilitate both reasoning about the correctness of real-time programs and the expression of timing deadlines, and hence the calculation of timing constraints on paths through a program. The auxiliary variable concept is extended to auxiliary parameters to procedures.
KeywordsAuxiliary Variable Sequential Composition Main Program Logical Constant Auxiliary Parameter
Unable to display preview. Download preview PDF.
- S. Grundon, I. J. Hayes, and C. J. Fidge. Timing constraint analysis. In C. Mc-Donald, editor, Computer Science’ 98: Proc. 21st Australasian Computer Science Conf. (ACSC’98), Perth, 4-6 Feb., pages 575–586. Springer-Verlag, 1998.Google Scholar
- I. J. Hayes. Reasoning about non-terminating loops using deadline commands. In Roland Backhouse and Jose Oliveira, editors, Mathematics of Program Construction (MPC’2000), July 2000.Google Scholar
- I. J. Hayes, C. J. Fidge, and K. Lermer. Semantic identification of dead control-flow paths. Technical Report 99-32, Software Verification Research Centre, The University of Queensland, October 1999.Google Scholar
- I. J. Hayes and M. Utting. Coercing real-time refinement: A transmitter. In D. J. Duke and A. S. Evans, editors, BCS-FACS Northern Formal Methods Workshop (NFMW’96), Electronic Workshops in Computing. Springer Verlag, 1997.Google Scholar
- I. J. Hayes and M. Utting. A sequential real-time refinement calculus. Technical Report UQ-SVRC-97-33, Software Verification Research Centre, The University of Queensland, URL http://svrc.it.uq.edu.au, 1997.
- E. C. R. Hehner. Termination is timing. In J.L.A. van de Snepscheut, editor, Mathematics of Program Construction, volume 375 of Lecture Notes in Computer Science, pages 36–47. Springer-Verlag, June 1989.Google Scholar
- E. C. R. Hehner. A Practical Theory of Programming. Springer Verlag, 1993.Google Scholar
- J. Hooman and O. van Roosmalen. Formal design of real-time systems in a platform-independent way. Parallel and Distributed Computing Practices, 1(2):15–30, 1998.Google Scholar
- C. C. Morgan. Programming from Specifications. Prentice Hall, second edition,1994.Google Scholar
- M. Utting and C. J. Fidge. A real-time refinement calculus that changes only time. In He Jifeng, editor, Proc. 7th BCS/FACS Refinement Workshop, Electronic Workshops in Computing. Springer, July 1996. URL http://www.springer.co.uk/eWiC/Workshops/7RW.html.