Abstract

We start with a general approach to introducing software fault tolerance (SFT) into object-oriented (OO) systems [Xu, J., Randell, B., Rubira, C.M.F., Stroud, R.J., 1995. Toward an object-oriented approach to software fault-tolerance. In: Avreski, D. (Ed.) Fault-Tolerant Parallel and Distributed Systems. DEEE CS Press, Silver Spring, MD.] and proceed in two directions. The first one is the use of SFT schemes within standard OO languages. New questions which arise when we are dealing with these languages are addressed. Our intention is to thoroughly analyse all engineering steps which allow diversity to be introduced in systems programmed in these languages. Some new general problems are spotted and discussed as well. The second direction is dealing with version concurrency and distributedness in a general way. We investigate providing SFT by class diversity, which is the most general way of designing diverse software in OO systems. We concentrate on N-version programming (NVP) and give an exhaustive discussion of this approach. One of the main reasons for this choice is that we have come to believe that the general approach which allows a unified discussion of all SFT schemes is rather restrictive because it does not properly address the differences between these schemes which represent their essences and the most difficult parts of their implementation and support. Our intention is to discuss the use of NVP in OO terms and to outline all novelties arising from this. The re-usability of SFT features is a key point in our approach. One of the conclusions we have arrived at is that, generally speaking, the entire states of version objects should be compared to detect and mask the faulty one. We propose unifying in one component features dealing with adjudication and faulty object recovery because these functionalities have a lot in common. Our approach is demonstrated using Ada 95.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call