Relaxing Behavioural Inheritance

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 inhe...

Full description

Bibliographic Details
Main Author: Nuno Amálio
Format: Article
Language:English
Published: Open Publishing Association 2013-05-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1305.6114v1
id doaj-a3b85472a0864c61a2e91421cfd1de86
record_format Article
spelling doaj-a3b85472a0864c61a2e91421cfd1de862020-11-24T23:27:26ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802013-05-01115Proc. Refine 2013688310.4204/EPTCS.115.5Relaxing Behavioural InheritanceNuno AmálioObject-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.http://arxiv.org/pdf/1305.6114v1
collection DOAJ
language English
format Article
sources DOAJ
author Nuno Amálio
spellingShingle Nuno Amálio
Relaxing Behavioural Inheritance
Electronic Proceedings in Theoretical Computer Science
author_facet Nuno Amálio
author_sort Nuno Amálio
title Relaxing Behavioural Inheritance
title_short Relaxing Behavioural Inheritance
title_full Relaxing Behavioural Inheritance
title_fullStr Relaxing Behavioural Inheritance
title_full_unstemmed Relaxing Behavioural Inheritance
title_sort relaxing behavioural inheritance
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2013-05-01
description 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.
url http://arxiv.org/pdf/1305.6114v1
work_keys_str_mv AT nunoamalio relaxingbehaviouralinheritance
_version_ 1725551978443964416