Abstract
In previous work, we have presented a mechanisation of Circus for the theorem prover ProofPowerZ. Circus is a refinement language for state-rich reactive systems that combines Z and CSP. In this paper, we present techniques to automate the discharge of proof obligations typically generated by the Circus refinement laws. They eliminate most of the proofs that are imposed by the fact that the encoding has to be precise about typing and well-definedness issues, and leave just those that are expected in a pen-and-paper refinement. This allows us to concentrate on the proof of properties that are significant for the problem at hand, while benefiting from the increased assurance and efficiency afforded by the use of a theorem prover as well as high-level tactic languages for refinement. Our case study is a refinement strategy for verification of control systems; we present the result of several experiments.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Butterfield, A.: Saoithín Proof Assistant, http://www.scss.tcd.ie/Andrew.Butterfield/Saoithin/
Cavalcanti, A., Clayton, P., O’Halloran, C.: Control Law Diagrams in Circus. In: FM 2005: Formal Methods. LNCS, vol. 3582, pp. 253–268. Springer, Heidelberg (2005)
Cavalcanti, A., Clayton, P., O’Halloran, C.: From Control Law Diagrams to Ada via Circus. Technical report, University of York, York, U.K. (April 2008)
Cavalcanti, A., Sampaio, A., Woodcock, J.: A Refinement Strategy for Circus. Formal Aspects of Computing 15(2-3), 146–181 (2003)
Dijkstra, E.: A Discipline of Programming. Prentice Hall Series in Automatic Computation. Prentice Hall, Englewood Cliffs (1976)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)
Martin, A., Gardiner, P., Woodcock, J.: A Tactic Calculus - Abridged Version. Formal Aspects of Computing 8(4), 479–489 (1996)
Morgan, C.: Programming from Specifications. Prentice Hall International Series in Computer Science. Prentice Hall, Englewood Cliffs (1998)
Oliveira, M.: Formal Derivation of State-Rich Reactive Programs using Circus. PhD thesis, Department of Computer Science, University of York (2005)
Oliveira, M., Cavalcanti, A.: ArcAngelC: a refinement tactic language for Circus. Electronic Notes in Theoretical Computer Science 214, 203–229 (2008)
Oliveira, M., Cavalcanti, A., Woodcock, J.: ArcAngel: a Tactic Language for Refinement. Formal Aspects of Computing 15(1), 28–47 (2003)
Oliveira, M., Cavalcanti, A., Woodcock, J.: A UTP semantics for Circus. Formal Aspects of Computing, Online First (December 2007)
Oliveira, M., Cavalcanti, A., Zeyda, F.: A Tactic Language for Refinement of State-Rich Concurrent Specifications (to appear)
Oliveira, M., Xavier, M., Cavalcanti, A.: Refine and Gabriel: Support for Refinement and Tactics. In: Proceedings of the Second Int. Conference on Software Engineering and Formal Methods, pp. 310–319. IEEE Computer Society, Los Alamitos (2004)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall Series in Computer Science. Prentice Hall, Englewood Cliffs (1997)
Spivey, J.M.: The Z Notation: A Reference Manual. Prentice-Hall International Series In Computer Science. Prentice Hall PTR, Englewood Cliffs (1992)
von Wright, J.: Program Refinement by Theorem Prover. In: BCS FACS Sixth Refinement Workshop – Theory and Practise of Formal Software Development, London, U.K. Springer, Heidelberg (1994)
Zeyda, F., Cavalcanti, A.: Supporting ArcAngel in ProofPower. Electronic Notes in Theoretical Computer Science 259, 225–243 (2009)
Zeyda, F., Cavalcanti, A.: Mechanical Reasoning about Families of UTP Theories. Science of Computer Programming (March 2010), doi:dx.doi.org/10.1016/j.scico.2010.02.010
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zeyda, F., Cavalcanti, A. (2011). Automating Refinement of Circus Programs. In: Davies, J., Silva, L., Simao, A. (eds) Formal Methods: Foundations and Applications. SBMF 2010. Lecture Notes in Computer Science, vol 6527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19829-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-19829-8_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19828-1
Online ISBN: 978-3-642-19829-8
eBook Packages: Computer ScienceComputer Science (R0)