SEMay 27, 2013

Relaxing Behavioural Inheritance

arXiv:1305.6114v12 citations
Originality Synthesis-oriented
AI Analysis

This work addresses a formal modeling issue for software engineers using object-oriented languages, but it is incremental as it builds on existing refinement concepts.

The paper tackles the problem that formal refinement constraints for behavioral inheritance in object-oriented programming are too restrictive, preventing many useful subclassings; it proposes relaxations to these rules within the ZOO framework, making the results applicable to any OO language supporting design-by-contract.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes