From Circus to JCSP

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.

[1]  Peter H. Welch,et al.  CSP for Java: Multithreading for all , 1999 .

[2]  Jim Woodcock,et al.  Using Circus for Safety-critical Applications , 2004, WMF.

[3]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[4]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[5]  Andy J. Galloway Integrated formal methods with richer methodological profiles for the development of multi-perspective systems , 1996 .

[6]  Augusto Sampaio,et al.  A Refinement Strategy for Circus , 2003, Formal Aspects of Computing.

[7]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[8]  Corporate Inmos Limited Communicating Process Architecture , 1989 .

[9]  Clemens Fischer CSP-OZ: a combination of object-Z and CSP , 1997 .

[10]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[11]  Marcel V. M. Oliveira A Refinement Calculus for Circus - Mini-thesis , 2004 .

[12]  Jim Woodcock,et al.  Refining Industrial Scale Systems in Circus , 2004 .

[13]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[14]  Dieter Gollmann,et al.  Computer Security — ESORICS 94 , 1994, Lecture Notes in Computer Science.

[15]  Jim Woodcock,et al.  Non-interference through Determinism , 1994, J. Comput. Secur..

[16]  Alistair A. McEwan Concurrent program development , 2006 .

[17]  Augusto Sampaio,et al.  From CSP-OZ to Java with processes , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[18]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[19]  Keijiro Araki,et al.  The state-based CCS semantics for concurrent Z specification , 1997, First IEEE International Conference on Formal Engineering Methods.

[20]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[21]  Johannes F. Broenink,et al.  Communicating Java Threads , 1997 .