We have created two kinds of reusable, object-oriented software components to facilitate building fault tolerant applications. Executive components orchestrate familiar software fault tolerance techniques in a data type independent manner. Building block components provide fault tolerance utilities and application-specific functions. We use a three-level class framework (or design pattern) to create data type and application-independent classes at the highest level, define data type-dependent base classes in the middle level, and organize application and data type-specific derived classes at the lowest level. This approach employs polymorphism, pointer conversions and Run-Time Type Information. These techniques have successfully handled applications with dissimilar data types. Reusing these components greatly speeds the development of applications that exploit software fault tolerance techniques.
展开▼