Abstract
We present a refinement strategy for Circus, which is the combination of Z, CSP, and the refinement calculus in the setting of Hoare and He’s unifying theories of programming. The strategy unifies the theories of refinement for processes and their constituent actions, and provides a coherent technique for the stepwise refinement of concurrent and distributed programs involving rich data structures. This kind of development is carried out using Circus’s refinement calculus, and we describe some of its laws for the simultaneous refinement of state and control behaviour, including the splitting of a process into parallel subcomponents. We illustrate the strategy and the laws using a case study that shows the complete development of a small distributed program.
Similar content being viewed by others
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Cavalcanti, A., Sampaio, A. & Woodcock, J. A Refinement Strategy for Circus . Formal Aspects of Computing 15, 146–181 (2003). https://doi.org/10.1007/s00165-003-0006-5
Issue Date:
DOI: https://doi.org/10.1007/s00165-003-0006-5