Skip to main content

Towards a semantics for object-Z

  • Object Orientedness
  • Conference paper
  • First Online:
VDM '90 VDM and Z — Formal Methods in Software Development (VDM 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 428))

Included in the following conference series:

Abstract

Object-Z is a notation based on Z but with extensions to more fully support an object-oriented style of specification. Object-Z uses the class concept to incorporate a description of an object's state with related operations. In this paper we introduce an underlying set-theoretic model for classes and so give a formal semantics for classes which extends the semantics of schemas in Z. Our model for a class is based on the idea of a history which captures the sequence of operations and state changes undergone by an instance (object) of the class. Part of the specification of a class can involve predicates which restrict the possible histories of an object.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-R. Abrial, S. Schuman, and B. Meyer. Specification language. In R. McKeag and A. Macnaghten, editors, On the Construction of Programs: An advanced course, pages 343–410. Cambridge University Press, 1980.

    Google Scholar 

  2. H. Ait-Kaci. Type subsumption as a model of computation. In Expert Database Systems. Benjammin/Cummings Inc, 1986.

    Google Scholar 

  3. S. Bear. Structuring for the VDM specification language. In VDM'88: VDM-The Way Ahead. Lecture Notes in Computer Science, Vol 328. Springer-Verlag, 1988. R. Bloomfield, L. Marshall, R. Jones (eds).

    Google Scholar 

  4. L. Cardelli. A semantics of multiple inheritance. In Semantics of Data Types, Lecture Notes in Computer Science, Vol 173, pages 51–68. Springer-Verlag, 1984.

    Google Scholar 

  5. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471–522, December 1985.

    Google Scholar 

  6. D. Carrington, D. Duke, R. Duke, P. King, G. Rose, and G. Smith. Object-Z: An object-oriented extension to Z. In Formal Description Techniques (FORTE'89). North Holland, 1990.

    Google Scholar 

  7. S. Clerici and F. Orejas. GSBL: An algebraic specification language based on inheritance. In ECOOP'88: European Conference on Object-Oriented programming, Lecture Notes in Computer Science, Vol 322, pages 78–92. Springer-Verlag, 1988.

    Google Scholar 

  8. W. Cook. A denotational semantics of inheritance and its correctness. In Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications '89, 1989.

    Google Scholar 

  9. E. Cusack, S. Rudkin, and C. Smith. An object-oriented interpretation of LOTOS. In Formal Description Techniques (FORTE'89). North Holland, 1990.

    Google Scholar 

  10. S. Danforth and C. Tomlinson. Type theories and object-oriented programming. Computing Surveys, 20(1), Mar 1988.

    Google Scholar 

  11. R. Duke, I. Hayes, P. King, and G. Rose. Protocol verification and specification using Z. In S. Aggarwal and K. Sabnani, editors, Protocol Specification, Testing, and Verification VIII, pages 33–46. North Holland, 1988.

    Google Scholar 

  12. R. Duke and G. Smith. Temporal logic and Z specifications. Australian Computer Journal, pages 62–66, 1989.

    Google Scholar 

  13. D. Halbert and P. O'Brien. Using types and inheritance in object-oriented languages. In J. Bezivin, J. Hullot, P. Cointe, and H. Lieberman, editors, ECOOP'87: European Conference on Object-Oriented programming, Lecture Notes in Computer Science, Vol 276, pages 20–31. Springer-Verlag, 1987.

    Google Scholar 

  14. I. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice Hall, 1987.

    Google Scholar 

  15. T. Mayr. Specification of object-oriented systems in LOTOS. In K. Turner, editor, Formal Description Techniques (FORTE'88), pages 107–119. North Holland, 1989.

    Google Scholar 

  16. B. Meyer. Object-oriented Software Construction. International Series in Computer Science. Prentice Hall, 1988.

    Google Scholar 

  17. C. Morgan and B. Sufrin. Specification of the Unix filing system. IEEE Trans. Software Engin., SE-10(2):128–142, 1984.

    Google Scholar 

  18. B. Moszkowski. Executing Temporal Logic Programs. Cambridge University Press, 1986.

    Google Scholar 

  19. S. Schuman and D. Pitt. Object oriented subsystem specification. In L. Meertens, editor, Program Specification and Transformation, pages 313–341. North Holland, 1985.

    Google Scholar 

  20. A. Sernadas and C. Sernadas. Object-oriented specification of databases: An algebraic approach. In Proceedings of 13th Conference on Very Large Databases, 1987.

    Google Scholar 

  21. R. Sijelmassi and P. Gaudette. An object-oriented model for Estelle. In K. Turner, editor, Formal Description Techniques (FORTE'88), pages 91–105. North Holland, 1989.

    Google Scholar 

  22. G. Smith and R. Duke. Specification and verification of a cache coherence protocol. Technical Report 126, Dept. of Computer Science, University of Queensland, 1989.

    Google Scholar 

  23. A. Snyder. Inheritance and development of encapsulated software components. In J. Bezivin, J. M. Hullot, P. Cointe, and H. Lieberman, editors, ECOOP'87: European Conference on Object-Oriented programming, Lecture Notes in Computer Science, Vol 276, pages 20–31. Springer-Verlag, 1987.

    Google Scholar 

  24. I.H. Sørensen. A specification language. In J. Staunstrup, editor, Program Specification, Lecture Notes in Computer Science, Vol 134, pages 381–401. Springer-Verlag, 1982.

    Google Scholar 

  25. J. M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice Hall, 1989.

    Google Scholar 

  26. J.M. Spivey. Understanding Z: A specification language and its formal semantics. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1988.

    Google Scholar 

  27. B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.

    Google Scholar 

  28. P. Wegner and S. Zdonik. Inheritance as an incremental modification mechanism or what like is and isn't like. In ECOOP'88: European Conference on Object-Oriented programming, Lecture Notes in Computer Science, Vol 322, pages 55–77. Springer-Verlag, 1988.

    Google Scholar 

  29. M. Wolczko. Semantics of smalltalk-80. In J. Bezivin, J. Hullot, P. Cointe, and H. Lieberman, editors, ECOOP'87: European Conference on Object-Oriented programming, Lecture Notes in Computer Science, Vol 276, pages 108–120. Springer-Verlag, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

D. Bjørner C. A. R. Hoare H. Langmaack

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Duke, D., Duke, R. (1990). Towards a semantics for object-Z. In: Bjørner, D., Hoare, C.A.R., Langmaack, H. (eds) VDM '90 VDM and Z — Formal Methods in Software Development. VDM 1990. Lecture Notes in Computer Science, vol 428. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52513-0_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-52513-0_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52513-4

  • Online ISBN: 978-3-540-47006-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics