Skip to main content

Automatic Translation from Circus to Java

  • Conference paper
Book cover FM 2006: Formal Methods (FM 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4085))

Included in the following conference series:

Abstract

Circus is a combination of Z and CSP that supports the development of state-rich reactive systems based on refinement. In this paper we present JCircus, a tool that automatically translates Circus programs into Java, for the purpose of animation and simulation. It is based on a translation strategy that uses the JCSP library to implement some of the CSP constructs of Circus. The tool generates a simple graphical interface; we present a simple example to demonstrate the translation strategy, and the execution of the resulting program. We discuss the class GeneralChannel, which we designed to support the implementation of multi-synchronisation. We also discuss our improvements to the translation strategy, some limitations of the tool, and our approach to prove the correctness of the multi-synchronisation protocol.

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. Woodcock, J.C.P., Cavalcanti, A.L.C.: A Concurrent Language for Refinement. In: 5th Irish Workshop on Formal Methods (2001)

    Google Scholar 

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

    MATH  Google Scholar 

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

    MATH  Google Scholar 

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

    Google Scholar 

  5. Oliveira, M.V.M.: A Refinement Calculus for Circus. PhD thesis, Department of Computer Science, The University of York (2005)

    Google Scholar 

  6. Welch, P.H.: Process Oriented Design for Java: Concurrency for All. In: International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA 2000) (2000)

    Google Scholar 

  7. Z Standards Panel. Formal Specificationn – Z Notation – Syntax, Type and Semantics — Consensus Working Draft 2.6 (2000), at: http://www.cs.york.ac.uk/~ian/zstan/

  8. Oliveira, M.V.M., Cavalcanti, A.L.C., Woodcock, J.C.P.: Refining Industrial Scale Systems in Circus. In: Communicating Process Architectures (2004)

    Google Scholar 

  9. The occam archive, at: http://vl.fmnet.info/occam/

  10. Freitas, A.: From Circus to Java: Implementation and Verification of a Translation Strategy. Master’s thesis, Department of Computer Science, The University of York (2005)

    Google Scholar 

  11. Java Development Kit, http://java.sun.com/javase/

  12. Woodcock, J.C.P.: Using Circus for Safety-Critical Applications. In: VI Brazilian Workshop on Formal Methods (2003)

    Google Scholar 

  13. Malik, P., Utting, M.: CZT: A Framework for Z Tools. In: Treharne, H., King, S., Henson, M.C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 65–84. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  14. Xavier, M.: Definição Formal e Implementação do Sistema de Tipos para a Linguagem Circus. Master’s thesis, Centro de Informática, Universidade Federal de Pernambuco, Brazil (to be submitted, 2006)

    Google Scholar 

  15. Freitas, L.: Model checking Circus. PhD thesis, Department of Computer Science, The University of York (2005)

    Google Scholar 

  16. Phillips, J.D., Stiles, G.S.: An Automatic Translation of CSP to Handel-C. In: Communicating Process Architectures (2004)

    Google Scholar 

  17. Raju, V., Rong, L., Stiles, G.S.: Automatic Conversion of CSP to CTJ, JCSP, and CCSP. In: Communicating Process Architectures (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Freitas, A., Cavalcanti, A. (2006). Automatic Translation from Circus to Java. In: Misra, J., Nipkow, T., Sekerinski, E. (eds) FM 2006: Formal Methods. FM 2006. Lecture Notes in Computer Science, vol 4085. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11813040_9

Download citation

  • DOI: https://doi.org/10.1007/11813040_9

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-37216-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics