A Concurrent Language for Refinement

We present a combination of the well-established formal specification languages Z and CSP; our objective is to provide support for the specification of both data and behaviour aspects of concurrent systems, and a development technique. The resulting language, Circus, distinguishes itself in that it is aimed at the calculational refinement of specifications to programs written in a language similar to occam and Handel-C. In this paper, we present Circus, the rationale for its design, and a case study in its use.

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

[2]  David A. Carrington,et al.  Object-Z: An Object-Oriented Extension to Z , 1989, FORTE.

[3]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

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

[5]  Jim Woodcock,et al.  The steam boiler in a unified theory of Z and CSP , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[6]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[7]  Jim Davies Specification and proof in real-time CSP , 1993, Distinguished dissertations in computer science.

[8]  Clemens Fischer,et al.  How to Combine Z with Process Algebra , 1998, ZUM.

[9]  Ana Cavalcanti A refinement calculus for Z , 1997 .

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

[11]  Jim Woodcock,et al.  An Electronic Purse: Specification, Refinement and Proof , 2000 .

[12]  John Derrick,et al.  Specification, Refinement and Verification of Concurrent Systems—An Integration of Object-Z and CSP , 2001, Formal Methods Syst. Des..

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

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

[15]  Joseph M. Morris,et al.  A Theoretical Basis for Stepwise Refinement and the Programming Calculus , 1987, Sci. Comput. Program..