Abstract
Recently, a refinement calculus called ZRC has been proposed for Z; it follows the style and conventions of the Z notation and is completely formalised. As any other formal technique, however, it needs tool support to be of practical use. In this paper, we present such a tool, which we call ZRC-Refine. It is an interactive tool, whose design makes it distinctively user-friendly. We believe that ZRC-Refine is a significant encouragement to the extended application of ZRC and of Z itself.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
ISO/IEC 13568: Information technology—Z formal specification notation— syntax, type system and semantics. International Standard (2002)
Abrial, J.-R.: The B-Book: Assigning Progams to Meanings. Cambridge University Press, Cambridge (1996)
Back, R.J.R.: Procedural Abstraction in the Refinement Calculus. Technical report, Department of Computer Science, Åbo, Finland, Ser. A No. 55 (1987)
Back, R.J.R., Wright, J.: Refinement Concepts Formalised in Higher Order Logic. Formal Aspects of Computing 2, 247–274 (1990)
Butler, M.J., Grundy, J., Langbacka, T., Rukvenas, R., Wright, J.: The Refinement Calculator – Proof Support for Program Refinement. In: FMP 1997 – Formal Methods Pacific. Springer, Heidelberg (1997)
Carrington, D., Hayes, I., Nickson, R., Watson, G., Welsh, J.: A program Refinement Tool. Formal Aspects of Computing 10(2), 97–124 (1998)
Cavalcanti, A.L.C.: A Refinement Calculus for Z. PhD thesis, Oxford University Computing Laboratory, Oxford - UK, Technical Monograph TM-PRG-123 (1997) ISBN 00902928-97-X
Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: Procedures and Recursion in the Refinement Calculus. Journal of the Brazilian Computer Society 5(1), 1–15 (1998)
Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: An Inconsistency in Procedures, Parameters, and Substitution the Refinement Calculus. Science of Computer Programming 33(1), 87–96 (1999)
Cavalcanti, A.L.C., Woodcock, J.C.P.: A Weakest Precondition Semantics for Z. The Computer Journal 41(1), 1–15 (1998)
Cavalcanti, A.L.C., Woodcock, J.C.P.: ZRC—A Refinement Calculus for Z. Formal Aspects of Computing 10(3), 267–289 (1999)
Coutinho, S.L., Reis, T.P.C., Cavalcanti, A.L.C.: Uma Ferramenta Educacional de Refinamentos. In: XIII Simpósio Brasileiro de Engenharia de Software, Florianópolis - SC, pp. 61–64. Sessão de Ferramentas (1999)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)
Groves, L.: Adapting Formal Derivations. Technical Report CS-TR-95-9, Victoria University of Wellington (1995)
Groves, L., Nickson, R., Utting, M.: A Tactic Driven Refinement Tool. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop, Workshops in Computing, pp. 272–297. Springer, Heidelberg (1992)
Grundy, J.: A Window Inference Tool for Refinement. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop, Workshops in Computing, pp. 230–254. Springer, Heidelberg (1992)
Hamer, U., Peleska, J.: Z Applied to the A330/340 CIDS Cabin Communication System. In: Hinchey, M.G., Bowen, J.P. (eds.) Applications of Formal Methods. ch. 11, pp. 253–284. Prentice-Hall, Englewood Cliffs (1995)
King, S.: Z and the Refinement Calculus. In: Langmaack, H., Hoare, C.A.R., Bjorner, D. (eds.) VDM 1990. LNCS, vol. 428, pp. 164–188. Springer, Heidelberg (1990)
Laibinis, L.: Mechanised Formal Reasoning about Modular Programs. PhD thesis, Turku Centre for Computer Science (2000)
Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)
Oliveira, M., Cavalcanti, A.L.C.: Tactics of Refinement. In: 14th Brazilian Symposium on Software Engineering, pp. 117–132 (2000)
Snepscheut, J.L.A.: Mechanised Support for Stepwise Refinement. In: Gutknecht, J. (ed.) Programming Languages and System Architectures. LNCS, vol. 782, pp. 35–48. Springer, Heidelberg (1994)
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)
Staples, M.: A Mechanised Theory of Refinement. PhD thesis, Cambridge University (1999)
Utting, M.: The ergo5 generic proof engine. Technical Report 97-44, Software Verification Research Centre (1997)
Vickers, T.: An Overview of a Refinement Editor. In: 5th Australian Software Engineering Conference, Sidney, Australia, pp. 39–44 (1990)
Woodcock, J.C.P.: Implementing Promoted Operations in Z. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop,Workshops in Computing, London - UK. Prentice-Hall, Englewood Cliffs (1992)
Woodcock, J.C.P., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)
Wright, J.: Program Refinement by Theorem Prover. In: Till, D. (ed.) 6th Refinement Workshop, Workshops in Computing, London - UK, pp. 121–150. Springer, Heidelberg (1994)
Wright, J., Hekanaho, J., Luostarinen, P., Langbacka, T.: Mechanizing Some Advanced Refinement Concepts. Formal Methods in System Design 3, 49–81 (1993)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Freitas, A., Nascimento, C., Cavalcanti, A. (2003). A Refinement Tool for Z. In: Dong, J.S., Woodcock, J. (eds) Formal Methods and Software Engineering. ICFEM 2003. Lecture Notes in Computer Science, vol 2885. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39893-6_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-39893-6_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20461-9
Online ISBN: 978-3-540-39893-6
eBook Packages: Springer Book Archive