Structuring fault-tolerant object-oriented systems using inheritance and delegation

Many entities in the real world that a software system has to interact with, e.g., for controlling or monitoring purposes, exhibit different behaviour phases in their lifetime, in particular depending on whether or not they are functioning correctly. That is, these entities exhibit not only a normal...

Full description

Bibliographic Details
Main Author: Rubira, Cecilia Mary Fischer
Published: University of Newcastle Upon Tyne 1994
Subjects:
005
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.238749
id ndltd-bl.uk-oai-ethos.bl.uk-238749
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-2387492015-05-02T03:19:38ZStructuring fault-tolerant object-oriented systems using inheritance and delegationRubira, Cecilia Mary Fischer1994Many entities in the real world that a software system has to interact with, e.g., for controlling or monitoring purposes, exhibit different behaviour phases in their lifetime, in particular depending on whether or not they are functioning correctly. That is, these entities exhibit not only a normal behaviour phase but also one or more abnormal behaviour phases associated with the various faults which occur in the environment. These faults are referred to as environmental faults. In the object-oriented software, real-world entities are modeled as objects. In a classbased object-oriented language, such as C++, all objects of a given class must follow the same external behaviour, i.e., they have the same interface and associated implementation. However this requires that each object permanently belong to a particular class, imposing constraints on the mutability of the behaviour for an individual object. This thesis proposes solutions to the problem of finding means whereby objects representing real-world entities which exhibit various behaviour phases can make corresponding changes in their own behaviour in a clear and explicit way, rather than through status-checking code which is normally embedded in the implementation of various methods. Our proposed solution is (i) to define a hierarchy of different subclasses related to an object which corresponds to an external entity, each subclass implementing a different behaviour phase that the external entity can exhibit, and (ii) to arrange that each object forward the execution of its operations to the currently appropriate instance of this hierarchy of subclasses. We thus propose an object-oriented approach for the provision of environmental fault tolerance, which encapsulates the abnormal behaviour of "faulty" entities as objects (instances of the above mentioned subclasses). These abnormal behaviour variants are defined statically, and runtime access to them is implemented through a delegation mechanism which depends on the current phase of behaviour. Thus specific reconfiguration changes at the level of objects can be easily incorporated to a software system for tolerating environmental faults.005Exception handlingUniversity of Newcastle Upon Tynehttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.238749http://hdl.handle.net/10443/1961Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 005
Exception handling
spellingShingle 005
Exception handling
Rubira, Cecilia Mary Fischer
Structuring fault-tolerant object-oriented systems using inheritance and delegation
description Many entities in the real world that a software system has to interact with, e.g., for controlling or monitoring purposes, exhibit different behaviour phases in their lifetime, in particular depending on whether or not they are functioning correctly. That is, these entities exhibit not only a normal behaviour phase but also one or more abnormal behaviour phases associated with the various faults which occur in the environment. These faults are referred to as environmental faults. In the object-oriented software, real-world entities are modeled as objects. In a classbased object-oriented language, such as C++, all objects of a given class must follow the same external behaviour, i.e., they have the same interface and associated implementation. However this requires that each object permanently belong to a particular class, imposing constraints on the mutability of the behaviour for an individual object. This thesis proposes solutions to the problem of finding means whereby objects representing real-world entities which exhibit various behaviour phases can make corresponding changes in their own behaviour in a clear and explicit way, rather than through status-checking code which is normally embedded in the implementation of various methods. Our proposed solution is (i) to define a hierarchy of different subclasses related to an object which corresponds to an external entity, each subclass implementing a different behaviour phase that the external entity can exhibit, and (ii) to arrange that each object forward the execution of its operations to the currently appropriate instance of this hierarchy of subclasses. We thus propose an object-oriented approach for the provision of environmental fault tolerance, which encapsulates the abnormal behaviour of "faulty" entities as objects (instances of the above mentioned subclasses). These abnormal behaviour variants are defined statically, and runtime access to them is implemented through a delegation mechanism which depends on the current phase of behaviour. Thus specific reconfiguration changes at the level of objects can be easily incorporated to a software system for tolerating environmental faults.
author Rubira, Cecilia Mary Fischer
author_facet Rubira, Cecilia Mary Fischer
author_sort Rubira, Cecilia Mary Fischer
title Structuring fault-tolerant object-oriented systems using inheritance and delegation
title_short Structuring fault-tolerant object-oriented systems using inheritance and delegation
title_full Structuring fault-tolerant object-oriented systems using inheritance and delegation
title_fullStr Structuring fault-tolerant object-oriented systems using inheritance and delegation
title_full_unstemmed Structuring fault-tolerant object-oriented systems using inheritance and delegation
title_sort structuring fault-tolerant object-oriented systems using inheritance and delegation
publisher University of Newcastle Upon Tyne
publishDate 1994
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.238749
work_keys_str_mv AT rubiraceciliamaryfischer structuringfaulttolerantobjectorientedsystemsusinginheritanceanddelegation
_version_ 1716802009988857856