Abstract
Hoare and He’s unifying theories of programming (UTP) is a model of alphabetised relations expressed as predicates; it supports development in several programming paradigms. The aim of Hoare and He’s work is the unification of languages and techniques, so that we can benefit from results in different contexts. In this paper, we investigate the integration of angelic nondeterminism in the UTP; we propose the unification of a model of binary multirelations, which is isomorphic to the monotonic predicate transformers model and can express angelic and demonic nondeterminism.
Similar content being viewed by others
References
Back RJR, Wright J (1989) A Lattice-theoretical Basis for a Specification Language. In: van de Snepscheut JLA (ed) Mathematics of program construction: 375th anniversary of the Groningen University. Lecture notes in computer science, vol 375. Springer, Groningen, pp 139–156
Back RJR, Wright J (1990) Duality in specification languages: a lattice-theoretical approach. Acta Inf 27(7):583–625
Back RJR, Wright J (1992) Combining angels, demons and miracles in program specifications. Theor Comput Sci 100:365–383
Back RJR, Wright J (1998) Refinement calculus: a systematic introduction. Graduate texts in computer science. Springer, Berlin Heidelberg New York
Cavalcanti ALC, Naumann DA (2002) Forward simulation for data refinement of classes. In: Eriksson L, Lindsay PA (eds) FME 2002: formal methods – getting ITt. Lecture notes in computer science, vol 2391. Springer, BerlinHeidelberg New York, pp 471–490
Cavalcanti ALC, Sampaio ACA, Woodcock JCP (2003) A refinement strategy for Circus. Formal Aspects Comput 15(2–3):146–181
Cavalcanti ALC, Woodcock JCP (1998) A weakest precondition semantics for Z. Comput J 41(1):1–15
Cavalcanti ALC, Woodcock JCP (1999) ZRC—a refinement calculus for Z. Formal Aspects Comput 10(3):267–289
Cavalcanti ALC, Woodcock JCP (2004) Angelic nondeterminism and unifying theories of programming (extended version). Technical report, University of Kent—Computing Laboratory
Cavalcanti ALC, Woodcock JCP (2005) Angelic nondeterminism and unifying theories of programming. In: Derrick J, Boiten E (eds) REFINE 2005. Eletron Notes Theoret Comput Sci, vol 137. Elsevier, Amsterdam
Dijkstra EW (1976) A discipline of programming. Prentice-Hall, Englewood Cliffs
Dunne S (2001) Recasting Hoare and He’s unifying theories of programs in the context of general correctness. In: Butterfield A, Pahl C (eds) IWFM’01: 5th Irish workshop in formal methods. BCS electronic workshops in computing, Dublin
Gardiner PHB, Morgan CC (1991) Data refinement of predicate transformers. Theoret Comput Sci 87:143–162
Hesselink WH (1992) Programs, recursion and unbounded choice—predicate transformation semantics and transformation rules. Cambridge tracts in theoretical computer science, vol 27. Cambridge University Press, Cambridge
Hoare CAR, He J (1985) The weakest prespecification. Technical monograph TM-PRG-44. Oxford University Computing Laboratory, Oxford UK
Hoare CAR, He Jifeng (1998) Unifying theories of programming. Prentice-Hall, Englewood Cliffs
Jagadeesan R, Shanbhogue V, Saraswat V (1991) Angelic non-determinism in concurrent constraint programming. Technical report, Xerox Park
Martin CE, Curtis SA, Rewitzky I (2004) Modelling nondeterminism. In: Mathematics of program construction. Lecture notes in computer science, pp 228–251
Morgan CC, Gardiner PHB (1990) Data refinement by calculation. Acta Inf 27(6):481—503
Martin AP, Gardiner PHB, Woodcock JCP (1996) A tactical calculus. Formal Aspects Comput 8(4):479–489
Morgan CC (1994) Programming from specifications, 2nd edn. Prentice-Hall, Englewood Cliffs
Rewitzky I (2003) Binary multirelations. In: Swart H, Orlowska E, Schmidt G, Roubens M (eds) Theory and application of relational structures as knowledge instruments. Lecture notes in computer science, vol 2929, pp 256–271
Woodcock JCP, Cavalcanti ALC (2002) The semantics of Circus. In: Bert D, Bowen JP, Henson MC, Robinson K (eds) ZB 2002: formal specification and development in Z and B. Lecture notes in computer science, vol 2272. Springer, Berlin Heidelberg New York, pp 184–203
Woodcock JCP, Cavalcanti ALC (2004) A tutorial introduction to designs in unifying theories of programming. In: Boiten EA, Derrick J, Smith G (eds) IFM 2004: integrated formal methods. Lecture notes in computer science, vol 2999. Springer, Berlin Heidelberg New York, pp 40–66 (invited tutorial)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cavalcanti, A., Woodcock, J. & Dunne, S. Angelic nondeterminism in the unifying theories of programming. Form Asp Comp 18, 288–307 (2006). https://doi.org/10.1007/s00165-006-0001-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-006-0001-8