Abstract
The Z notation for the formal specification of software and systems is based on set-theory and first-order predicate calculus and is widely used and understood. Recent research has demonstrated that by extending the notation to include the idea of a class schema grouping together a state schema and the operation schemas referring to it, an object oriented specification style can be supported.
This paper introduces the concept of inheritance into object oriented Z in two ways. First of all, it defines derivation, an incremental inheritance technique for expressing new class schemas in terms of old ones. Secondly, it characterises subtyping inheritance as a technique for the hierarchical classification of objects. Thus derivation in Z is a basis for reusing existing specification modules. Subtyping inheritance is the basis for considering the substitutability of one class for another.
Preview
Unable to display preview. Download preview PDF.
References
J-R Abrial, S Schumann and B Meyer, Specification language, in R McKeag and A Macnaghten (eds), On the construction of programs: an advanced course, Cambridge University Press, 1980
Pierre America, A behavioural approach to subtyping in object oriented programming languages, ESPRIT Project 415 Doc No 443, January 1989
Ed Brinksma, Giuseppe Scollo and Chris Steenbergen, LOTOS specifications, their implementations and their tests, Proc. Sixth International Symposium on Protocol Specification, Testing and Verification, Montreal, June 1986 (North Holland)
Luca Cardelli and Peter Wegner, On understanding types, data abstraction and polymorphism, Computing Surveys 17, December 1985
D Carrington, D Duke, R Duke, P King, G Rose and G Smith, Object-Z: An object oriented extension to Z, FORTE89 — International Conference On Formal Description Techniques, Vancouver, December 1989 (North Holland)
William Cook, Jens Palsberg, A denotational semantics of inheritance and its correctness, Object Oriented Programming Systems, Languages and Applications 89, New Orleans, October 1989
Elspeth Cusack, Refinement, conformance and inheritance, Formal Aspects of Computing Vol 3 No 2, April–June 1991
Elspeth Cusack, Steve Rudkin and Chris Smith, An object oriented interpretation of LOTOS, FORTE89 — International Conference On Formal Description Techniques, Vancouver, December 1989 (North Holland)
Elspeth Cusack and Mike Lai, Object oriented specification in LOTOS and Z or, My cat really is object oriented!, Workshop on the Foundations of Object Oriented Languages, Noordwijkerhout, The Netherlands, May 1990
Elspeth Cusack, Object oriented modelling in Z, February 1991, submitted for publication
David Duke and Roger Duke, Towards a semantics for Object-Z, VDM'90: VDM and Z, April 1990
Roger Duke, Gordon Rose and Anthony Lee, Object oriented protocol specification, Proc Tenth International Symposium on Protocol Specification, Testing and Verification, Ottawa, June 1990 (North Holland)
A Goldberg and D Robson, Smalltalk-80: the language and its implementation, Addison-Wesley (1983) reprinted 1985
Joseph A Goguen and Jose Meseguer, Unifying functional, object-oriented and relational programming with logical semantics in Research Directions In Object Oriented Programming, Bruce Shriver and Peter Wegner (editors), MIT Press, 1987
Ian Hayes (ed), Specification Case Studies, Prentice-Hall International Series in Computer Science, 1987
C A R Hoare, Communicating Sequential Processes, Prentice-Hall International Series in Computer Science, 1985
Carroll Morgan, Programming from specifications, Prentice Hall International Series in Computer Science, 1990
T Mayr, Specification of object-oriented systems in LOTOS, International Conference on Formal Description Techniques — FORTE88, Stirling, September 1988 (North Holland)
Peter Wegner and Stanley Zdonik, Inheritance as an incremental modification technique, or what like is and isn't like, European Conference on Object Oriented Programming, Norway, August 1988
J M Spivey, The Z Notation: A Reference Manual, Prentice-Hall International Series in Computer Science, 1989
ISO IS 8807, LOTOS — a formal description technique based on the temporal ordering of observational behaviour, 1989
ISO JTC1 SC21 WG7 N315 Basic Reference Model for Open Distributed Processing, Draft Working Document, December 1990
ISO JTC1 SC21 WG7 N314, Architectural semantics, specification techniques and formalisms, Draft Working Document, December 1990
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cusack, E. (1991). Inheritance in object oriented Z. In: America, P. (eds) ECOOP'91 European Conference on Object-Oriented Programming. ECOOP 1991. Lecture Notes in Computer Science, vol 512. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0057021
Download citation
DOI: https://doi.org/10.1007/BFb0057021
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54262-9
Online ISBN: 978-3-540-47537-8
eBook Packages: Springer Book Archive