Publication | Closed Access
A fault-tolerant scheduling algorithm for real-time periodic tasks with possible software faults
128
Citations
19
References
2003
Year
EngineeringHard Real-time SystemVerificationSoftware EngineeringScheduling AlgorithmFault-tolerant Scheduling AlgorithmFormal VerificationPossible Software FaultsReal-time SystemReliability EngineeringSystems EngineeringDeadline MechanismComputer EngineeringComputer ScienceReal-time ComputingReal-time AlgorithmScheduling AnalysisProgram AnalysisSoftware TestingAutomationFormal MethodsReal-time SystemsReal-time OperationScheduling (Project Management)Real-time Periodic Tasks
A hard real-time system is usually subject to stringent reliability and timing constraints. One way to avoid missing deadlines is to trade the quality of computation results for timeliness, and software fault tolerance is often achieved with the use of redundant programs. A deadline mechanism which combines these two methods is proposed to provide software fault tolerance in hard real-time periodic task systems. We consider the problem of scheduling a set of real-time periodic tasks each of which has two versions: primary and alternate. The primary version contains more functions and produces good quality results, but its correctness is more difficult to verify. The alternate version contains only the minimum required functions and produces less precise results and its correctness is easy to verify. We propose a scheduling algorithm which 1) guarantees either the primary or alternate version of each critical task to be completed in time and 2) attempts to complete as many primaries as possible. Our basic algorithm uses a fixed priority-driven preemptive scheduling scheme to preallocate time intervals to the alternates and, at runtime, attempts to execute primaries first. An alternate will be executed only if necessary because of time or bugs.
| Year | Citations | |
|---|---|---|
Page 1
Page 1