We focus on decomposition of hard-masking real-time faulttolerant programs (where safety, timing constraints, and liveness are preserved in the presence of faults) that are designed from their fault-intolerant versions. Towards this end, motivated by the concepts of state predicate detection and state predicate correction, we identify three types of faulttolerance components, namely, detectors, weak -correctors, and strong -correctors. We show that any hard-masking program can be decomposed into its fault-intolerant version plus a collection of detectors, and, weak and strong -correctors. We argue that such decomposition assists in providing assurance about dependability and timepredictability of embedded systems. Categories and Subject Descriptors D.4.5 [Operating Systems]: Reliability--Fault-tolerance, Verification; D.4.7 [Operating Systems]: Organization and Design--Real-time and embedded systems; F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about...
Borzoo Bonakdarpour, Sandeep S. Kulkarni, Anish Ar