Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ PrefaceContentsMembers1 Welcome2 Introduction3 EDSAC4 EDSAC Demo5 Relay Computers6 Discussion7 CRT Storage8 Coding9 Library10 Sign Correction11 Nozzle Flow12 Magnitude13 France14 Checking15 Large Integers16 Discussion Storage17 Magnetic Storage18 Magnetic Recording19 Photographic Store20 EDSAC Auxillary Store21 Circuit Checking22 Circuit Checking23 Addition Circuit24 Trigger Circuits25 Checking26 Discussion27 USA28 Comment29 Holland30 Ficticious Traffic31 Sweden32 Manchester33 Discussion34 Bibliography
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureOther manualsCambridge Conference 1949 :: High Speed Automatic Calculating-Machines 22-25 June 1949
ACLLiteratureOther manualsCambridge Conference 1949 :: High Speed Automatic Calculating-Machines 22-25 June 1949
ACL ACD C&A INF CCD CISD Archives
Further reading

Preface
Contents
Members
1 Welcome
2 Introduction
3 EDSAC
4 EDSAC Demo
5 Relay Computers
6 Discussion
7 CRT Storage
8 Coding
9 Library
10 Sign Correction
11 Nozzle Flow
12 Magnitude
13 France
14 Checking
15 Large Integers
16 Discussion Storage
17 Magnetic Storage
18 Magnetic Recording
19 Photographic Store
20 EDSAC Auxillary Store
21 Circuit Checking
22 Circuit Checking
23 Addition Circuit
24 Trigger Circuits
25 Checking
26 Discussion
27 USA
28 Comment
29 Holland
30 Ficticious Traffic
31 Sweden
32 Manchester
33 Discussion
34 Bibliography

25 Remarks on Checking: Dr J C P Miller

When using one of the large machines for computing in connection with a particular problem, four stages can be distinguished.

  1. Formulation of the problem in mathematical terms.
  2. Solution of the resulting mathematical problem.
  3. Programming and coding the solution for the machine.
  4. Final computation on the machine.

All stages must be fully checked if a satisfactory solution is to be obtained. Stage (1) is quite often tentative - e.g. the testing of some hypothesis - and it is important to give great care to this stage, involving consultation between the physicist and a mathematician well versed in the computational methods to be used subsequently. In my experience problems, as originally presented to me for computation, are often imperfect - sometimes because the mathematical development is incorrect, sometimes because assumptions introduced, while not unjustified, may yet severely complicate subsequent work, when compared with methods arising from other assumptions, equally justified. The idea of checking the formulation is not really applicable throughout, rather the word testing may be more suitable.

Stages (2), (3) and (4) however, must be thoroughly and fully checked. A full numerical check of any of these stages automatically includes a check of later stages, whereas earlier stages are completely unchecked. Hence a mathematical check is essential and, if the reliability of stages (3) and (4) is high (though not necessarily complete), sufficient.

Most of the checking so far considered has been concerned with the machine (stage 4) or, to a lesser extent, with the coding (stage 3). At this moment in the development of machine, it is clear that reliability is far from sufficient for these to be dispensed with. Nevertheless the aim must be to develop methods for avoiding errors - which may be expected, in time, to become infrequent in stages (3) and (4). When this time is reached an overall mathematical check, always essential, will be sufficient.

Repetition is the poorest form of check, only to be used in the direct emergency and, in fact, does not check the mathematics at all. Consequently the building of duplicate machines (which leaves even coding unchecked) or the duplication of calculations (which, however well arranged, must use some parts of the machine twice in the same way) are both justified only if machines are what must be called unreliable. Duplication is a counsel of despair.

To sum up, a necessary check is complete checking of calculations by an alternative mathematical method which should, however, make use of the important fact that the results are then known. If machines and coding are reliable, such a check will also be sufficient in the majority of cases, and need be the only one applied. Any checking devices used in coding and in the machine should be arranged to avoid errors - nothing else will, in the long run, be worth while.

A further remark on errors is concerned with the problem of location distinct from the mere detection of an error.

The idea of weighted counts or sums was mentioned, where calculation with a number, say, a0 + a1.2-1 + a2.2-2 + a3.2-3 +... is checked by manipulation of the sum.

S = a0b0 + a1b1 + a2b2 + ...

in which b0, b1, b2, ... are fixed constants for a particular machine. To aid in location of errors (detection is made evident by a wrong value of S), it might be useful to give b0, b1, b2, values which are different prime values. An error in S could then be factorised and, provided small primes were excluded from b0, b1, b2, the erroneous value of a1 could often be located. Small primes are excluded, because the error in a1 will itself have factors which will usually be small or, if not, have a fair chance of not being one of the b1. If no factor b1 turns up, at least two errors are indicated, and location becomes more difficult.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site