Advertisement

Inheritance in object oriented Z

  • Elspeth Cusack
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 512)

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.

Unable to display preview. Download preview PDF.

References

  1. [1]
    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, 1980Google Scholar
  2. [2]
    Pierre America, A behavioural approach to subtyping in object oriented programming languages, ESPRIT Project 415 Doc No 443, January 1989Google Scholar
  3. [3]
    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)Google Scholar
  4. [4]
    Luca Cardelli and Peter Wegner, On understanding types, data abstraction and polymorphism, Computing Surveys 17, December 1985Google Scholar
  5. [5]
    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)Google Scholar
  6. [6]
    William Cook, Jens Palsberg, A denotational semantics of inheritance and its correctness, Object Oriented Programming Systems, Languages and Applications 89, New Orleans, October 1989Google Scholar
  7. [7]
    Elspeth Cusack, Refinement, conformance and inheritance, Formal Aspects of Computing Vol 3 No 2, April–June 1991Google Scholar
  8. [8]
    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)Google Scholar
  9. [9]
    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 1990Google Scholar
  10. [10]
    Elspeth Cusack, Object oriented modelling in Z, February 1991, submitted for publicationGoogle Scholar
  11. [11]
    David Duke and Roger Duke, Towards a semantics for Object-Z, VDM'90: VDM and Z, April 1990Google Scholar
  12. [12]
    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)Google Scholar
  13. [13]
    A Goldberg and D Robson, Smalltalk-80: the language and its implementation, Addison-Wesley (1983) reprinted 1985Google Scholar
  14. [14]
    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, 1987Google Scholar
  15. [15]
    Ian Hayes (ed), Specification Case Studies, Prentice-Hall International Series in Computer Science, 1987Google Scholar
  16. [16]
    C A R Hoare, Communicating Sequential Processes, Prentice-Hall International Series in Computer Science, 1985Google Scholar
  17. [17]
    Carroll Morgan, Programming from specifications, Prentice Hall International Series in Computer Science, 1990Google Scholar
  18. [18]
    T Mayr, Specification of object-oriented systems in LOTOS, International Conference on Formal Description Techniques — FORTE88, Stirling, September 1988 (North Holland)Google Scholar
  19. [19]
    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 1988Google Scholar
  20. [20]
    J M Spivey, The Z Notation: A Reference Manual, Prentice-Hall International Series in Computer Science, 1989Google Scholar
  21. [21]
    ISO IS 8807, LOTOS — a formal description technique based on the temporal ordering of observational behaviour, 1989Google Scholar
  22. [22]
    ISO JTC1 SC21 WG7 N315 Basic Reference Model for Open Distributed Processing, Draft Working Document, December 1990Google Scholar
  23. [23]
    ISO JTC1 SC21 WG7 N314, Architectural semantics, specification techniques and formalisms, Draft Working Document, December 1990Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Elspeth Cusack
    • 1
  1. 1.British TelecomIpswichUK

Personalised recommendations