A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Object Orientation in Z
OOZE: An Object Oriented Z Environment
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Using Z as a Specification Calculus for Object-Oriented Systems
VDM '90 Proceedings of the Third International Symposium of VDM Europe on VDM and Z - Formal Methods in Software Development
Proving theorems about JML classes
Formal methods and hybrid real-time systems
An object-oriented structuring for z based on views
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Hi-index | 0.00 |
The good news of this paper is that without extending Z, we can elegantly specify object-oriented systems, including encapsulation, inheritance and subtype polymorphism (dynamic dispatch). The bad news is that this specification style is rather different to normal Z specifications, more abstract and axiomatic, which means that it is not so well supported by current Z tools such as animators. It also enforces behavioural subtyping, unlike most object-oriented programming languages. This paper explains the proposed style, with examples, and discusses its advantages and disadvantages.