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.
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
Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Brookes, S., Hoare, C.A.R., Roscoe, A.W.: A Theory of Communicating Sequential Processes. Journal of the ACM 31(3), 560–599 (1984)
Barnes, J.E.: A Mathematical Theory of Synchronous Communication. Programming Research Group Technical Monograph PRG-112 (1993)
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)
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)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation (1976)
Gries, D.: The Science of Computer Programming. Springer Monographs in Computer Science (1981)
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)
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)
Hehner, E.C.R.: Predicative Programming, Part I. Communications of the ACM 27(2), 134–143 (1984)
Hehner, E.C.R.: Predicative Programming, Part II. Communications of the ACM 27(2), 144–151 (1984)
Hoare, C.A.R.: Communicating Sequential Processes. Communications of the ACM 21(8), 666–677 (1978)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
Jackson, M.J.: Software Requirements & Specifications: a Lexicon of Practice, Principles, and Prejudices. ACM Press, Addison-Wesley (1995)
Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley Publishing Company, Reading (2001)
Jones, C.B.: Systematic Software Development using VDM. Prentice-Hall, Englewood Cliffs (1990)
Lowe, G.: Probabilities and Priorities in Timed CSP. Programming Research Group Technical Monograph PRG-111 (1993)
Morgan, C.: Data Refinement by Miracles. Information Processing Letters 26(5), 243–246 (1988)
Morgan, C.: Programming from Specifications. Prentice-Hall, Englewood Cliffs (1990)
Morgan, C.C.: Of wp and CSP. In: Dijkstra, E.W. (ed.) Beauty is our Business: a Birthday Salute, Springer, Heidelberg (1990)
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)
Roscoe, A.W., Reed, G.M.: A Timed Model for Communicating Sequential Processes. Theoretical Computer Science 58, 249–261 (1988)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)
Schneider, S.: Concurrent and Real-time Systems: the CSP approach. Wiley, Chichester (2000)
Spivey, J.M.: Understanding Z: a Specification Language and its Formal Semantics. Cambridge University Press, Cambridge (1988)
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1992)
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)
Woodcock, J., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice Hall International Series in Computer Science, p. 392 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)