I 5.1.1 Data Interference Most of the problems in this case study involved an inadvertent modification of safety-critical data by noncritical software. A few of the problems involved failure of safety-critical software to be scheduled for CPU control. In one case, a design error caused one process to be halted while allowing the other processes to execute. In the other case, a coding error caused a routine to be called from a low-priority task, which resulted in abnormal timing for task scheduling. No errors with safety impact were caused by a failure in the program control of noncritical software.
Several documents express concern about the potential for error in program control.
The United States Air Force regulation on nuclear weapon systems safety design and evaluation specifically discusses the required reaction to a deviation causing an erroneous entry into a critical routine or sequence. The processing of safety-critical functions was intermixed with the processing of noncritical functions even at the routine level in the control system program of the case study. Thus, there might seem to be a great likelihood that an error in program control due to processing noncritical functions would impact the processing of a safety-critical function. Any problems in program control was common between the safety-critical and noncritical software, rather than being caused by their interaction. If separate routines were written to process only safety-critical functions, they would exhibit the same logic structure as the current routines, since they were performing very similar processing.