Skip to main content

A predicative semantics for real-time refinement

  • Chapter
Programming Methodology

Part of the book series: Monographs in Computer Science ((MCS))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 149.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-R. Abrial. The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.

    Google Scholar 

  2. R.-J. Back and J. von Wright. Refinement Calculus: A Systematic Introduction. Springer-Verlag, 1998.

    Google Scholar 

  3. C. J. Fidge, I. J. Hayes, and G. Watson. The deadline command. IEE Proceedings—Software, 146 (2): 104–111, April 1999.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. I. J. Hayes and M. Utting. A sequential real-time refinement calculus. Acta Informatica, 37 (6): 385–448, 2001.

    Article  MathSciNet  MATH  Google Scholar 

  11. E. C. R. Hehner. A Practical Theory of Programming. Springer-Verlag, 1993.

    Google Scholar 

  12. C. A. R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice Hall, 1998.

    Google Scholar 

  13. J. Hooman. Extending Hoare logic to real-time. Formal Aspects of Computing, 6 (6A): 801–825, 1994.

    Article  MATH  Google Scholar 

  14. 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 

  15. C. B. Jones. Program specification and verification in VDM. Technical Report UMCS–86–10–5, Department of Computer Science, University of Manchester, 1986.

    Google Scholar 

  16. B. P. Mahony. The Specification and Refinement of Timed Processes. PhD thesis, Department of Computer Science, University of Queensland, 1992.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Article  Google Scholar 

  19. C. C. Morgan. Programming from Specifications, Second edition. Prentice Hall, 1994.

    MATH  Google Scholar 

  20. J. M. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9 (3): 287–306, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  21. A. C. Shaw. Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering, 15 (7): 875–889, July 1989.

    Article  Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics