Abstract
We describe refinement in Circus, a concurrent specification language that integrates imperative CSP, Z, and the refinement calculus. Each Circus process has a state and accompanying actions that define both the internal state transitions and the changes in control flow that occur during execution. We define the meaning of refinement of processes and their actions, and propose a sound data refinement technique for process refinement. Refinement laws for CSP and Z are directly relevant and applicable to Circus, but our focus here is on new laws for processes that integrate state and control. We give some new results about the distribution of data refinement through the combinators of CSP. We illustrate our ideas with the development of a distributed system of cooperating processes from a centralised specification.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
R. J. R. Back. Refinement of parallel and reactive programs. In Proceedings of the Summer School on Program Design Calculi, Lecture Notes in Computer Science. Springer-Verlag, 1992.
A. L. C. Cavalcanti and J. C. P. Woodcock. ZRC-A Refinement Calculus for Z. Formal Aspects of Computing, 10(3):267–289, 1999.
E. W. Dijkstra. Guarded commands, nondeterminacy and the formal derivation of programs. Communication of the ACM, 18:453–457, 1975.
C. Fischer. How to Combine Z with a Process Algebra. In J. Bowen, A. Fett, and M. Hinchey, editors, ZUM’98: The Z Formal Specification Notation. Springer-Verlag, 1998.
J. He, C. A. R. Hoare, and J. W. Sanders. Data Refinement Refined. In G. Goos and H. Hartmants, editors, ESOP’86 European Symposium on Programming, volume 213 of Lecture Notes in Computer Science, pages 187–196, March 1986.
C. A. R. Hoare. An Axiomatic Basis for Computer Programming. Communications of the ACM, 12:576–580, 1969.
C. A. R. Hoare. Proof of Correctness of Data Representations. Acta Informatica, 1:271–281, 1972.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.
C. A. R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice-Hall, 1998.
C. C. Morgan. Programming from Specifications. Prentice-Hall, 2nd edition, 1994.
C. C. Morgan and P. H. B. Gardiner. Data Refinement by Calculation. Acta Informatica, 27(6):481–503, 1990.
J. M. Morris. A Theoretical Basis for Stepwise Refinement and the Programming Calculus. Science of Computer Programming, 9(3):287–306, 1987.
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6:319–340, 1976.
S. Owicki and D. Gries. Verifying properties of parallel programs: an axiomatic approach. Communications of the ACM, 19(5):279–285, 1976.
A. W. Roscoe. The Theory and Practice of Concurrency. Prentice-Hall Series in Computer Science. Prentice-Hall, 1998.
J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, 2nd edition, 1992.
J. C. P. Woodcock and A. L. C. Cavalcanti. Circus: a concurrent refinement language. Technical report, Oxford University Computing Laboratory, Wolfson Building, Parks Road, Oxford OX1 3QD UK, July 2001.
J. C. P. Woodcock and A. L. C. Cavalcanti. A concurrent language for refinement. In Andrew Butterfield and Claus Pahl, editors, IWFM’01: 5th Irish Workshop in Formal Methods. Computer Science Department, Trinity College Dublin, July 2001.
J. C. P. Woodcock and A. L. C. Cavalcanti. The steam boiler in a unified theory of Z and CSP. In 8th Asia-Pacific Software Engineering Conference (APSEC 2001), 2001.
J. C. P. Woodcock and A. L. C. Cavalcanti. The Semantics of Circus. In ZB 2002 International Conference, 2002. To appear.
J. C. P. Woodcock and J. Davies. Using Z-Specification, Refinement, and Proof. Prentice-Hall, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sampaio, A., Woodcock, J., Cavalcanti, A. (2002). Refinement in Circus . In: Eriksson, LH., Lindsay, P.A. (eds) FME 2002:Formal Methods—Getting IT Right. FME 2002. Lecture Notes in Computer Science, vol 2391. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45614-7_26
Download citation
DOI: https://doi.org/10.1007/3-540-45614-7_26
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43928-8
Online ISBN: 978-3-540-45614-8
eBook Packages: Springer Book Archive