3 research outputs found
Engineering holistic fault tolerance
PhD ThesisFault-tolerant software should be engineered to be maintainable as well as efficient with
regards to performance and resources. These characteristics should be evaluated before
deployment of the software. However, the main focus is very often made on the functional
features of the application, whereas fault tolerance mechanisms are neglected. As a result,
they are often neither maintainable nor efficient. The concept of Holistic Fault Tolerance
was introduced to deal with these issues. It is a novel crosscutting approach to the
design and implementation of fault tolerance mechanisms for developing reliable software
applications that meet non-functional requirements, such as performance and resource
utilisation.
The thesis starts with the description of problems that were motivating for the idea of
Holistic Fault Tolerance. These problems are related to resource utilisation requirements
of modern computer-based systems, since more resources like hardware components and
energy are required to process modern computational tasks and ensure performance and
reliability of the computation. Moreover, the complexity of these systems grows, leading
to maintainability deterioration, especially of those system parts, which are responsible
for satisfying non-functional requirements, such as reliability, performance and resource
usage.
After analysis of the problems and motivations, the engineering approach to Holistic Fault
Tolerance is introduced and main engineering steps are defined. Next, an architectural
pattern for Holistic Fault Tolerance is presented. The method to refine the proposed architecture and ensure efficiency of a particular system under development is demonstrated
during the modelling step. Then the implementation of Holistic Fault Tolerance based on
the proposed architecture and modelling is described in detail.
Finally, the Holistic Fault Tolerance architecture is evaluated with regards to efficiency
and maintainability. The evaluation demonstrates that Holistic Fault Tolerance assists
in meeting the non-functional requirements, makes fault tolerance mechanisms easier to
maintain and ensures higher modularity of the source cod