Abstract
Object-Z has a repertoire of operation operators and admits recursively defined operations to permit complex operations to be expressed compositionally via more primitive operation components. Although the operators are rigorously defined in the literature, some of these definitions are intuitively obscure. In this paper we interpret Object-Z class operations as generalised substitutions, thus investing them for the first time with a wp semantics. We can then bring to bear our theory of generalised substitutions to express Object-Z’s operation operators in a new way which brings more intuitive clarity to their definitions. We also expose a flaw in the prevailing standard treatment of recursively defined operations in Object-Z, and draw on our theory of substitutions in proposing how to rectify that treatment.
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
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Cavalcanti, A., Woodcock, J.: A weakest-precondition semantics for Z. The Computer Journal 41(1), 663–675 (1998)
Deutsch, M., Henson, M.C., Reeves, S.: Operation refinement and monotonicity in the schema calculus. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 103–126. Springer, Heidelberg (2003)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall International, Englewood Cliffs (1976)
Dunne, S.E.: A theory of generalised substitutions. In: Bert, D., P. Bowen, J., C. Henson, M., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 270–290. Springer, Heidelberg (2002)
Groves, L.: Refinement and the Z schema calculus. In: Derrick, J., Boiten, E., Woodcock, J., von Wright, J. (eds.) REFINE 2002, an FME-sponsored Refinement Workshop in collaboration with BCS FACS, Copenhagen, July 2002. Electronic Notes in Theoretical Computer Science, Elsevier, Amsterdam (2002), http://www.elsevier.nl/locate/entcs
Hehner, E.C.R.: Bunch theory: a simple set theory for computer science. Information Processing Letters 12(1), 26–30 (1981)
Hehner, E.C.R.: A Practical Theory of Programming. Springer, Heidelberg (1993)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
Derrick, J., Boiten, E.: Refinement in Z and Object-Z. Springer, Heidelberg (2001)
Smith, G.: The Object-Z Specification Language. Advances in Formal Methods. Kluwer Academic Publishers, Dordrecht (2000)
Smith, G.: Recursive schema definitions in Object-Z. In: P. Bowen, J., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, pp. 42–58. Springer, Heidelberg (2000)
Tarski, A.: A lattice-theoretical fixed-point theorem and its applications. Pacific Journal of Mathematics 5, 285–309 (1955)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dunne, S. (2004). Understanding Object-Z Operations as Generalised Substitutions. In: Boiten, E.A., Derrick, J., Smith, G. (eds) Integrated Formal Methods. IFM 2004. Lecture Notes in Computer Science, vol 2999. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24756-2_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-24756-2_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21377-2
Online ISBN: 978-3-540-24756-2
eBook Packages: Springer Book Archive