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...
Main Author: | |
---|---|
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 |