Abstract
Real-time systems play an important role in many safety-critical systems. Hence it is essential to have a formal basis for the development of real-time software. In this chapter we present a predicative semantics for a real-time, wide-spectrum language. The semantics includes a special variable representing the current time, and uses timed traces to represent the values of external input and outputs over time so that reactive control systems can be handled. Because a real-time control system may be a nonterminating process, we allow the specification of nonterminating programs and the development of nonterminating repetitions. We present a set of refinement laws covering the constructs in the language. The laws make use of a relational style similar to that of Cliff Jones, although they have been generalised to handle nonterminating constructs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J.-R. Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer-Verlag, 1998.
C. J. Fidge, I. J. Hayes, and G. Watson. The deadline command. IEE Proceedings—Software, 146 (2): 104–111, April 1999.
S. Grundon, I. J. Hayes, and C. J. Fidge. Timing constraint analysis. In C. McDonald, editor, Computer Science ‘88: Proc. 21st Australasian Computer Sci. Conf (ACSC’98), Perth, 4–6 Feb., 575–586. Springer-Verlag, 1998.
I. J. Hayes. Separating timing and calculation in real-time refinement. In J. Grundy, M. Schwenke, and T. Vickers, editors, Int. Refinement Workshop and Formal Methods Pacific 1998, 1–16. Springer-Verlag, 1998.
I. J. Hayes. Real-time program refinement using auxiliary variables. In M. Joseph, editor, Proc. Formal Techniques in Real-Time and Fault-Tolerant Systems, volume 1926 of Lecture Notes in Comp. Sci., 170–184. Springer-Verlag, 2000.
I. J. Hayes. Reasoning about non-terminating loops using deadline commands. In R. Backhouse and J. N. Oliveira, editors, Proc. Mathematics of Program Construction, volume 1837 of Lecture Notes in Computer Science, 60–79. Springer-Verlag, 2000.
I. J. Hayes. Reasoning about real-time repetitions: Terminating and nonterminating. Technical Report 01–04, Software Verification Research Centre, The University of Queensland, Brisbane 4072, Australia, February 2001.
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). Springer-Verlag, 1997.
I. J. Hayes and M. Utting. A sequential real-time refinement calculus. Acta Informatica, 37 (6): 385–448, 2001.
E. C. R. Hehner. A Practical Theory of Programming. Springer-Verlag, 1993.
C. A. R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice Hall, 1998.
J. Hooman. Extending Hoare logic to real-time. Formal Aspects of Computing, 6 (6A): 801–825, 1994.
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.
C. B. Jones. Program specification and verification in VDM. Technical Report UMCS–86–10–5, Department of Computer Science, University of Manchester, 1986.
B. P. Mahony. The Specification and Refinement of Timed Processes. PhD thesis, Department of Computer Science, University of Queensland, 1992.
B. P. Mahony and I. J. Hayes. Using continuous real functions to model timed histories. In P. A. Baffles, editor, Proc. 6th Australian Software Engineering Conf. (ASWEC91), 257–270. Australian Comp. Soc., 1991.
B. P. Mahony and I. J. Hayes. A case-study in timed refinement: A mine pump. IEEE Trans. on Software Engineering, 18 (9): 817–826, 1992.
C. C. Morgan. Programming from Specifications, Second edition. Prentice Hall, 1994.
J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9 (3): 287–306, 1987.
A. C. Shaw. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering, 15 (7): 875–889, July 1989.
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-Verlag, July 1996.
M. Utting and C. J. Fidge. Refinement of infeasible real-time programs. In Proc. Formal Methods Pacific ‘87, 243–262, Wellington, New Zealand, July 1997. Springer-Verlag.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
Hayes, I. (2003). A predicative semantics for real-time refinement. In: McIver, A., Morgan, C. (eds) Programming Methodology. Monographs in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-0-387-21798-7_6
Download citation
DOI: https://doi.org/10.1007/978-0-387-21798-7_6
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2964-8
Online ISBN: 978-0-387-21798-7
eBook Packages: Springer Book Archive