The Semantics of Circus

  • Jim Woodcock
  • Ana Cavalcanti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2272)


Circus is a concurrent language for refinement; it is a unification of imperative CSP, Z, and the refinement calculus. We describe the language of Circus and the formalisation of its model in Hoare & He’s unifying theories of programming.


Unify Theory Healthiness Condition Sequential Composition Syntactic Category Process Observation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J. R. Abrial, E. Borger, and J. Langmaack, editors. Formal Methods for Industrial Application, volume 1165 of Lecture Notes in Computer Science. Springer Verlag, 1996.Google Scholar
  2. 2.
    R. J. R. Back and J. Wright. Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer-Verlag, 1998.Google Scholar
  3. 3.
    J. C. Bauer. Specification for a software program for a boiler water content monitor and control system. Technical report, Institute of Risk Research, University of Waterloo, 1993.Google Scholar
  4. 4.
    S. M. Brien and J. E. Nicholls. Z Base Standard, Version 1.0. Technical Monograph TM-PRG-107, Oxford University Computing Laboratory, Oxford-UK, November 1992.Google Scholar
  5. 5.
    D. Carrington, D. Duke, R. Duke, P. King, G. A. Rose, and G. Smith. Object-Z: An Object-oriented Extension to Z. Formal Description Techniques, II (FORTE’89), pages 281–296, 1990.Google Scholar
  6. 6.
    A. L. C. Cavalcanti and A. C. A. Sampaio. From CSP-OZ to Java with Processes (Extended Version). Technical report, Centro de Informática/UFPE, 2001. Available at
  7. 7.
    A. L. C. Cavalcanti and J. C. P. Woodcock. ZRC-A Refinement Calculus for Z. Formal Aspects of Computing, 10(3):267–289, 1999.CrossRefGoogle Scholar
  8. 8.
    J. Davies. Specification and Proof in Real-time CSP. Cambridge University Press, 1993.Google Scholar
  9. 9.
    E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
  10. 10.
    C. Fischer. CSP-OZ: A combination of Object-Z and CSP. In H. Bowmann and J. Derrick, editors, Formal Methods for Open Object-Based Distributed Systems (FMOODS’97), volume 2, pages 423–438. Chapman & Hall, 1997.Google Scholar
  11. 11.
    C. Fischer. How to Combine Z with a Process Algebra. In J. Bowen, A. Fett, and M. Hinchey, editors, ZUM’98: The Z Formal Specification Notation. Springer-Verlag, 1998.Google Scholar
  12. 12.
    C. Fischer. Combination and Implementation of Processes and Data: from CSP-OZ to Java. PhD thesis, Fachbereich Informatik Universitat Oldenburg, 2000.Google Scholar
  13. 13.
    Formal Systems (Europe) Ltd. FDR: User Manual and Tutorial, version 2.28, 1999.Google Scholar
  14. 14.
    A. J. Galloway. Integrated Formal Methods with Richer Methodological Profiles for the Development of Multi-perspective Systems. PhD thesis, University of Teeside, School of Computing and Mathematics, 1996.Google Scholar
  15. 15.
    C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.Google Scholar
  16. 16.
    C. A. R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice-Hall, 1998.Google Scholar
  17. 17.
    C. A. R. Hoare and A. W. Roscoe. Programs as executable predicates. In Proceedings of the International Conference on Fifth Generation Computer Systems 1984 (FGCS’84), pages 220–228, Tokyo, Japan, November 1984. Institute for New Generation Computer Technology.Google Scholar
  18. 18.
    I. Meisels. Software Manual for Windows Z/EVES Version 2.1. ORA Canada, 2000. TR-97-5505-04g.Google Scholar
  19. 19.
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  20. 20.
    C. C. Morgan. Of wp and csp. In W. H. J. Feijen, A. J. M. van Gasteren, D. Gries, and J. Misra, editors, Beauty is our business: a birthday salute to Edsger W. Dijkstra. Springer, 1990.Google Scholar
  21. 21.
    C. C. Morgan. Programming from Specifications. Prentice-Hall, 2nd edition, 1994.Google Scholar
  22. 22.
    J. M. Morris. A Theoretical Basis for Stepwise Refinement and the Programming Calculus. Science of Computer Programming, 9(3):287–306, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    A. W. Roscoe. The Theory and Practice of Concurrency. Prentice-Hall Series in Computer Science. Prentice-Hall, 1998.Google Scholar
  24. 24.
    A. W. Roscoe, J. C. P. Woodcock, and L. Wulf. Non-interference through Determinism. In D. Gollmann, editor, ESORICS 94, volume 1214 of Lecture Notes in Computer Science, pages 33–54. Springer-Verlag, 1994.Google Scholar
  25. 25.
    G. Smith. A Semantic Integration of Object-Z and CSP for the Specification of Concurrent Systems Specified in Object-Z and CSP. In C. B. Jones J. Fitzgerald and P. Lucas, editors, Proceedings of FME’97, volume 1313 of Lecture Notes in Computer Science, pages 62–81. Springer-Verlag, 1997.Google Scholar
  26. 26.
    J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, 2nd edition, 1992.Google Scholar
  27. 27.
    S. Stepney, D. Cooper, and J. C. P. Woodcock. An Electronic Purse: Specification, Refinement, and Proof. Technical Monograph PRG-126, Oxford University Computing Laboratory, 2000.Google Scholar
  28. 28.
    K. Taguchi and K. Araki. The State-based CCS Semantics for Concurrent Z Specification. In M. Hinchey and Shaoying Liu, editors, International Conference on Formal Engineering Methods, pages 283–292. IEEE, 1997.Google Scholar
  29. 29.
    J. C. P. Woodcock. Montigel’s Dwarf, a treatment of the dwarf-signal problem using CSP/FDR. In Proceedings of the 5th FMERail Workshop, Toulouse, France, September 1999.Google Scholar
  30. 30.
    J. C. P. Woodcock and A. L. C. Cavalcanti. A Circus steam boiler: using the unifying theory of Z and CSP. Technical report, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD UK, July 2001.Google Scholar
  31. 31.
    J. C. P. Woodcock and A. L. C. Cavalcanti. Circus: a concurrent refinement language. Technical report, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD UK, July 2001.Google Scholar
  32. 32.
    J. C. P. Woodcock and A. L. C. Cavalcanti. A concurrent language for refinement. In Andrew Butterfield and Claus Pahl, editors, IWFM’01: 5th Irish Workshop in Formal Methods. Computer Science Department, Trinity College Dublin, July 2001.Google Scholar
  33. 33.
    J. C. P. Woodcock and A. L. C. Cavalcanti. The steam boiler in a unified theory of Z and CSP. In 8th Asia-Pacific Software Engineering Conference (APSEC 2001), 2001.Google Scholar
  34. 34.
    J. C. P. Woodcock, J. Davies, and C. Bolton. Abstract Data Types and Processes. In J. Davies, A. W. Roscoe, and J. C. P. Woodcock, editors, Millenial Perspectives in Computer Science, Proceedings of the 1999 Oxford-Microsoft Symposium in honour of Sir Tony Hoare, pages 391–405. Palgrave, 2000.Google Scholar
  35. 35.
    J. C. P. Woodcock and Alistair McEwan. Specifying a Handel-C program in the Unifying Theory. In Proceedings of the Workshop on Parallel Programming, Las Vegas, November 1999.Google Scholar
  36. 36.
    J. C. P. Woodcock and C. C. Morgan. Refinement of state-based concurrent systems. In D. Bjørner, C. A. R. Hoare, and H. Langmaack, editors, VDM’90: VDM and Z—Formal Methods in Software Development, number 428 in LNCS, pages 340–351. Springer, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Jim Woodcock
    • 1
  • Ana Cavalcanti
    • 2
  1. 1.Oxford University Computing LaboratoryOxfordUK
  2. 2.Universidade Federal de Pernambuco/Centro de InformáticaRecife PEBrazil

Personalised recommendations