Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
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
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
⟶ ACL ⟶ Literature ⟶ Other manuals ⟶ Cambridge Conference 1949 :: High Speed Automatic Calculating-Machines 22-25 June 1949
⟶ ACL ⟶ Literature ⟶ Other manuals ⟶ Cambridge 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