Skip to main content

The Miracle of Reactive Programming

  • Conference paper
Unifying Theories of Programming (UTP 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5713))

Included in the following conference series:

Abstract

Reactive miracles are rather unexplored in Unifying Theories of Programming. We present two simple properties: prefixing a miracle with an event, and offering an external choice between a process and a miracle. Both are strange processes, each violating an important axiom of the standard failures-divergences model for CSP.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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. Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

    Book  MATH  Google Scholar 

  2. Brookes, S., Hoare, C.A.R., Roscoe, A.W.: A Theory of Communicating Sequential Processes. Journal of the ACM 31(3), 560–599 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  3. Barnes, J.E.: A Mathematical Theory of Synchronous Communication. Programming Research Group Technical Monograph PRG-112 (1993)

    Google Scholar 

  4. Burns, A., Hayes, I.J., Baxter, G., Fidge, C.J.: Modelling Temporal Behaviour in Complex Socio-Technical Systems. University of York Technical Report YCS-2005-390 (2005)

    Google Scholar 

  5. Cavalcanti, A., Woodcock, J.: A Tutorial Introduction to CSP in Shape Unifying Theories of Programming. In: Cavalcanti, A., Sampaio, A., Woodcock, J. (eds.) PSSE 2004. LNCS, vol. 3167, pp. 220–268. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation (1976)

    Google Scholar 

  7. Gries, D.: The Science of Computer Programming. Springer Monographs in Computer Science (1981)

    Google Scholar 

  8. Hayes, I.J.: The Real-Time Refinement Calculus: A Foundation for Machine-Independent Real-Time Programming. In: Esparza, J., Lakos, C.A. (eds.) ICATPN 2002. LNCS, vol. 2360, pp. 44–58. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Harwood, W., Cavalcanti, A., Woodcock, J.: A Theory of Pointers for the UTP. In: Fitzgerald, J.S., Haxthausen, A.E., Yenigün, H. (eds.) ICTAC 2008. LNCS, vol. 5160, pp. 141–155. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Hehner, E.C.R.: Predicative Programming, Part I. Communications of the ACM 27(2), 134–143 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  11. Hehner, E.C.R.: Predicative Programming, Part II. Communications of the ACM 27(2), 144–151 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  12. Hoare, C.A.R.: Communicating Sequential Processes. Communications of the ACM 21(8), 666–677 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  13. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  14. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  15. Jackson, M.J.: Software Requirements & Specifications: a Lexicon of Practice, Principles, and Prejudices. ACM Press, Addison-Wesley (1995)

    Google Scholar 

  16. Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Publishing Company, Reading (2001)

    Google Scholar 

  17. Jones, C.B.: Systematic Software Development using VDM. Prentice-Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  18. Lowe, G.: Probabilities and Priorities in Timed CSP. Programming Research Group Technical Monograph PRG-111 (1993)

    Google Scholar 

  19. Morgan, C.: Data Refinement by Miracles. Information Processing Letters 26(5), 243–246 (1988)

    Article  MathSciNet  Google Scholar 

  20. Morgan, C.: Programming from Specifications. Prentice-Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  21. Morgan, C.C.: Of wp and CSP. In: Dijkstra, E.W. (ed.) Beauty is our Business: a Birthday Salute, Springer, Heidelberg (1990)

    Google Scholar 

  22. Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP Semantics for Circus. Formal Aspects of Computing Journal (December 4, 2007), doi:10.1007/s00165-007-0052-5 (Published online)

    Google Scholar 

  23. Roscoe, A.W., Reed, G.M.: A Timed Model for Communicating Sequential Processes. Theoretical Computer Science 58, 249–261 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  24. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)

    Google Scholar 

  25. Schneider, S.: Concurrent and Real-time Systems: the CSP approach. Wiley, Chichester (2000)

    Google Scholar 

  26. Spivey, J.M.: Understanding Z: a Specification Language and its Formal Semantics. Cambridge University Press, Cambridge (1988)

    MATH  Google Scholar 

  27. Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  28. Woodcock, J., Cavalcanti, A.: A Tutorial Introduction to Designs in Unifying Theories of Programming. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 40–66. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  29. Woodcock, J., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice Hall International Series in Computer Science, p. 392 (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Woodcock, J. (2010). The Miracle of Reactive Programming. In: Butterfield, A. (eds) Unifying Theories of Programming. UTP 2008. Lecture Notes in Computer Science, vol 5713. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14521-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14521-6_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14520-9

  • Online ISBN: 978-3-642-14521-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics