When it has been decided to build an automatic high speed computing machine the question at once arises "To what extent is it worth while including checking facilities in the machine ?". While not answering this question I will give some of the points which arise in its consideration.
There are two reasons why these facilities are included in any particular machine:-
Now let us consider how far these aims can be attained.
In the first case we must assume the design is such as to keep the number of faults to a very small value - with or without checking facilities. Thus by their very nature these circuits have to be designed, and maintained for effective use for a few millisecs. per year, whereas most other circuits are in constant active use. In order to be of real value in reducing the number of faults, the checking must be designed to check an appreciable part of the machine and so must complicate it to a considerable extent. This increases the chance of faults, although in general it reduces the time taken to locate each fault.
The alternative method is to programme mathematical checks so that the errors can be detected by the action of the programme. This obviously increases the complexity of the programme, but on the other hand every programme should contain checks, so that it is known when it is itself in error, and so most of the additional part of the programme to detect faults should already be there.
It seems likely that the machines are much more likely to produce wrong answers from faults in the programmes rather than from machine faults. In fact it is the programme that introduces the fallible human element to the machine.
The fact that a programme has to be capable of detecting faults is almost certain to slow down the programme and so the machine will work slower than its apparent speed on this account. As stated before, however, only part of the reduction in speed corresponds to the lack of checking circuits, as most of the check programme must be there anyhow.
When absolutely no checks are provided at all (circuitry or coded) it is fairly certain that any fault would be detected in a short time, owing to the nonsense effect of errors.
How far can circuits be used to locate the sources of errors ?
Apparently checking facilities are likely to ease the task of the maintenance staff to a considerable degree. One can imagine in the extreme case a little led light indicating which part of the equipment is at fault. The usefulness of this depends on how long faults take to locate without such aids. It seems, however, that this will not be so very difficult. If some fundamental part has ceased functioning that should be obvious. If the fault is a minor one, test programmes which find or help to find the fault will no doubt be available, and enable the fault to be tracked down with little difficulty.
The overall picture seems that most of the checking should be done by the machine itself i.e. let the machine be its own doctor.