Automatic Addition of Fault-Tolerance to Real-Time Programs

Abstract

In this paper, we focus on automated addition of fault-tolerance to an existing fault-intolerant real-time program. We consider three levels of fault-tolerance, failsafe, nonmasking, and masking, based on the properties satisfied in the presence of faults. Furthermore, for failsafe and masking fault-tolerance, we introduce two cases, soft and hard, based on satisfaction of timing constraints in the presence of faults. We present sound and complete algorithms with polynomial time complexity in the size of region graphs for the case where soft-failsafe, nonmasking, and soft-masking fault-tolerance is added to an existing real-time program. Furthermore, we propose a sound and complete algorithm with polynomial time complexity in the size of region graphs for adding hard-failsafe fault-tolerance, where the synthesized program is required to satisfy at most one bounded response property in the presence of faults. Moreover, we show that the problem of adding hard masking fault-tolerance, where the synthesized fault-tolerant program is required to satisfy multiple bounded response properties in the presence of faults, is NP-hard in the size of the region graph. Thus, this work characterizes classes of problems where adding fault-tolerance to real-time programs is expected to be feasible and where the complexity is too high.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2006
Accession Number
ADA455712

Entities

People

  • Borzoo Bonakdarpour
  • Sandeep S. Kulkarni

Organizations

  • Michigan State University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Algorithms
  • Automata
  • Automatic
  • Boundaries
  • Computations
  • Computer Science
  • Crossings
  • Engineering
  • Fault Tolerance
  • Fault Tolerant Computing
  • Internal Pressure
  • Numbers
  • Procedures (Computers)
  • Recovery
  • Sequences
  • Software Development
  • Specifications

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Parallel and Distributed Computing.