Skip to Main Content
The concept of design patterns has been widely used in the software and hardware domain. Several fault tolerance patterns have been proposed to document widely used fault tolerance methods. In this paper, we propose a new software fault tolerance pattern, which is called recovery block with backup voting pattern. This pattern can be used to improve the software reliability of the classical recovery block pattern in applications in which the construction of an effective acceptance test can not be guaranteed. In order to represent the new pattern, we use a pattern representation that focuses on the nonfunctional consequences of the design patterns on safety critical embedded systems. These nonfunctional consequences contain: safety, reliability, modifiability, cost, and execution time. Among other side effects, the implications part of the new pattern shows that it is resulting in higher reliability than the classical recovery block with relatively low additional hardware cost.