Skip to main content

From Circus to JCSP

  • Conference paper

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

Abstract

Circus is a combination of Z, CSP, and Morgan’s refinement calculus; it has an associated refinement strategy that supports the development of reactive programs. In this work, we present rules to translate Circus programs to Java programs that use JCSP, a library that implements CSP constructs. These rules can be used as a complement to the Circus algebraic refinement technique, or as a guideline for implementation. They are a link between the results on refinement in the context of Circus and a practical programming language in current use. The rules can also be used as the basis for a tool that mechanises the translation.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cavalcanti, A.L.C., Sampaio, A.C.A.: From CSP-OZ to Java with Processes (Extended Version). Technical report, Centro de Informática/UFPE (2000); Available at, http://www.cin.ufpe.br/~lmf

  2. Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: A Refinement Strategy for Circus. Formal Aspects of Computing 15(2-3), 146–181 (2003)

    Article  MATH  Google Scholar 

  3. Fischer, C.: CSP-OZ: A combination of Object-Z and CSP. In: Bowmann, H., Derrick, J. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 1997), vol. 2, pp. 423–438. Chapman & Hall, Boca Raton (1997)

    Google Scholar 

  4. Fischer, C.: Combination and Implementation of Processes and Data: from CSP-OZ to Java. PhD thesis, Fachbereich Informatik, Universität Oldenburg, Oldenburg - Germany (2000)

    Google Scholar 

  5. Galloway, A.J.: 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 

  6. Hilderink, G., Broenink, J., Vervoort, W., Bakkers, A.: Communicating Java Threads. In: Parallel Programming and Java Conference (1997)

    Google Scholar 

  7. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  8. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  9. McEwan, A.A.: Concurrent Program Development. PhD thesis, Oxford University Computing Laboratory, Oxford - UK (to appear, 2000)

    Google Scholar 

  10. Morgan, C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)

    MATH  Google Scholar 

  11. Oliveira, M.V.M.: A Refinement Calculus for Circus - Mini-thesis. Mini-thesis 8-04, University of Kent, Canterbury, CT2 7NF, UK (April 2004)

    Google Scholar 

  12. Oliveira, M.V.M.: From Circus to JCSP - Summation Example Source Code (2004); At, http://www.cs.kent.ac.uk/~mvmo2/circus/summation.pdf

  13. Oliveira, M.V.M., Cavalcanti, A.L.C., Woodcock, J.C.P.: Refining Industrial Scale Systems in Circus. In: East, I., Martin, J., Welch, P., Duce, D., Green, M. (eds.) Communicating Process Architectures. IOS Press, Amsterdam (to appear, 2004)

    Google Scholar 

  14. Welch, P.H., Stiles, G.S., Hilderink, G.H., Bakkers, A.P.: CSP for Java: Multithreading for All. In: Cook, B.M. (ed.) Architectures, Languages and Techniques for Concurrent Systems, Amsterdam, the Netherlands, April 1999. Concurrent Systems Engineering Series, vol. 57. IOS Press, Amsterdam (1999)

    Google Scholar 

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

    Google Scholar 

  16. Roscoe, A.W., Woodcock, J.C.P., Wulf, L.: Non-interference through Determinism. In: Gollmann, D. (ed.) ESORICS 1994. LNCS, vol. 875, pp. 33–54. Springer, Heidelberg (1994)

    Google Scholar 

  17. Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  18. Taguchi, K., Araki, K.: The State-based CCS Semantics for Concurrent Z Specification. In: Hinchey, M., Liu, S. (eds.) International Conference on Formal Engineering Methods, pp. 283–292. IEEE, Los Alamitos (1997)

    Chapter  Google Scholar 

  19. Woodcock, J.C.P.: Using Circus for Safety-Critical Applications. In: VI Brazilian Workshop on Formal Methods, Campina Grande, Brazil, October 12th–14st, pp. 1–15 (2003)

    Google Scholar 

  20. Woodcock, J.C.P., Cavancanti, A.L.C.: Circus: a concurrent refinement language. Technical report, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD UK (July 2001)

    Google Scholar 

  21. Woodcock, J.C.P., Davies, J.: Using Z – Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Oliveira, M., Cavalcanti, A. (2004). From Circus to JCSP. In: Davies, J., Schulte, W., Barnett, M. (eds) Formal Methods and Software Engineering. ICFEM 2004. Lecture Notes in Computer Science, vol 3308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30482-1_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30482-1_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23841-6

  • Online ISBN: 978-3-540-30482-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics