Relaxing Behavioural Inheritance
Nuno Am\'alio (University of Luxembourg)

TL;DR
This paper explores relaxing the strict rules of behavioural inheritance in object-oriented programming within the ZOO style for Z, enabling more flexible subclassing while maintaining system correctness.
Contribution
It introduces relaxed refinement rules for behavioural inheritance in ZOO, broadening the applicability of behavioural inheritance in OO languages supporting design-by-contract.
Findings
Proposes relaxation of refinement constraints in behavioural inheritance.
Applicable to OO languages with design-by-contract.
Enhances flexibility of subclassing without compromising correctness.
Abstract
Object-oriented (OO) inheritance allows the definition of families of classes in a hierarchical way. In behavioural inheritance, a strong version, it should be possible to substitute an object of a subclass for an object of its superclass without any observable effect on the system. Behavioural inheritance is related to formal refinement, but, as observed in the literature, the refinement constraints are too restrictive, ruling out many useful OO subclassings. This paper studies behavioural inheritance in the context of ZOO, an object-oriented style for Z. To overcome refinement's restrictions, this paper proposes relaxations to the behavioural inheritance refinement rules. The work is presented for Z, but the results are applicable to any OO language that supports design-by-contract.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
