A Fault-Tolerant Software Architecture for Component-Based Systems (original) (raw)

Component-based software built from reusable software components is being used in a wide range of applications that have high dependability requirements. In order to achieve the required levels of dependability, it is necessary to incorporate into these complex systems means for coping with software faults. However, the problem is exacerbated if we consider the current trend of integrating off-the-shelf software components, from independent sources, which allow neither code inspection nor changes. To leverage the dependability properties of these systems, we need solutions at the architectural level that are able to guide the structuring of unrehable components into a faulttolerant architecture. In this paper, we present an approach for structuring faulttolerant component-based systems based on the C2 architectural style.