The Reliable Hybrid Pattern A Generalized Software Fault Tolerant Design Pattern
F.J. Daniels, Kalhee Kim, Mladen Alan Vouk · 1997
In order to make software applications more reliable, it may be necessary to incorporate into them a strategy for tolerating software faults. In the case of critical applications, this is essential. In this paper we describe a general pattern, which we call the Reliable Hybrid pattern, that can be used to design fault tolerant software applications. The pattern supports development of applications based on classical fault tolerant strategies such as N-Version Programming and Recovery Block, as well as those based on advanced hybrid techniques such as Consensus Recovery Block, Acceptance Voting, and N-Self Checking Programming. The Reliable Hybrid pattern structure reflects the fact that these advanced strategies can be constructed through recursive combination of N-Version Programming, Recovery Block, and hybrid components. Our pattern explicitly indicates how different advanced software voting techniques fit into the design structure. We use Consensus Recovery Block to illustrate the ...