Lessons learned from the implementation of on-board tolerance to physical faults in Ada
Three qualities are especially required of modern programming languages: (i) not to get in the way; (ii) to help solve the problem; and (iii) to preserve the code value. These demands especially matter to the implementation of fault-tolerant real-time on-board systems, We take this perspective into account reporting on the lessons learned from the implementation of software tolerance to physical faults, for use on board space systems of the new generation. The implementation language was Ada 83 with forward-compatible enhancements in the way of the Ravenscar Profile. The language implementation was commercial off-the-shelf. The combination of the two performed acceptably, in the frame of a moderately successful experiment overall. Drawing from that experience, we single out language features of special value to our system and express requirements on critical features of the language implementation.
on-board tolerance ada fault tolerance