Skip to main content
Log in

Angelic nondeterminism in the unifying theories of programming

  • Original Article
  • Published:
Formal Aspects of Computing

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

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

    Google Scholar 

  2. Back RJR, Wright J (1990) Duality in specification languages: a lattice-theoretical approach. Acta Inf 27(7):583–625

    MATH  Google Scholar 

  3. Back RJR, Wright J (1992) Combining angels, demons and miracles in program specifications. Theor Comput Sci 100:365–383

    Article  MATH  Google Scholar 

  4. Back RJR, Wright J (1998) Refinement calculus: a systematic introduction. Graduate texts in computer science. Springer, Berlin Heidelberg New York

    Google Scholar 

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

    Google Scholar 

  6. Cavalcanti ALC, Sampaio ACA, Woodcock JCP (2003) A refinement strategy for Circus. Formal Aspects Comput 15(2–3):146–181

    Article  MATH  Google Scholar 

  7. Cavalcanti ALC, Woodcock JCP (1998) A weakest precondition semantics for Z. Comput J 41(1):1–15

    Article  MATH  Google Scholar 

  8. Cavalcanti ALC, Woodcock JCP (1999) ZRC—a refinement calculus for Z. Formal Aspects Comput 10(3):267–289

    Article  Google Scholar 

  9. Cavalcanti ALC, Woodcock JCP (2004) Angelic nondeterminism and unifying theories of programming (extended version). Technical report, University of Kent—Computing Laboratory

    Google Scholar 

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

    Google Scholar 

  11. Dijkstra EW (1976) A discipline of programming. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

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

    Google Scholar 

  13. Gardiner PHB, Morgan CC (1991) Data refinement of predicate transformers. Theoret Comput Sci 87:143–162

    Article  MATH  MathSciNet  Google Scholar 

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

    Google Scholar 

  15. Hoare CAR, He J (1985) The weakest prespecification. Technical monograph TM-PRG-44. Oxford University Computing Laboratory, Oxford UK

    Google Scholar 

  16. Hoare CAR, He Jifeng (1998) Unifying theories of programming. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  17. Jagadeesan R, Shanbhogue V, Saraswat V (1991) Angelic non-determinism in concurrent constraint programming. Technical report, Xerox Park

    Google Scholar 

  18. Martin CE, Curtis SA, Rewitzky I (2004) Modelling nondeterminism. In: Mathematics of program construction. Lecture notes in computer science, pp 228–251

  19. Morgan CC, Gardiner PHB (1990) Data refinement by calculation. Acta Inf 27(6):481—503

    MATH  MathSciNet  Google Scholar 

  20. Martin AP, Gardiner PHB, Woodcock JCP (1996) A tactical calculus. Formal Aspects Comput 8(4):479–489

    Article  MATH  Google Scholar 

  21. Morgan CC (1994) Programming from specifications, 2nd edn. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

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

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

    Chapter  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana Cavalcanti.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-006-0001-8

Keywords

Navigation