Skip to main content

Refinement in Circus

  • Conference paper
  • First Online:
FME 2002:Formal Methods—Getting IT Right (FME 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2391))

Included in the following conference series:

Abstract

We describe refinement in Circus, a concurrent specification language that integrates imperative CSP, Z, and the refinement calculus. Each Circus process has a state and accompanying actions that define both the internal state transitions and the changes in control flow that occur during execution. We define the meaning of refinement of processes and their actions, and propose a sound data refinement technique for process refinement. Refinement laws for CSP and Z are directly relevant and applicable to Circus, but our focus here is on new laws for processes that integrate state and control. We give some new results about the distribution of data refinement through the combinators of CSP. We illustrate our ideas with the development of a distributed system of cooperating processes from a centralised specification.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. R. J. R. Back. Refinement of parallel and reactive programs. In Proceedings of the Summer School on Program Design Calculi, Lecture Notes in Computer Science. Springer-Verlag, 1992.

    Google Scholar 

  2. A. L. C. Cavalcanti and J. C. P. Woodcock. ZRC-A Refinement Calculus for Z. Formal Aspects of Computing, 10(3):267–289, 1999.

    Article  Google Scholar 

  3. E. W. Dijkstra. Guarded commands, nondeterminacy and the formal derivation of programs. Communication of the ACM, 18:453–457, 1975.

    Article  MATH  MathSciNet  Google Scholar 

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

  5. J. He, C. A. R. Hoare, and J. W. Sanders. Data Refinement Refined. In G. Goos and H. Hartmants, editors, ESOP’86 European Symposium on Programming, volume 213 of Lecture Notes in Computer Science, pages 187–196, March 1986.

    Google Scholar 

  6. C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Communications of the ACM, 12:576–580, 1969.

    Article  MATH  Google Scholar 

  7. C. A. R. Hoare. Proof of Correctness of Data Representations. Acta Informatica, 1:271–281, 1972.

    Article  MATH  Google Scholar 

  8. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.

    Google Scholar 

  9. C. A. R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice-Hall, 1998.

    Google Scholar 

  10. C. C. Morgan. Programming from Specifications. Prentice-Hall, 2nd edition, 1994.

    Google Scholar 

  11. C. C. Morgan and P. H. B. Gardiner. Data Refinement by Calculation. Acta Informatica, 27(6):481–503, 1990.

    Article  MATH  MathSciNet  Google Scholar 

  12. J. M. Morris. A Theoretical Basis for Stepwise Refinement and the Programming Calculus. Science of Computer Programming, 9(3):287–306, 1987.

    Article  MATH  MathSciNet  Google Scholar 

  13. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6:319–340, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  14. S. Owicki and D. Gries. Verifying properties of parallel programs: an axiomatic approach. Communications of the ACM, 19(5):279–285, 1976.

    Article  MATH  MathSciNet  Google Scholar 

  15. A. W. Roscoe. The Theory and Practice of Concurrency. Prentice-Hall Series in Computer Science. Prentice-Hall, 1998.

    Google Scholar 

  16. J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, 2nd edition, 1992.

    Google Scholar 

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

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

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

  20. J. C. P. Woodcock and A. L. C. Cavalcanti. The Semantics of Circus. In ZB 2002 International Conference, 2002. To appear.

    Google Scholar 

  21. J. C. P. Woodcock and J. Davies. Using Z-Specification, Refinement, and Proof. Prentice-Hall, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sampaio, A., Woodcock, J., Cavalcanti, A. (2002). Refinement in Circus . In: Eriksson, LH., Lindsay, P.A. (eds) FME 2002:Formal Methods—Getting IT Right. FME 2002. Lecture Notes in Computer Science, vol 2391. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45614-7_26

Download citation

  • DOI: https://doi.org/10.1007/3-540-45614-7_26

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43928-8

  • Online ISBN: 978-3-540-45614-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics