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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
H. Ait-Kaci. Type subsumption as a model of computation. In Expert Database Systems. Benjammin/Cummings Inc, 1986.
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).
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.
L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471–522, December 1985.
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.
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.
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.
E. Cusack, S. Rudkin, and C. Smith. An object-oriented interpretation of LOTOS. In Formal Description Techniques (FORTE'89). North Holland, 1990.
S. Danforth and C. Tomlinson. Type theories and object-oriented programming. Computing Surveys, 20(1), Mar 1988.
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.
R. Duke and G. Smith. Temporal logic and Z specifications. Australian Computer Journal, pages 62–66, 1989.
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.
I. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice Hall, 1987.
T. Mayr. Specification of object-oriented systems in LOTOS. In K. Turner, editor, Formal Description Techniques (FORTE'88), pages 107–119. North Holland, 1989.
B. Meyer. Object-oriented Software Construction. International Series in Computer Science. Prentice Hall, 1988.
C. Morgan and B. Sufrin. Specification of the Unix filing system. IEEE Trans. Software Engin., SE-10(2):128–142, 1984.
B. Moszkowski. Executing Temporal Logic Programs. Cambridge University Press, 1986.
S. Schuman and D. Pitt. Object oriented subsystem specification. In L. Meertens, editor, Program Specification and Transformation, pages 313–341. North Holland, 1985.
A. Sernadas and C. Sernadas. Object-oriented specification of databases: An algebraic approach. In Proceedings of 13th Conference on Very Large Databases, 1987.
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.
G. Smith and R. Duke. Specification and verification of a cache coherence protocol. Technical Report 126, Dept. of Computer Science, University of Queensland, 1989.
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.
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.
J. M. Spivey. The Z Notation: A Reference Manual. International Series in Computer Science. Prentice Hall, 1989.
J.M. Spivey. Understanding Z: A specification language and its formal semantics. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1988.
B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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