21.03.2013 Views

Short-Term Memory Subtypes in Computing and Artificial Intelligence

Short-Term Memory Subtypes in Computing and Artificial Intelligence

Short-Term Memory Subtypes in Computing and Artificial Intelligence

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Part 1 - A Brief History of Comput<strong>in</strong>g Technology, to 1924<br />

Copyright Notice: This material was written <strong>and</strong> published <strong>in</strong> Wales by Derek J. Smith<br />

(Chartered Eng<strong>in</strong>eer). It forms part of a multifile e-learn<strong>in</strong>g resource, <strong>and</strong> subject only to<br />

acknowledg<strong>in</strong>g Derek J. Smith's rights under <strong>in</strong>ternational copyright law to be identified as<br />

author may be freely downloaded <strong>and</strong> pr<strong>in</strong>ted off <strong>in</strong> s<strong>in</strong>gle complete copies solely for the<br />

purposes of private study <strong>and</strong>/or review. Commercial exploitation rights are reserved. The<br />

remote hyperl<strong>in</strong>ks have been selected for the academic appropriacy of their contents; they<br />

were free of offensive <strong>and</strong> litigious content when selected, <strong>and</strong> will be periodically checked to<br />

have rema<strong>in</strong>ed so. Copyright © 2002-2003, Derek J. Smith (Chartered Eng<strong>in</strong>eer).<br />

1 - Comput<strong>in</strong>g Before the N<strong>in</strong>eteenth Century<br />

The precise motivation for the human race's development of numeracy can only be guessed at on the<br />

basis of archaeological data, for it predates recorded history. It could have been driven, for example,<br />

by the needs of such neolithic crafts as boat-build<strong>in</strong>g, construction, or navigation, or by the needs of<br />

commerce (Smith, 1923) or taxation (Adams, 1993). As far as commerce is concerned, Smith (1923)<br />

notes that the Sumerians had a well-developed system of commerce by 3000BC, <strong>in</strong>clud<strong>in</strong>g bills,<br />

receipts, statements of account, weights <strong>and</strong> measures, etc. However, the support<strong>in</strong>g technology was<br />

simple <strong>in</strong> the extreme. You both planned <strong>and</strong> executed your sums <strong>in</strong> your head, assisted by<br />

temporary storage on f<strong>in</strong>gers or scratch-pads, <strong>and</strong> by longer-term storage on tally sticks, clay tablets,<br />

or tokens (Schm<strong>and</strong>t-Besserat, 1978, 1992). The tally stick, <strong>in</strong> fact, could be much older still, for<br />

deliberately notched bones have been found <strong>in</strong> Upper Palaeolithic excavations dat<strong>in</strong>g from the<br />

Magdalenian. Marshack (1991), for example, <strong>in</strong>terprets the Grotte de Taï bone plaque (ca. 15,000<br />

years old) as some form of calendrical record. Count<strong>in</strong>g frames, on which small stones could be laid<br />

out, seem to have been particularly commonplace <strong>in</strong> ancient commercial centres (<strong>in</strong>deed, the modern<br />

word "calculate" comes from the Lat<strong>in</strong> word for the pebbles used, namely calculi), <strong>and</strong> early bankers<br />

developed these <strong>in</strong>to grid-marked table tops (which to this day reta<strong>in</strong> the connotation "counter"). The<br />

abacus is a clever improvement upon stone count<strong>in</strong>g, be<strong>in</strong>g portable <strong>and</strong> hav<strong>in</strong>g no loose pieces. It<br />

was developed <strong>in</strong> India about 3000BC, spread outwards from there, <strong>and</strong> survives to the present day <strong>in</strong><br />

the Far East. A number of variants have been identified, but all require that any arithmetical "carry"<br />

operation be executed manually.<br />

Now the problem with do<strong>in</strong>g th<strong>in</strong>gs manually is that it <strong>in</strong>vites do<strong>in</strong>g them wrongly - forgett<strong>in</strong>g what to<br />

do next (errors of omission) or not do<strong>in</strong>g someth<strong>in</strong>g the right way (errors of commission). Accurate<br />

calculation is <strong>and</strong> always has been a constant struggle aga<strong>in</strong>st error, <strong>and</strong> calls for just about every<br />

type of cognitive skill available to the human bra<strong>in</strong>, not least the conceptual <strong>and</strong> procedural forms of<br />

long-term memory, <strong>and</strong> the work<strong>in</strong>g memory aspects of short-term memory [for a summary of the full<br />

range of human memory types, click here]; <strong>and</strong> it is when those psychological systems become<br />

overloaded (as they rapidly do), that they need to be further supported by external systems; <strong>and</strong> the<br />

problem with external systems is that they are themselves procedurally complex <strong>and</strong> can potentially<br />

consume more mental resources than they release. Numeracy, <strong>in</strong> short, pushes our powers of<br />

cognition to the very limit, <strong>and</strong> trades off complexity <strong>in</strong> long-term memory for less frequent overloads<br />

<strong>in</strong> short-term memory. Nevertheless, it is probably safe to suggest that the numerically literate subset<br />

of these ancient societies possessed a sound grasp of the card<strong>in</strong>al number concept, planned their<br />

numerical problem solv<strong>in</strong>g us<strong>in</strong>g some form of the number l<strong>in</strong>e, understood at least a rudimentary<br />

system of place values, <strong>and</strong> had at their disposal a wide range of l<strong>in</strong>guistic furniture to put it all <strong>in</strong>to<br />

effect .....<br />

Revised August 5, 2008 Page 1 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Concepts - Card<strong>in</strong>al Numbers <strong>and</strong> the Number L<strong>in</strong>e: What does it mean to th<strong>in</strong>k "one", <strong>and</strong><br />

how does this differ from "two", or "ten", or "a million"? Do we th<strong>in</strong>k of that number of beads on a table<br />

top, or of that number of po<strong>in</strong>ts on an <strong>in</strong>f<strong>in</strong>itely long mental straight l<strong>in</strong>e (the "number-l<strong>in</strong>e"), or of that<br />

number of depressions on a keypad, or what? And what does it actually mean when we ask "how<br />

many"? If we have ten th<strong>in</strong>gs <strong>in</strong> sight do we reply "ten" <strong>in</strong> absolute terms because we somehow know<br />

what ten is (conceptual, or "semantic", knowledge), or do we know that if we start count<strong>in</strong>g upwards<br />

from 1 we will quite quickly get to 10 (procedural knowledge). The problem is that it cannot entirely be<br />

the latter because there are plenty of numbers we cannot actually count up to, such as 10,000,000, or<br />

m<strong>in</strong>us 5, or 1.33452, nor can it entirely be the former, because there is <strong>in</strong>sufficient room <strong>in</strong> our<br />

semantic memories to have an entry for every possible number, most of which will never ever get<br />

used. Well follow<strong>in</strong>g a decade of experimentation (eg. Gelman <strong>and</strong> Gallistel, 1978), Gelman (1980)<br />

concluded that successful count<strong>in</strong>g <strong>in</strong>volves the coord<strong>in</strong>ation of no less than five separate<br />

conceptual pr<strong>in</strong>ciples, namely (1) the One-One Pr<strong>in</strong>ciple - the pr<strong>in</strong>ciple that each item <strong>in</strong> an array<br />

can be given only one tag, (2) the Stable-Order Pr<strong>in</strong>ciple - the pr<strong>in</strong>ciple that the tags used must come<br />

from a stably ordered sequence, (3) the Card<strong>in</strong>al Pr<strong>in</strong>ciple - the pr<strong>in</strong>ciple that the last tag used dur<strong>in</strong>g<br />

the count represents the "card<strong>in</strong>al number" of the array as a whole, that is to say, how many items<br />

are <strong>in</strong> it, (4) the Abstraction Pr<strong>in</strong>ciple - the pr<strong>in</strong>ciple that any set of items can be collected together for<br />

count<strong>in</strong>g, <strong>and</strong> (5) the Order-Irrelevance Pr<strong>in</strong>ciple - the pr<strong>in</strong>ciple that the order <strong>in</strong> which the items are<br />

tagged makes no difference to the end result. [For a full list of Gelman's writ<strong>in</strong>gs, click here.] The age<br />

of atta<strong>in</strong>ment of the card<strong>in</strong>al pr<strong>in</strong>ciple <strong>in</strong> modern society has been further <strong>in</strong>vestigated by Wynn (1990).<br />

She observed that children between 2:7 <strong>and</strong> 3:0 prefer to answer the "How many?" question by<br />

repeat<strong>in</strong>g the entire count rather than stat<strong>in</strong>g the last tag used, <strong>and</strong> that only at mean age 3:6 do<br />

children reliably use the last tag on its own.<br />

Key Concept - Collective Nouns: Ancient languages <strong>and</strong> ancient m<strong>in</strong>ds must also have been able to<br />

deal with collections of items by giv<strong>in</strong>g them a collective name. They would have needed collective<br />

nouns like "herd", "flock", or "shoal", to <strong>in</strong>dicate an <strong>in</strong>determ<strong>in</strong>ately large number of cattle, sheep, or<br />

fish. This allows the m<strong>in</strong>d to substitute one symbol (spoken or written) for a collection of other symbols,<br />

<strong>and</strong> once that habit has been acquired it is only a small additional step to <strong>in</strong>troduce place value <strong>in</strong>to<br />

your tally stick or count<strong>in</strong>g frame system [for examples of aborig<strong>in</strong>al count<strong>in</strong>g systems (a branch of<br />

cultural anthropology known as "ethnomathematics"), click here or here].<br />

Key Concept - Quantitative Nouns: A quantitative noun is an expression which def<strong>in</strong>es a precise<br />

number precisely, or a vague number as precisely as operationally necessary. In English this <strong>in</strong>cludes<br />

words like "few", "lots", "many", "pair", "dozen", "score", "gross", which we use to describe different<br />

sized group<strong>in</strong>gs of entities. We may also use short phrases as nouns, as <strong>in</strong> the phrase "He wants<br />

what precious little additional money we have collected", where the five underl<strong>in</strong>ed words act as a<br />

quantitative noun (Despa<strong>in</strong>, 2002). Language is actually remarkably good at devis<strong>in</strong>g ad hoc<br />

constructions such as this to convey number concepts, <strong>and</strong> although quantitative nouns are not <strong>in</strong><br />

themselves numeracy, you need a degree of numeric literacy to use them properly. You also need to<br />

know how numerically literate your audience is, because they are the ones who are go<strong>in</strong>g to have to<br />

decode your chosen expression, <strong>and</strong> it is vital that all parties end up with the same common<br />

underst<strong>and</strong><strong>in</strong>g.<br />

Key Concept - Place Value <strong>and</strong> "Carry<strong>in</strong>g": A place value is the use of spatial position to change<br />

the value <strong>in</strong>dicated by a given digit <strong>in</strong> a written system of numerical notation, <strong>and</strong> it is easy to<br />

demonstrate their usefulness by consider<strong>in</strong>g a count<strong>in</strong>g frame, where a grow<strong>in</strong>g pile of identical unit<br />

counters would eventually become so large as to be unmanageable. At that juncture, every so many<br />

of the units could either (a) be replaced with one of the same type of counter placed somewhere else,<br />

Revised August 5, 2008 Page 2 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

or (b) be replaced <strong>in</strong> situ by a different type of counter by size, colour, shape, or material of<br />

construction, just as five green Monopoly® houses equals one red hotel. For some as-yet-unknown<br />

reason, option (a) is what happens <strong>in</strong> the abacus <strong>and</strong> place value systems of arithmetic notation, <strong>and</strong><br />

option (b) has been reserved for physical token systems such as co<strong>in</strong>age. Our own "HTU" system of<br />

written numbers allows the digit "1" to <strong>in</strong>dicate one <strong>in</strong> the units column, ten <strong>in</strong> the tens column, one<br />

hundred <strong>in</strong> the hundreds column, one thous<strong>and</strong> <strong>in</strong> the thous<strong>and</strong>s column, <strong>and</strong> so on. You then have to<br />

"carry one" from one column to its left h<strong>and</strong> neighbour whenever you exceed n<strong>in</strong>e <strong>in</strong> a column. We<br />

mention this (a) because the problem of mechanis<strong>in</strong>g the carry process was not solved until the 17th<br />

century, <strong>and</strong> (b) because the impact of the result<strong>in</strong>g system on a nation's collective numeracy can be<br />

remarkably subtle. Bierhoff (1996) studied the numerical concept systems of different European<br />

nationals, <strong>and</strong> found that cont<strong>in</strong>entals do not "dissect" two-digit numbers, preferr<strong>in</strong>g not to<br />

overemphasise the place value of each digit. This perhaps assists their be<strong>in</strong>g dealt with as s<strong>in</strong>gle<br />

concepts. Thus 52 is expla<strong>in</strong>ed to a Cont<strong>in</strong>ental child as be<strong>in</strong>g "a fifty <strong>and</strong> a two", but to a British child<br />

it is expla<strong>in</strong>ed as be<strong>in</strong>g "five tens <strong>and</strong> two units"(Bierhoff, 1996).<br />

Of course, once a society has acquired basic numeracy "skills", some of its members - we call them<br />

"mathematicians" - ascend far beyond the marketplace <strong>and</strong> do some remarkably clever th<strong>in</strong>gs with<br />

them. By 300BC, Greek mathematical knowledge was sufficiently advanced for Euclid's "Elements" to<br />

become the st<strong>and</strong>ard geometry textbook for the next two thous<strong>and</strong> years, <strong>and</strong>, by 200BC, for<br />

Eratosthenes to calculate the circumference of the Earth [to see how he did this, click here]. Greek<br />

mathematics was kept alive dur<strong>in</strong>g the European Dark <strong>and</strong> Middle Ages by the Islamic world, <strong>and</strong><br />

then claimed back dur<strong>in</strong>g the Renaissance by pure mathematicians such as Stifel, Fibonacci, <strong>and</strong><br />

Fermat, generalists such as Descartes <strong>and</strong> Galileo, <strong>and</strong> applied mathematicians (usually<br />

astronomers) such as Copernicus, Brahe, <strong>and</strong> Kepler. Nevertheless, the abacus, the count<strong>in</strong>g table,<br />

<strong>and</strong> the tally stick rema<strong>in</strong>ed the pr<strong>in</strong>cipal aids to calculation for some four <strong>and</strong> a half thous<strong>and</strong> years,<br />

with little substantive change, while the non-mathematicians - the ones whose efforts actually drove<br />

the economy - were still struggl<strong>in</strong>g with the basics. Practical help f<strong>in</strong>ally came <strong>in</strong> the shape of<br />

"Napier's bones". These were devised by the Scottish mathematician John Napier (1550-1617), <strong>and</strong><br />

consisted of bars of wood or ivory, six or eight <strong>in</strong>ches long, on which were engraved the multiplication<br />

tables of the numbers 1 to 9. Each bone was divided <strong>in</strong>to ten vertical divisions. The top space on any<br />

one facet was used to identify the digit <strong>in</strong> question, <strong>and</strong> spaces #2 to #10 were <strong>in</strong>dex positions for the<br />

multipliers 1 to 9. Each <strong>in</strong>dex space conta<strong>in</strong>ed the two-digit product of the digit <strong>in</strong> question <strong>and</strong> the<br />

correspond<strong>in</strong>g multiplier. The lowest was therefore (for bone #1, <strong>in</strong>dex position #1), <strong>and</strong> the<br />

highest was (for bone #9, <strong>in</strong>dex position #9). However, the two digits of each product were<br />

always separated by a diagonal l<strong>in</strong>e. Thus the bone for was marked "3" at the top to identify it,<br />

<strong>and</strong> then "0/3", "0/6", "0/9", "1/2" all the way down to "2/7", giv<strong>in</strong>g you your three times table at a<br />

glance. If you wished to multiply any two numbers together, you laid the first (<strong>and</strong> the longest, if there<br />

was one) number out as a sequence of bones, placed a straight edge across the bones to underl<strong>in</strong>e<br />

the "units" multiplier l<strong>in</strong>e, read off the products for each of the digit-by-digit multiplications, <strong>and</strong> then<br />

added up all the subtotals [to see photographs <strong>and</strong> worked examples, click here, or here]. You then<br />

repeated the process for the "tens" multiplier, then the "hundreds", <strong>and</strong> so on, <strong>and</strong> summed the<br />

<strong>in</strong>dividual results together.<br />

Napier's bones allowed large long multiplications to be done reasonably accurately by otherwise<br />

uneducated users, <strong>and</strong> any criticism that they were rather simplistic is offset by the fact that Napier<br />

was also responsible for one of the major theoretical advances of that era, namely logarithms, an<br />

even better method of multiply<strong>in</strong>g by add<strong>in</strong>g. Logarithms are power, or "exponential", relationships.<br />

They reflect how many times a number - known as the "base" of the logarithm - has to be multiplied<br />

by itself to give another number. Thus the act of comput<strong>in</strong>g base 3 to the power 2 means tak<strong>in</strong>g one 3<br />

Revised August 5, 2008 Page 3 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> multiply<strong>in</strong>g it by a second 3, <strong>and</strong> it gives you the answer 9 (commonly known as "three squared").<br />

Similarly, base 3 to the power 3 means tak<strong>in</strong>g the 9 you already have, <strong>and</strong> multiply<strong>in</strong>g it by a third 3,<br />

giv<strong>in</strong>g 27 (commonly known as "three cubed"). As a specific formula, this latter would be written .....<br />

3 3 = 27<br />

..... <strong>and</strong> as a general formula, the process would be summarised as .....<br />

b power = x<br />

In Napier's system, the power term is called the "logarithm" of the number x, <strong>and</strong> is properly written<br />

logbx (although this may be abbreviated to log x if the base of the logarithm is known beyond doubt),<br />

<strong>and</strong> x is called the "antilogarithm" of the logarithm. Calculat<strong>in</strong>g the logarithms of numbers <strong>in</strong> between<br />

the whole number powers takes time, but, once done, can be entered <strong>in</strong>to books of "log tables", so<br />

that subsequent users can look them up rather than hav<strong>in</strong>g to calculate them for themselves.<br />

The ability to multiply by add<strong>in</strong>g derives from the mathematical pr<strong>in</strong>ciple that when two powers of the<br />

same base are multiplied together, the answer is the base to the sum of those two powers. Thus if<br />

you multiply 100 (which is 10 squared, or 10 to the power 2) by 1000 (which is 10 cubed, or 10 to the<br />

power 3) then you get 100,000 (which is 10 to the power (2+3)). As a specific formula, this would be<br />

written .....<br />

10 2 + 10 3 = 10 5<br />

..... <strong>and</strong> as a general formula, it would be written .....<br />

Or, to put it another way .....<br />

b x + b y = b (x+y)<br />

logbx + logby = logb(x.y)<br />

..... which is the same th<strong>in</strong>g as the follow<strong>in</strong>g look-up-able format .....<br />

x.y = antilog[logbx + logby]<br />

The reason logarithms immediately caught on, is that once the log <strong>and</strong> antilog look-up tables had<br />

been calculated <strong>and</strong> pr<strong>in</strong>ted, the process of us<strong>in</strong>g them <strong>in</strong>volved less steps than did Napier's bones,<br />

<strong>and</strong> was less prone to error because it totally avoided any long multiplications. No matter how big your<br />

numbers were, or how many of them you had to multiply together, their multiplication <strong>in</strong>volved look<strong>in</strong>g<br />

up the antilogarithm of the sum of their logarithms. And the more complicated the multiplication,<br />

the bigger the sav<strong>in</strong>g. Napier published his method <strong>in</strong> 1614, <strong>and</strong> the system soon received critical<br />

acclaim from the likes of Henry Briggs (1561-1631) <strong>and</strong> the astronomer Kepler. Napier died <strong>in</strong> 1617<br />

<strong>and</strong> Briggs carried on the calculations <strong>and</strong> published log tables to 14 significant figures <strong>in</strong> 1624, much<br />

to the delight of the astronomers <strong>and</strong> navigators of the day.]<br />

Logarithms also produced a valuable piece of technological sp<strong>in</strong>-off, when the "additive" nature of<br />

logarithmic multiplication was noted by the astronomer Edmund Gunter <strong>and</strong> the clergyman William<br />

Revised August 5, 2008 Page 4 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Oughtred <strong>and</strong> used to create the slide rule. In its simplest form, this is simply two straight laths of<br />

wood placed together long side to long side, with a logarithmic power scale (Gunter's contribution)<br />

etched <strong>in</strong>to the two fac<strong>in</strong>g edges (Oughtred's contribution) [picture]. If the po<strong>in</strong>t on the second<br />

scale is placed aga<strong>in</strong>st the multiplic<strong>and</strong> on the first scale, then the multiplier on the second scale is<br />

level with the product of the multiplication on the first, that is to say, the logarithm of the multiplic<strong>and</strong><br />

has been added to the logarithm of the multiplier, which, given Naperian theory, is equivalent to<br />

multiply<strong>in</strong>g the orig<strong>in</strong>al natural numbers together [study the picture aga<strong>in</strong>, if confused]. The system<br />

was only accurate to a couple of significant figures, but that was sufficient for most practical<br />

applications. It was also portable, cheap, <strong>and</strong> you did not need to keep books of look-up tables at<br />

h<strong>and</strong> to make it work. It therefore caught on <strong>in</strong> a big way with everyday sum-doers such as craftsmen,<br />

bankers, <strong>and</strong> merchants. The system also had the power to fasc<strong>in</strong>ate, as <strong>in</strong> 1913, when a n<strong>in</strong>e-year<br />

old Florida schoolboy named John V<strong>in</strong>cent Atanassof chanced upon his father's new slide rule, <strong>and</strong> it<br />

awoke <strong>in</strong> him such a love of numbers that - as we shall see <strong>in</strong> Part 2 - he went on to change the world<br />

(AIT Newsletter, Iowa State University, October 1999).<br />

But still - <strong>in</strong>deed more than ever - the <strong>in</strong>dividual arithmetician rema<strong>in</strong>ed both th<strong>in</strong>ker <strong>and</strong> doer. None of<br />

the available aids had any <strong>in</strong>ternal work<strong>in</strong>gs, <strong>and</strong>, no matter whether you used an abacus or Napier's<br />

bones or Briggs' log tables or Oughtred's slide rule, the necessary operat<strong>in</strong>g skill resided totally <strong>in</strong> the<br />

m<strong>in</strong>d of the end user. If you omitted, or mis-sequenced, or mis-executed any one step of the<br />

calculation, then your f<strong>in</strong>al answer would immediately be compromised. The idea of remov<strong>in</strong>g error<br />

<strong>and</strong> <strong>in</strong>creas<strong>in</strong>g speed by mechanically assist<strong>in</strong>g the process seems (along with the helicopter <strong>and</strong> the<br />

submar<strong>in</strong>e) to have been yet another of those uncannily successful visions of the future by Leonardo<br />

da V<strong>in</strong>ci (1452-1519). Some time around 1500, he sketched a design for an add<strong>in</strong>g mach<strong>in</strong>e built of<br />

<strong>in</strong>terl<strong>in</strong>ked, rotat<strong>in</strong>g, numbered wheels. It is, however, not known whether he actually built a mach<strong>in</strong>e<br />

to go with it, although 20th century facsimiles have been built to his design . Similarly, <strong>in</strong> 1623 Wilhelm<br />

Schickard (1592-1635) is reported to have built a "calculat<strong>in</strong>g clock" capable of add<strong>in</strong>g <strong>and</strong><br />

subtract<strong>in</strong>g six-digit numbers. Aga<strong>in</strong> no specimen of the mach<strong>in</strong>e exists, but aga<strong>in</strong> there has been a<br />

20th century facsimile.<br />

More complete details have survived from 1642, when the 19-year French mathematician Blaise<br />

Pascal (1623-1662) developed the Pascal<strong>in</strong>e. In modern technoparlance, this was a "da V<strong>in</strong>ci clone",<br />

a set of geared counter wheels with a "tens carry" system, which could record an eight-digit runn<strong>in</strong>g<br />

total. A number was <strong>in</strong>serted by rotat<strong>in</strong>g the appropriate "column" wheel (units, tens, hundreds, etc.)<br />

with a stylus, <strong>and</strong> then added to by onward rotation by cognate column from right to left. Unlike the<br />

abacus, however, the built-<strong>in</strong> carry system (see below) would take care of turn<strong>in</strong>g as many as<br />

necessary of the dials to the left of the one be<strong>in</strong>g moved manually [for pictures <strong>and</strong> a more detailed<br />

description, click here]. Half a century later, Gottfried Leibnitz (1646-1716) demonstrated a larger<br />

h<strong>and</strong>le-driven version of Pascal's mach<strong>in</strong>e. This was capable of multiplication by repeated addition,<br />

<strong>and</strong> went under the name mach<strong>in</strong>a arithmetica. This was to rema<strong>in</strong> the pr<strong>in</strong>ciple of the desk-top<br />

calculator for more than 200 years, until the likes of NCR <strong>and</strong> Burroughs (see below) added electric<br />

drives to their mach<strong>in</strong>es <strong>in</strong> the early 1900s.<br />

Key Invention - The "Tens Carry" Cogwheel: This is the device which provided a solution to the<br />

place value problem. All the mach<strong>in</strong>es described above allowed a 10-position right h<strong>and</strong> cog to<br />

engage with the cog immediately to its left on every tenth advance. Thus as 9 advances towards 0 <strong>in</strong><br />

the units column, say, a s<strong>in</strong>gle digit is be<strong>in</strong>g added to the tens column, which will itself cast <strong>in</strong>to the<br />

hundreds column if necessary, <strong>and</strong> so on until you fall off the left h<strong>and</strong> end of the available register.<br />

The technology is on the dashboard <strong>in</strong>strumentation of most 20th century automobiles, patiently<br />

Revised August 5, 2008 Page 5 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

add<strong>in</strong>g up the kilometers/miles driven, <strong>and</strong> "go<strong>in</strong>g round the clock" back to zero when the number of<br />

digits f<strong>in</strong>ally gets exceeded.<br />

We mention all this, because the first fundamental issue <strong>in</strong> the history of comput<strong>in</strong>g has to do with the<br />

difference between the "analog" <strong>and</strong> the "digital" representation of a variable .....<br />

Fundamental Issue - Analog vs Digital Representation: The po<strong>in</strong>t about any calculation aid is that<br />

sooner or later it has to represent the real world <strong>in</strong>ternally <strong>in</strong> some way. The simplest representation<br />

might be one f<strong>in</strong>ger (or stone, etc.) to represent one th<strong>in</strong>g: one sheep, perhaps, or one soldier. This is<br />

known as a digital representation, because the number represents a f<strong>in</strong>ger-countable card<strong>in</strong>al<br />

number (see above). Digital representations are ideal for count<strong>in</strong>g <strong>in</strong>divisible th<strong>in</strong>gs like sheep <strong>and</strong><br />

soldiers, where there are only whole numbers on the number l<strong>in</strong>e, however they can also be used to<br />

deal with cont<strong>in</strong>uous variables such as length, weight, time, or angle of rotation. This is what is<br />

happen<strong>in</strong>g when we talk of horses be<strong>in</strong>g "15 h<strong>and</strong>s" tall, or of Noah's ark be<strong>in</strong>g "300 arm's lengths"<br />

long. We are tak<strong>in</strong>g a particular dimension - height or length - <strong>and</strong> select<strong>in</strong>g a card<strong>in</strong>al number of<br />

arbitrary units of it. When necessary, we can also cater for fractions of a unit, <strong>and</strong> if we convert these<br />

fractions to decimals it gives us a digital approximation to a po<strong>in</strong>t on a truly cont<strong>in</strong>uous variable (eg.<br />

7.693 kilometers).<br />

But <strong>in</strong> fact it is possible to select one cont<strong>in</strong>uous variable <strong>and</strong> treat it AS IF it were another. A good<br />

example of this is the clock c<strong>and</strong>le, where the amount of burn down (ie. a distance) is taken as a<br />

measure of the passage of time . This is known as an analog representation, because the first<br />

measure is used analogously - <strong>in</strong> the place of - the second. Other examples of the digital-analog<br />

dist<strong>in</strong>ction are commonplace <strong>in</strong> everyday life ....<br />

The Watch: A digital watch shows you discrete numbers on a display panel, whilst an analog watch<br />

shows you noth<strong>in</strong>g but a constant angular sweep. Neither shows you the time as such, of course, but<br />

with experience we <strong>in</strong>stantly grasp what they are try<strong>in</strong>g to tell us.<br />

The Slide Rule: This analogs distance aga<strong>in</strong>st the logarithm of a number to be multiplied or divided.<br />

The Analog Speedometer: This analogs angular sweep aga<strong>in</strong>st speed.<br />

The Analog Mercury Thermometer: This analogs distance (of exp<strong>and</strong><strong>in</strong>g liquid) aga<strong>in</strong>st<br />

temperature .....<br />

The Analog Dial Thermometer: .....but the same job can also be done by angular sweep .....<br />

The Digital Thermometer: ..... <strong>and</strong> digital displays are nowadays cheaper <strong>and</strong> more reliable, mak<strong>in</strong>g<br />

them the display of choice <strong>in</strong> modern central heat<strong>in</strong>g, healthcare, <strong>and</strong> dashboard applications.<br />

NB: The study of what makes for the most effective comb<strong>in</strong>ation of <strong>in</strong>struments <strong>in</strong> dashboards <strong>and</strong> on<br />

flightdecks is known as "display eng<strong>in</strong>eer<strong>in</strong>g". It is part of the larger sciences of human factors,<br />

human-computer <strong>in</strong>teraction, human-mach<strong>in</strong>e <strong>in</strong>teraction, <strong>and</strong> cognitive ergonomics, <strong>and</strong> is a critical<br />

aspect of modern aerospace, automobile, <strong>and</strong> computer design [to see some current research, <strong>and</strong> to<br />

be conv<strong>in</strong>ced of its everyday importance to those who fly <strong>in</strong>, or live beneath, airl<strong>in</strong>ers - which is most<br />

of us.<br />

Revised August 5, 2008 Page 6 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

2 - The Method of Differences<br />

Before proceed<strong>in</strong>g with the ma<strong>in</strong> argument we need to say a few quick words about yet another<br />

mathematical procedure, "the method of differences", a technique which helps analyse the rules<br />

beh<strong>in</strong>d numerical series. This procedure was developed over a number of years by a succession of<br />

workers, <strong>in</strong>clud<strong>in</strong>g Isaac Newton, the aforementioned Henry Briggs, <strong>and</strong> James Stirl<strong>in</strong>g (1692-1770).<br />

The method <strong>in</strong>volves writ<strong>in</strong>g down the first half dozen values <strong>in</strong> the given series, <strong>and</strong> then record<strong>in</strong>g<br />

the differences between successive values, thus .....<br />

Orig<strong>in</strong>al Series: 1, 3, 5, 7, 9, 11 .....<br />

Differences: 2, 2, 2, 2, 2 .....<br />

If the differences are the same (<strong>and</strong> <strong>in</strong> this case they are) then you have discovered the underly<strong>in</strong>g<br />

secret of the series. You know how it works, <strong>and</strong> can accord<strong>in</strong>gly work out for yourself the value of<br />

any n th term <strong>in</strong> it. If, on the other h<strong>and</strong>, the differences are NOT the same, then you have to take the<br />

differences of the differences. This is known as tak<strong>in</strong>g the "second order" differences of the "first<br />

order" differences. Thus .....<br />

Orig<strong>in</strong>al Series: 1, 4, 9, 16, 25, 36 .....<br />

1st Order Differences: 3, 5, 7, 9, 11 .....<br />

2nd Order Differences: 2, 2, 2, 2 .....<br />

Aga<strong>in</strong>, if the differences are the same (<strong>and</strong> aga<strong>in</strong> they are) then you have discovered the underly<strong>in</strong>g<br />

secret of the series. If, on the other h<strong>and</strong>, the differences are NOT the same, then you have to take<br />

the differences of the differences aga<strong>in</strong>. This is known as tak<strong>in</strong>g the "third order" differences of the<br />

"second order" differences. Thus .....<br />

And so on.<br />

Orig<strong>in</strong>al Series: 1, 8, 27, 64, 125, 216 .....<br />

1st Order Differences: 7, 19, 37, 61, 91 .....<br />

2nd Order Differences: 12, 18, 24, 30 .....<br />

3rd Order Differences: 6, 6, 6 .....<br />

Now this is the pay-off. Equations of the form y = ax + b will have generated any series where the first<br />

order differences are the same, equations of the form y = ax 2 + bx + c will have generated series<br />

where the second order differences are the same, equations of the form y = ax 3 + bx 2 + cx + d will<br />

have generated series where the third order differences are the same, equations of the form y = ax 4 +<br />

bx 3 + cx 2 + dx + e will have generated series where the fourth order differences are the same, <strong>and</strong> so<br />

on. In other words, the "degree" of the polynomial - that is to say, the highest power term - is the same<br />

as the number of passes required to make the differences equal. The method of differences is thus a<br />

quick way for a pure mathematician to turn a few <strong>in</strong>itial observations <strong>in</strong>to a general purpose<br />

Revised August 5, 2008 Page 7 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

polynomial equation, from which any later n th value can be predicted with total reliability. Unfortunately,<br />

the technique was beyond most navigators <strong>and</strong> eng<strong>in</strong>eers, for they were applied mathematicians (<strong>and</strong><br />

were, <strong>in</strong> any event, already converts to us<strong>in</strong>g look-up tables), so the method of differences became<br />

the shortcut of preference to the mathematicians who built the look-up tables <strong>in</strong> the first place, <strong>and</strong> it<br />

did the job very well.<br />

However, now that it was possible to do sums that much more quickly, another problem emerged, for<br />

the pr<strong>in</strong>ters could not keep up with the mathematicians. The typesett<strong>in</strong>g process was simply too slow<br />

<strong>and</strong> error-prone. The solution was to automate not just the calculation, but the pr<strong>in</strong>t production<br />

process as well, <strong>and</strong> this idea seems to have come from a German eng<strong>in</strong>eer named Johann Helfrich<br />

Müller, who wrote<br />

"I would <strong>in</strong> the future make a mach<strong>in</strong>e, which would simultaneously pr<strong>in</strong>t <strong>in</strong> pr<strong>in</strong>ter's <strong>in</strong>k on paper any<br />

arbitrary arithmetical progression ... <strong>and</strong> which would halt of its own accord, when the side of the<br />

paper was full up. After sett<strong>in</strong>g the first figure, all one has to do is to turn a h<strong>and</strong>le." (Müller, 1784,<br />

cited <strong>in</strong> Swade, 2000, p30.)<br />

Yet Müller never got round to mak<strong>in</strong>g that mach<strong>in</strong>e, <strong>and</strong> when the French civil eng<strong>in</strong>eer Gaspard de<br />

Prony (1755-1839) worked with the method of differences from 1792 to 1801 as part of a team of<br />

around 80 mathematicians <strong>and</strong> assistants (that is to say, some 800 man years' effort) to produce "Les<br />

Gr<strong>and</strong>es Tables Logarithmiques, etc.", a 19-volume book of logarithmic <strong>and</strong> trigonometric tables, the<br />

cost of typesett<strong>in</strong>g <strong>and</strong> proof-read<strong>in</strong>g prevented the manuscript ever be<strong>in</strong>g published <strong>in</strong> full. And it was<br />

these difficulties which prompted one Charles Babbage (see below) to try simultaneously produc<strong>in</strong>g<br />

the numbers AND the pr<strong>in</strong>t out with the largest da V<strong>in</strong>ci clone ever produced .....<br />

3 - Comput<strong>in</strong>g 1805-1866 - The Difference Eng<strong>in</strong>e<br />

We move on now to 1805, the year <strong>in</strong> which a French weaver named Joseph Jacquard (1752-1834)<br />

perfected a method of controll<strong>in</strong>g his looms us<strong>in</strong>g precisely sequenced packs of precoded slats to<br />

codify the pattern of the weave <strong>in</strong> advance. Prior to this, it had been st<strong>and</strong>ard practice for around five<br />

thous<strong>and</strong> years to <strong>in</strong>troduce the pattern <strong>in</strong>to woven cloth us<strong>in</strong>g what would today be termed "pixel<br />

technology" - by manually vary<strong>in</strong>g which warp (ie. longitud<strong>in</strong>al) threads were raised, <strong>and</strong> which<br />

lowered, at the moment the weft (ie. transverse) thread was passed. Us<strong>in</strong>g warps <strong>and</strong> wefts of<br />

different colours gave you hundreds of coloured pixels per m<strong>in</strong>ute, from which you built up your<br />

desired pattern, but it was slow <strong>and</strong> monotonous work, <strong>and</strong> subject, aga<strong>in</strong>, to operator error. The key<br />

to Jacquard's advance lay <strong>in</strong> mechanis<strong>in</strong>g the process .....<br />

Key Invention - Jacquard's Needle System: A number of wooden or lacquered card slats were<br />

strung together <strong>in</strong>to a cont<strong>in</strong>uous loop, <strong>and</strong> mounted above the loom. At each activation by the<br />

weaver, the follow<strong>in</strong>g sequence of operations took place: (1) a new slat was rolled forward to be<br />

"read", <strong>and</strong> the "used" slat was returned to the back of the pack, (2) sensor needles were advanced<br />

up aga<strong>in</strong>st the slat, <strong>and</strong> were able to move further where there was a hole <strong>in</strong> the slat than where there<br />

was none (that is to say, some needles were restra<strong>in</strong>ed by non-holes), (3) the warp threads co<strong>in</strong>cid<strong>in</strong>g<br />

with the restra<strong>in</strong>ed needles were lifted (this be<strong>in</strong>g possible because the forward movement of the<br />

unrestra<strong>in</strong>ed needles disengaged the l<strong>in</strong>k to the lift<strong>in</strong>g mechanism), <strong>and</strong> (4) the shuttle was passed,<br />

draw<strong>in</strong>g the weft thread between the lifted <strong>and</strong> the unlifted warp threads. Looms with 400-600 needle<br />

systems rapidly became common, <strong>and</strong> 1000 needle systems were not unknown. The profit came<br />

when the slats could be recycled <strong>in</strong> an endless loop, because the loom simply repeated the pattern<br />

every time it got back to the start. The mass production of any repeat<strong>in</strong>g woven pattern thus became<br />

Revised August 5, 2008 Page 8 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

simple once the appropriate slats had been produced, <strong>and</strong> loops of up to 24,000 cards were not<br />

unknown. In truth, Jacquard <strong>in</strong>corporated several earlier <strong>in</strong>ventions <strong>in</strong>to his mach<strong>in</strong>e: the idea of the<br />

punched card program seems to have come from Jean Philippe Falcon <strong>in</strong> 1728, <strong>and</strong> the use of lift<strong>in</strong>g<br />

hooks to effect the automation from Jacques Vaucanson <strong>in</strong> 1745 (Wilkes, 1956). Falcon's mach<strong>in</strong>e is<br />

on display <strong>in</strong> the Museum of Arts <strong>and</strong> Crafts <strong>in</strong> Paris.<br />

The Falcon-Jacquard system is cited very frequently <strong>in</strong> histories of comput<strong>in</strong>g, because it <strong>in</strong>volved<br />

automation. It reduced a repetitive craft to an essentially numerical process, it brought numerical<br />

control to a manufactur<strong>in</strong>g <strong>in</strong>dustry, <strong>and</strong> it <strong>in</strong>volved programm<strong>in</strong>g as we nowadays underst<strong>and</strong> it.<br />

Indeed, it only rema<strong>in</strong>ed to po<strong>in</strong>t the technology at mathematical problems for it to become comput<strong>in</strong>g,<br />

<strong>and</strong> the story of how this happened beg<strong>in</strong>s shortly afterwards, when the British eng<strong>in</strong>eer Charles<br />

Babbage (1791-1871) took Pascal's <strong>and</strong> Leibnitz's cogwheeled calculators to new levels of complexity.<br />

In his late twenties, Babbage conceived the idea of a large calculat<strong>in</strong>g mach<strong>in</strong>e capable of automat<strong>in</strong>g<br />

the method of differences <strong>and</strong> pr<strong>in</strong>t<strong>in</strong>g off the result<strong>in</strong>g look-up tables. Like de Prony a few years<br />

before, Babbage had, as a young man, spent time produc<strong>in</strong>g mathematical tables for a liv<strong>in</strong>g, <strong>and</strong> had<br />

been struck by the highly repetitive nature of the work, <strong>and</strong> by the underly<strong>in</strong>g simplicity of the<br />

<strong>in</strong>dividual steps. Basically, even the most complicated tasks boiled down time after time to additions<br />

<strong>and</strong> subtractions done <strong>in</strong> a very precise order. He called his proposed mach<strong>in</strong>e a Difference Eng<strong>in</strong>e,<br />

had a small prototype (now lost) ready <strong>in</strong> 1822, <strong>and</strong> submitted the plans to the British government for<br />

fund<strong>in</strong>g to build a full-sized version. He was awarded enough money to start work, but progress was<br />

so slow that <strong>in</strong> 1833 fund<strong>in</strong>g was withdrawn with the mach<strong>in</strong>e still far from complete. The Difference<br />

Eng<strong>in</strong>e as it stood <strong>in</strong> December 1832 was as far as it got, <strong>and</strong> H.M. Treasury had <strong>in</strong>vested nearly<br />

£17,500 <strong>in</strong> it (Swade, 2000).<br />

The root of Babbage's difficulties lay partly <strong>in</strong> the fact that the design for the Difference Eng<strong>in</strong>e was far<br />

ahead of its time. Although it was basically a da V<strong>in</strong>ci clone, full of toothed <strong>in</strong>terlock<strong>in</strong>g wheels <strong>and</strong><br />

sp<strong>in</strong>dles, it was very large (Swade, 2000, estimates 25,000 components). This meant it had to be<br />

extraord<strong>in</strong>arily well-eng<strong>in</strong>eered, so as not to lock solid when apply<strong>in</strong>g the tens-carry operation to<br />

numbers conta<strong>in</strong><strong>in</strong>g lots of n<strong>in</strong>es. More significantly, it was put together <strong>in</strong> an <strong>in</strong>genious fashion to<br />

provide four ma<strong>in</strong> modules. Firstly there were stores for numbers, secondly there was a "mill" for<br />

do<strong>in</strong>g calculations based on those numbers, thirdly there was a controller to ensure that everyth<strong>in</strong>g<br />

was done <strong>in</strong> the right order, <strong>and</strong> fourthly (<strong>in</strong>dependently reach<strong>in</strong>g the same conclusion as Müller, <strong>and</strong><br />

conscious of de Prony's difficulties) there was also an automatic l<strong>in</strong>k to a typesett<strong>in</strong>g module, so that<br />

the tables would be produced ready for pr<strong>in</strong>t<strong>in</strong>g. Babbage was also guilty of persistently upgrad<strong>in</strong>g the<br />

specification as new ideas occurred to him, <strong>and</strong> <strong>in</strong> 1834 he did so aga<strong>in</strong>, <strong>in</strong> order to <strong>in</strong>corporate<br />

Jacquard's proven ability to "pre-program" a sequence of <strong>in</strong>structions. Jacquard's cards would allow<br />

the sequence of the computation to be preset, thus act<strong>in</strong>g as the first storable <strong>and</strong> reusable computer<br />

program. Babbage called this new mach<strong>in</strong>e the Analytical Eng<strong>in</strong>e. Sadly the Government was far<br />

less enthusiastic now, <strong>and</strong> adequate fund<strong>in</strong>g was not forthcom<strong>in</strong>g.<br />

What happened next is an object lesson <strong>in</strong> how not to manage the process of <strong>in</strong>novation. Swade<br />

expla<strong>in</strong>s how the Swedish eng<strong>in</strong>eer Georg Scheutz, hav<strong>in</strong>g read of Babbage's undertak<strong>in</strong>g <strong>in</strong> 1834,<br />

<strong>and</strong> underst<strong>and</strong><strong>in</strong>g the basic pr<strong>in</strong>ciples, was <strong>in</strong>spired to produce his own design for a difference<br />

eng<strong>in</strong>e. Scheutz, however, kept it simple, so that when the plans <strong>and</strong> prototypes were ready <strong>in</strong> 1837,<br />

he was able to set his 15-year old son Edvard to work at putt<strong>in</strong>g it together. It took father <strong>and</strong> son only<br />

six years to complete it (whereupon the British government promptly placed their own order for one).<br />

As Swade puts it, "a Swedish teenager had succeeded where the best of British had failed" (p197).<br />

Babbage's second mach<strong>in</strong>e was still <strong>in</strong>complete at the time of his death <strong>in</strong> 1871, a quarter of a century<br />

Revised August 5, 2008 Page 9 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

later, although a work<strong>in</strong>g facsimile was built <strong>in</strong> 1991 to celebrate Babbage's bicentenary <strong>and</strong> is <strong>in</strong> the<br />

Science Museum <strong>in</strong> London.<br />

Between 1833 <strong>and</strong> 1852, Babbage was assisted <strong>in</strong> his work by Augusta Ada Lovelace (1815-1852),<br />

daughter of the poet, Lord Byron, <strong>and</strong> a woman of great <strong>in</strong>fluence <strong>in</strong> British society. A keen student of<br />

mathematics herself, Lovelace soon grasped Babbage's programm<strong>in</strong>g concepts, lobbied on behalf of<br />

the project <strong>in</strong> high places, <strong>and</strong> published a number of historically valuable technical memor<strong>and</strong>a. This<br />

enthusiastic contribution to the newly born software <strong>in</strong>dustry was honoured <strong>in</strong> 1979 when the US<br />

Department of Defence named their ADA programm<strong>in</strong>g language after her.<br />

4 - Comput<strong>in</strong>g 1805-1866 - The Electric Telegraph<br />

The story of the electric telegraph is usually dated to the 1830s, but to get the best flavour out of the<br />

later material it helps to go back some way before that. So we shall start <strong>in</strong> 1731, when the British<br />

polymath, Stephen Gray (1666-1736), who for several decades had been carry<strong>in</strong>g out some of the<br />

very first empirical <strong>in</strong>vestigations of electrical phenomena, demonstrated that an electrical charge<br />

would readily conduct itself away from the place where it had been generated. Gray experimented<br />

with the transfer of charge along glass <strong>and</strong> metal rods, fish<strong>in</strong>g poles, pokers, cha<strong>in</strong>s of people, th<strong>in</strong><br />

brass wire, <strong>and</strong> silken thread, <strong>and</strong> made the arrival of the charge at the distant end visible by hav<strong>in</strong>g it<br />

electrostatically attract slips of foil or paper. His longest successful transmission seems to have been<br />

886 feet along a length of cord suspended by silk threads. This series of experiments was followed <strong>in</strong><br />

1751 by Benjam<strong>in</strong> Frankl<strong>in</strong>'s demonstration that if you flew a kite <strong>in</strong>to an electric storm the lightn<strong>in</strong>g<br />

would discharge down a suspended wire <strong>in</strong> much the same way as "the virtue" would travel along<br />

Gray's rods <strong>and</strong> filaments, albeit with a considerably louder bang.<br />

It was aga<strong>in</strong>st this background that <strong>in</strong> February 1753 a certa<strong>in</strong> Charles Marshall published a<br />

theoretical proposition of no little foresight. This is what he wrote:<br />

"It is well known to all who are conversant <strong>in</strong> electrical experiments that the electric power may be<br />

propagated along a small wire, from one place to another, without be<strong>in</strong>g sensibly abated by the length<br />

of its progress; let, then, a set of wires equal <strong>in</strong> number to the letters of the alphabet be extended<br />

horizontally between two given places parallel to each other <strong>and</strong> each of them about an <strong>in</strong>ch distant<br />

from that next to it. At every twenty yards' end let them be fixed <strong>in</strong> glass or Jewelers' cement to some<br />

firm body, both to prevent them from touch<strong>in</strong>g the earth or any other non-electric, <strong>and</strong> from break<strong>in</strong>g<br />

from their own gravity." (Marshall, 1753, cited <strong>in</strong> Naughton, 2002.)<br />

Naughton then goes on to expla<strong>in</strong> Marshall's proposed method of operat<strong>in</strong>g the telegraph. Slips of<br />

paper bear<strong>in</strong>g the letters of the alphabet were to be placed an eighth of an <strong>in</strong>ch below suspended<br />

metallic balls at the receiv<strong>in</strong>g station <strong>and</strong> would be attracted to these balls as each wire was<br />

electrostatically charged from the send<strong>in</strong>g station. It then only rema<strong>in</strong>ed for a human operator at the<br />

receiv<strong>in</strong>g end to observe <strong>and</strong> record which letters moved, <strong>and</strong> <strong>in</strong> which order, for the message to have<br />

been successfully "telegraphed".<br />

It is not recorded that Marshall did more than short range experimentation with such an electrostatic<br />

telegraph, but he had awakened the <strong>in</strong>terest of one of the pr<strong>in</strong>cipal users of signall<strong>in</strong>g technology<br />

(such as it then was), namely the military. The next major development was by Citizen Claude<br />

Chappe (1763-1805) dur<strong>in</strong>g the French Revolutionary War. Chappe's ocular telegraph consisted of<br />

large po<strong>in</strong>ters mounted on gantries, whose angular position sequentially coded each letter of the<br />

message to be sent. Repeater stations were situated <strong>in</strong> direct l<strong>in</strong>e of sight every few miles, <strong>and</strong> at<br />

Revised August 5, 2008 Page 10 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

night lanterns were tied to the arms to ma<strong>in</strong>ta<strong>in</strong> the service. There was an operational 15-station l<strong>in</strong>k<br />

between Paris <strong>and</strong> Lille (144 miles) by July 1794. A longer l<strong>in</strong>k from Paris to Toulon (475 miles)<br />

consisted of 120 towers <strong>and</strong> boasted a transmission time of about 12 m<strong>in</strong>utes. A longer one still, from<br />

Paris to Milan, was under construction at the time of Chappe's early death, <strong>and</strong> before the method<br />

was rendered obsolete <strong>in</strong> the mid-n<strong>in</strong>eteenth century by the various electromagnetic telegraphs (see<br />

below), the Chappe network had exp<strong>and</strong>ed to 556 stations (K<strong>in</strong>gsford, 1969) cover<strong>in</strong>g 3000 miles<br />

(Derry <strong>and</strong> Williams, 1960).<br />

Not wish<strong>in</strong>g to be outdone by their enemy, Lord George Murray of the British Royal Navy <strong>in</strong>vented the<br />

shutter telegraph <strong>in</strong> 1796. This consisted of a large shielded lantern revealed by six spatially<br />

separated slots. Light could be "sent" by open<strong>in</strong>g the slots <strong>in</strong> appropriately coded comb<strong>in</strong>ations. The<br />

number of different signals depends upon the number of slots, <strong>and</strong> with a six-slot system this amounts<br />

to 63 comb<strong>in</strong>ations. The lights were "read" by observers down the l<strong>in</strong>e equipped with telescopes, <strong>and</strong><br />

then retransmitted to "repeater stations" further down the l<strong>in</strong>e until the f<strong>in</strong>al dest<strong>in</strong>ation was received.<br />

Fifteen hilltop signal stations were set up between London <strong>and</strong> Deal (70 miles), <strong>and</strong> the first message<br />

was passed on 27th January 1796, tak<strong>in</strong>g two m<strong>in</strong>utes to send <strong>and</strong> acknowledge. A 10-station l<strong>in</strong>k<br />

was then established between London <strong>and</strong> Portsmouth (65 miles), <strong>and</strong> a 22-station extension from<br />

Portsmouth to Plymouth was operational <strong>in</strong> 1806 (which, <strong>in</strong>cidentally, is why there are still so many<br />

Telegraph Hills <strong>in</strong> the south of Engl<strong>and</strong>). The send-<strong>and</strong>-acknowledge time to Plymouth was three<br />

m<strong>in</strong>utes. In the end, however, the Royal Navy rema<strong>in</strong>ed unimpressed with the trials of Murray's<br />

shutter telegraph, <strong>and</strong> simply copied the French system. Admiral Sir Home Popham gave the gantry<br />

system the name "semaphore" (Greek sema - "sign", plus phere<strong>in</strong> - "to carry"), <strong>and</strong> an eight-station<br />

l<strong>in</strong>k (the two term<strong>in</strong>i, plus six <strong>in</strong>termediates) opened between London <strong>and</strong> Chatham Dockyard on 3rd<br />

July 1816. (See Holzmann <strong>and</strong> Pehrson, 1994, for further details, if <strong>in</strong>terested.)<br />

Of course it is the n<strong>in</strong>eteenth century electrical telegraphy systems which sit most neatly on the route<br />

to modern comput<strong>in</strong>g, <strong>and</strong> the key <strong>in</strong>vention here was the electromagnetic relay .....<br />

Key Inventions - The Electromagnet (1825), the Electromagnetic Telegraph (1830), <strong>and</strong> the<br />

Electromagnetic Relay (1835): In 1825, the British amateur physicist William Sturgeon (1783-1850)<br />

noted that if an iron slug was placed <strong>in</strong>side a coil of wire its magnetic properties could be controlled by<br />

pass<strong>in</strong>g a current through the coil. It became an "electro-magnet" when a current was passed, <strong>and</strong><br />

could be used to suspend large blocks of ferrous material, <strong>and</strong> it reverted to a useless piece of iron<br />

when the current was switched off, releas<strong>in</strong>g whatever had been attracted to it. This discovery was<br />

then extended <strong>and</strong> applied by the American Joseph Henry (1795-1878) as an electromagnetic<br />

telegraph. Around 1830, Henry found he could significantly <strong>in</strong>crease the output power of an<br />

electromagnet by us<strong>in</strong>g a number of separate sub-coils wired up <strong>in</strong> parallel, rather than a s<strong>in</strong>gle coil.<br />

Us<strong>in</strong>g such equipment, he could deflect a suitably mounted piece of iron with enough force to sound a<br />

bell, <strong>and</strong> he could do this at a distance of one mile (Hochfelder, 1998). This form of remote reaction<br />

was used <strong>in</strong> the Wheatstone-Cooke telegraph (see next). By 1835, however, Henry had gone an<br />

important step further, us<strong>in</strong>g the deflected piece of iron to complete an electrical circuit of its own, so<br />

that a remote power source could be brought <strong>in</strong> or out of play on dem<strong>and</strong>. Moreoever, that remote<br />

switch might itself power up a second electromagnet at an even more remote, third, station, which<br />

might switch <strong>in</strong> a third electromagnet at a fourth station, <strong>and</strong> so on, thus "relay<strong>in</strong>g" the orig<strong>in</strong>al signal<br />

as far as you wanted it to go. The electromagnetic switch was therefore commonly referred to as a<br />

"relay", because a str<strong>in</strong>g of them could pass signals the way athletes pass the baton <strong>in</strong> a relay race. If<br />

you now made the wir<strong>in</strong>g of each constituent leg of the system long enough, then you had the basis of<br />

a very long distance telegraph. You could make <strong>in</strong>formation travel down a wire at the speed of<br />

electricity, <strong>and</strong> you could do it between cities, countries, <strong>and</strong> even cont<strong>in</strong>ents.<br />

Revised August 5, 2008 Page 11 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Three rival teams set out to make use of this new technology, <strong>and</strong> they ended up with two very<br />

different systems. In Brita<strong>in</strong>, Charles Wheatstone (1802-1875) <strong>and</strong> William Cooke (1806-1879)<br />

patented the Five Needle Telegraph <strong>in</strong> 1837. This system consisted of six parallel wires connect<strong>in</strong>g<br />

five local switches to five remote electromagnets. Each electromagnet acted upon a carefully mounted<br />

compass needle, <strong>and</strong> could flick this needle left or right from a vertical rest<strong>in</strong>g position. When this<br />

happened, the needle po<strong>in</strong>ted to a matrix of letters set out on a back<strong>in</strong>g panel, <strong>and</strong>, when two arrows<br />

were simultaneously keyed, the operator simply read off the s<strong>in</strong>gle letter at the po<strong>in</strong>t of their<br />

<strong>in</strong>tersection, <strong>and</strong> wrote it down (as it happened, the early systems would only cope with 20 letters, so<br />

operators had to guess at the miss<strong>in</strong>g ones, C, J, Q, U, X, <strong>and</strong> Z). The system was operational<br />

between Padd<strong>in</strong>gton <strong>and</strong> Slough railway stations by 1839, <strong>and</strong> members of the public were pay<strong>in</strong>g a<br />

shill<strong>in</strong>g a time just to see it send<strong>in</strong>g other people's messages. A public system was opened between<br />

London <strong>and</strong> Portsmouth <strong>in</strong> 1844. A Wheatstone "clone" system was developed <strong>in</strong> India by William<br />

(later Sir William) O'Shaughnessy, of the East India Company, who successfully demonstrated an<br />

experimental 13-mile of telegraph near Calcutta <strong>in</strong> 1839 (John H. Lienhard, "The Eng<strong>in</strong>es of our<br />

Ingenuity" website, University of Houston).<br />

In the US, meanwhile, Joseph Henry <strong>and</strong> Samuel Morse (1791-1872) had <strong>in</strong>dependently been<br />

concentrat<strong>in</strong>g their efforts on develop<strong>in</strong>g one-wire telegraphs. Henry's approach has already been<br />

described, <strong>and</strong> required that a receiv<strong>in</strong>g operator faithfully, but manually, record all arriv<strong>in</strong>g signals, be<br />

they delivered by bell or whatever. Morse, on the other h<strong>and</strong>, an art lecturer turned eng<strong>in</strong>eer, had<br />

resolved that the receiv<strong>in</strong>g apparatus should be a "record<strong>in</strong>g telegraph" - it should automatically<br />

create its own permanent record of what had been sent to it. Morse had his orig<strong>in</strong>al ideas <strong>in</strong> 1832, <strong>and</strong>,<br />

between 1835 <strong>and</strong> 1838, perfected an electromagnetic "register", capable of remotely produc<strong>in</strong>g<br />

momentary deflections <strong>in</strong> an otherwise straight pencil trace on a slowly mov<strong>in</strong>g spool of paper. This<br />

was soon replaced by an embossed trace on a paper tape which was advanced every time it was<br />

activated by the send<strong>in</strong>g signal key (Pope, 1881), <strong>and</strong> eventually by a founta<strong>in</strong> pen tracer.<br />

The effective range of the trial system was not impressive, however, due to degradation of the signal<br />

over distances <strong>in</strong> excess of about one mile, <strong>and</strong> so Morse consulted a New York University colleague<br />

of his, a chemistry professor named Leonard Gale, who po<strong>in</strong>ted him to Henry's previously published<br />

work on high-power electromagnets. Further development took place at the Speedwell Iron Works <strong>in</strong><br />

Morristown, NJ, was funded by its proprietor's heir, Alfred Vail (1807-1859), <strong>and</strong> assisted by one of his<br />

technicians, William Baxter. By 1837, under Gale's guidance <strong>and</strong> thanks <strong>in</strong> no little part to Vail's <strong>and</strong><br />

Baxter's enthusiastic development work, Morse had pushed the effective transmission range up to ten<br />

miles, <strong>and</strong> could cope with theoretically <strong>in</strong>f<strong>in</strong>ite distances by us<strong>in</strong>g repeater relays to refresh the signal<br />

every ten miles. Vail <strong>and</strong> Baxter were also <strong>in</strong>strumental <strong>in</strong> improv<strong>in</strong>g the send<strong>in</strong>g key <strong>and</strong> the<br />

receiv<strong>in</strong>g register, <strong>and</strong> <strong>in</strong> perfect<strong>in</strong>g the dot-dash code which still bears Morse's name (it is a matter of<br />

historical dispute whether Morse or Vail had the orig<strong>in</strong>al idea). The system was demonstrated to the<br />

then President, Mart<strong>in</strong> Van Buren, <strong>in</strong> 1838, <strong>and</strong> the code which went with it was patented <strong>in</strong> 1840. It<br />

took longer to tra<strong>in</strong> a good operator for the Morse system than the Wheatstone-Cooke system, but<br />

transmission speeds were higher (a skilled operator could transmit 40-50 words per m<strong>in</strong>ute).<br />

In 1843, Congressman Francis O.J. Smith, Chairman of the Commerce Committee, was taken <strong>in</strong>to<br />

the partnership <strong>in</strong> return for speak<strong>in</strong>g on its behalf <strong>in</strong> high places. His efforts bore fruit, <strong>and</strong> the US<br />

government granted $30,000 to build an experimental l<strong>in</strong>e from Wash<strong>in</strong>gton, DC, to Baltimore, 40<br />

miles away. This was officially opened on 24th May 1844, just after the next critical <strong>in</strong>vention had<br />

been made .....<br />

Revised August 5, 2008 Page 12 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Invention - Electromagnetic Synchronisation: Alex<strong>and</strong>er Ba<strong>in</strong> (1811-1877) was a selfeducated<br />

Scottish clockmaker <strong>and</strong> <strong>in</strong>ventor, <strong>and</strong> <strong>in</strong> 1841 had the idea of us<strong>in</strong>g electromagnets to<br />

sw<strong>in</strong>g the pendulum <strong>in</strong> a clock. The power came on momentarily on one of the sw<strong>in</strong>gs, <strong>and</strong> then went<br />

off automatically to allow a backsw<strong>in</strong>g. Properly adjusted, this system would deliver just enough<br />

impetus at just the right time to ma<strong>in</strong>ta<strong>in</strong> the natural oscillation of the pendulum for as long as the<br />

battery held out. From 1843, Ba<strong>in</strong> began to extend these techniques <strong>in</strong>to a "chemical telegraph", a<br />

method of transmitt<strong>in</strong>g entire pages of text or pictures by progressive scann<strong>in</strong>g (the same pr<strong>in</strong>ciple as<br />

the modern fax mach<strong>in</strong>e). At the heart of this system were two electromagnetic pendulums connected<br />

along the telegraph wire, so that the tim<strong>in</strong>g pulses from one of them could be applied to both. This<br />

clever arrangement allowed the two pendulums to be kept exactly <strong>in</strong> step at their respective stations.<br />

Ba<strong>in</strong> then fitted the home pendulum with a bared electrical brush contact, <strong>and</strong> positioned the distant<br />

pendulum over a sheet of paper impregnated with potassium iodide solution (or similar), such that a<br />

visible decomposition took place whenever an electrical current passed through it. He then arranged<br />

for the home pendulum to sw<strong>in</strong>g back <strong>and</strong> forth across the face of a page of text typeset with metal<br />

type (or, if a picture, a copper etch<strong>in</strong>g thereof), so that the circuit was completed only where the brush<br />

contact touched the metal, <strong>and</strong> the carriage was automatically advanced fractionally after every<br />

oscillation. The receiv<strong>in</strong>g pendulum traced the correspond<strong>in</strong>g contact po<strong>in</strong>ts <strong>in</strong> blue on the<br />

impregnated paper, <strong>and</strong> also advanced the draw<strong>in</strong>g carriage by the same distance after each<br />

oscillation, thus creat<strong>in</strong>g a two-dimensional facsimile copy.<br />

By 1846, the Morse telegraph service was operational between Wash<strong>in</strong>gton, DC, <strong>and</strong> New York, <strong>and</strong><br />

new horses were beg<strong>in</strong>n<strong>in</strong>g to jo<strong>in</strong> what looked to become a very lucrative race. One of these was the<br />

Vermont <strong>in</strong>ventor Royal Earl House, who patented a pr<strong>in</strong>t<strong>in</strong>g telegraph that same year. What House<br />

did was l<strong>in</strong>k two 28-key piano-style keyboards by wire. Each piano key represented a letter of the<br />

alphabet, <strong>and</strong>, when depressed, caused the correspond<strong>in</strong>g letter to pr<strong>in</strong>t at the receiv<strong>in</strong>g end. A "shift"<br />

key gave each ma<strong>in</strong> key two optional values. The work<strong>in</strong>g pr<strong>in</strong>ciple of the mach<strong>in</strong>e was that the<br />

rotation of a 56-character typewheel at the send<strong>in</strong>g end was synchronised (no longer an impossibility,<br />

given Ba<strong>in</strong>'s work with the l<strong>in</strong>ked pendulums) to co<strong>in</strong>cide with a similar wheel at the receiv<strong>in</strong>g end. If<br />

the key correspond<strong>in</strong>g to a particular character was depressed at the home station, it actuated the<br />

typewheel at the distant station just as the same character moved <strong>in</strong>to the pr<strong>in</strong>t<strong>in</strong>g position [readers<br />

familiar with the "daisywheel" word processors of the 1970s will recognise this layout immediately]. It<br />

was thus an example of a "synchronous" data transmission system. House's equipment could transmit<br />

around 40 <strong>in</strong>stantly readable words per m<strong>in</strong>ute, but was difficult to manufacture <strong>in</strong> bulk.<br />

The House system was closely followed <strong>in</strong> 1847 by the Siemens automatic dial telegraph, <strong>and</strong> <strong>in</strong> 1848<br />

by the operational version of Ba<strong>in</strong>'s chemical telegraph (see above) <strong>and</strong> by a similar system<br />

developed by Frederick Bakewell. Bakewell's approach to full page scann<strong>in</strong>g <strong>in</strong>volved electrically<br />

<strong>in</strong>sulat<strong>in</strong>g areas on a piece of flexible metal foil us<strong>in</strong>g shellac as <strong>in</strong>k. The prepared foil was then<br />

wrapped around a rotat<strong>in</strong>g cyl<strong>in</strong>der, <strong>and</strong> a metal stylus tracked slowly around <strong>and</strong> along it, transmitt<strong>in</strong>g<br />

when it crossed a bared metal area <strong>and</strong> not transmitt<strong>in</strong>g when it crossed the shellac. A similar drum at<br />

the receiv<strong>in</strong>g end carried a sheet of impregnated paper, to receive the image. Bakewell demonstrated<br />

this system at the 1851 World's Fair <strong>in</strong> London, but for one reason or another it was another fifty years<br />

before there was much of a market for facsimile technology of this sort.<br />

In 1851, the New York <strong>and</strong> Mississippi Valley Pr<strong>in</strong>t<strong>in</strong>g Telegraph Company (renamed the Western<br />

Union Telegraph Company <strong>in</strong> 1856) was <strong>in</strong>corporated to exploit both Morse <strong>and</strong> House licences, <strong>and</strong><br />

by the follow<strong>in</strong>g year an <strong>in</strong>tense rivalry had developed between it <strong>and</strong> the many other companies<br />

spr<strong>in</strong>g<strong>in</strong>g up. Indeed, there were now so many companies <strong>in</strong>volved, that there followed a period of<br />

legal squabbl<strong>in</strong>g over patent rights between Morse, Henry, <strong>and</strong> Ba<strong>in</strong>. The Morse patent at this time<br />

Revised August 5, 2008 Page 13 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

was owned by Morse, Gale, Vail, <strong>and</strong> Smith <strong>in</strong> equal shares, but the rival patents by House <strong>and</strong> Ba<strong>in</strong><br />

were beg<strong>in</strong>n<strong>in</strong>g to make <strong>in</strong>roads <strong>in</strong>to their bus<strong>in</strong>ess. Fortunately for the future Western Union, the US<br />

Supreme Court declared <strong>in</strong> 1852 that the Ba<strong>in</strong> system had <strong>in</strong>fr<strong>in</strong>ged Morse's patent. As a result, the<br />

Ba<strong>in</strong> licences were suddenly worthless, <strong>and</strong> Western Union simply started to buy out or assimilate all<br />

its rivals.<br />

However, the House <strong>and</strong> Ba<strong>in</strong> systems were followed <strong>in</strong> 1855 by yet another alternative system<br />

devised by David E. Hughes (1831-1900). Hughes used a system of vibrat<strong>in</strong>g spr<strong>in</strong>gs to effect his<br />

synchronisation, <strong>and</strong> achieved considerable commercial success because his mach<strong>in</strong>e was quicker<br />

<strong>and</strong> more robust than House's, <strong>and</strong> its performance <strong>in</strong> the h<strong>and</strong>s of experienced operators was<br />

relatively error-free. Hughes sold the rights to his system to a group of New York bus<strong>in</strong>essmen, who<br />

founded the American Telegraph Company <strong>in</strong> 1857.<br />

Progress was also be<strong>in</strong>g made <strong>in</strong> cop<strong>in</strong>g with <strong>in</strong>creased customer dem<strong>and</strong> without constantly lay<strong>in</strong>g<br />

new l<strong>in</strong>es. Needless to say, this meant push<strong>in</strong>g <strong>in</strong>creased traffic down the exist<strong>in</strong>g wires. Attention<br />

was therefore directed at the slow po<strong>in</strong>ts <strong>in</strong> the exist<strong>in</strong>g system, <strong>and</strong> it turned out that the key<strong>in</strong>g<br />

speed of the transmitt<strong>in</strong>g operator <strong>and</strong> the decipher<strong>in</strong>g speed of the receiv<strong>in</strong>g operator were not the<br />

only limit<strong>in</strong>g factors. For example, considerable time was also spent confirm<strong>in</strong>g the <strong>in</strong>tegrity of the<br />

connection before a transmission, <strong>and</strong> check<strong>in</strong>g for its safe receipt afterwards. One solution was<br />

Morse's permanent record register, because this allowed receiv<strong>in</strong>g operators to be away from their<br />

equipment when messages arrived. They could, for example, be at their counter, sell<strong>in</strong>g a<br />

transmission <strong>in</strong> the opposite direction, or they could be decod<strong>in</strong>g, <strong>and</strong> arrang<strong>in</strong>g for the onward<br />

delivery of, previous <strong>in</strong>com<strong>in</strong>g messages. Other advances speeded up the send<strong>in</strong>g process. One<br />

technique was to wipe a stylus across a set of long <strong>and</strong> short metal studs, so that the dots <strong>and</strong> the<br />

dashes for a particular letter would be generated automatically <strong>and</strong> without error. Another was to preenter<br />

the characters as perforations on paper tape <strong>and</strong> pass it over a brush contact reader which<br />

completed the send<strong>in</strong>g circuit every time it encountered a perforation. The advantages here were (a)<br />

that each message could be prepared well before transmission (what we would today describe as "offl<strong>in</strong>e"),<br />

<strong>and</strong> (b) that several operators could afford to be cod<strong>in</strong>g simultaneously because tape<br />

transmission was much faster than manual key<strong>in</strong>g.<br />

Nevertheless, the Holy Grail of telegraphy was not to send the messages faster, but to put more than<br />

one of them down the same wire at the same time. This was where the biggest money was to be<br />

made, <strong>and</strong> the first advance was made <strong>in</strong> 1852 by Moses Gerrish Farmer (1820-1893). He<br />

experimented with methods of "duplex<strong>in</strong>g" each telegraph l<strong>in</strong>e, that is to say, methods of enabl<strong>in</strong>g two<br />

messages to travel along it simultaneously, <strong>in</strong> either the same or opposite directions, but without<br />

mutual <strong>in</strong>terference. Much the same research was be<strong>in</strong>g carried out <strong>in</strong> Europe by the Viennese<br />

physicist, Julius Wilhelm G<strong>in</strong>tl (1804-1883), but the early systems rema<strong>in</strong>ed impractical until further<br />

improved by Joseph B. Stearns <strong>in</strong> 1868, by Thomas A. Edison <strong>in</strong> 1872 (duplex), by Edison aga<strong>in</strong> <strong>in</strong><br />

1874 (quadruplex), <strong>and</strong> by Jean-Maurice-Emile Baudot <strong>in</strong> 1874 (quadruplex). Indeed, the system is<br />

still be<strong>in</strong>g improved today (albeit the "wires" are now microwave satellite l<strong>in</strong>ks), as modern network<strong>in</strong>g<br />

technology spreads its tentacles ever wider, <strong>and</strong> offers ever greater b<strong>and</strong>width per unit <strong>in</strong>vestment [to<br />

feel this technology at work, <strong>and</strong> for a glimpse of some modern telecommunications technology.<br />

By the end of 1861, funded <strong>in</strong> accordance with the Pacific Telegraph Act, 1860, the Western Union<br />

telegraph l<strong>in</strong>ked the Pacific <strong>and</strong> Atlantic seaboards, <strong>and</strong> <strong>in</strong> 1866 Cyrus W. Field of the Atlantic<br />

Telegraph Company successfully laid the first transatlantic telegraph cable (with advice from an<br />

age<strong>in</strong>g Wheatstone), <strong>and</strong> the Western Union took over the American Telegraph Company, thus<br />

Revised August 5, 2008 Page 14 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

putt<strong>in</strong>g all the ma<strong>in</strong> telegraphic systems under the same owner. And just as Western Union thought<br />

they had it made, along came the telephone .....<br />

5 - Comput<strong>in</strong>g 1867-1883 - Th<strong>in</strong>gs Start to Speed Up<br />

The clos<strong>in</strong>g third of the n<strong>in</strong>eteenth century saw a veritable explosion of human <strong>in</strong>genuity. In the two<br />

years after the first transatlantic telegraph cable had been laid, the world <strong>in</strong>vented not just the Nestlé<br />

baby formula <strong>and</strong> dynamite (so please check the labels carefully), but ticker tape <strong>and</strong> the QWERTY<br />

keyboard. Here is a timel<strong>in</strong>e on the developments most closely related to comput<strong>in</strong>g, or the dem<strong>and</strong><br />

for it .....<br />

1867 - Edward Calahan of the American Telegraph Company used a paper ribbon telegraph<br />

system to relay stock exchange prices from office to office <strong>in</strong> New York. The large loops of pr<strong>in</strong>tout<br />

soon became popularly known as "ticker tape", <strong>and</strong> were then thrown out of skyscraper w<strong>in</strong>dows<br />

as confetti dur<strong>in</strong>g "ticker tape welcomes".<br />

1867 - Elisha Gray (1835-1901) patented an improved telegraph relay, the first of his 70 or so<br />

<strong>in</strong>ventions <strong>in</strong> the field of telecommunications. He went on <strong>in</strong> 1872 to found the Western Electric<br />

Manufactur<strong>in</strong>g Company, <strong>and</strong> on 14th February 1876 to file application for his own version of a<br />

telephone (on the same day as, but slightly later than, Alex<strong>and</strong>er Graham Bell - see below).<br />

1867 - Christopher Latham Sholes, a Milwaukee pr<strong>in</strong>ter, <strong>in</strong>vented the modern form keyboard<br />

typewriter. Unfortunately, its first users got so good at it that the keys kept jamm<strong>in</strong>g together, so .....<br />

1868 - ..... Sholes <strong>in</strong>vented the QWERTY layout keyboard to allow the commonest keys to strike<br />

from different angles, thus reduc<strong>in</strong>g the likelihood of their jamm<strong>in</strong>g when struck at speed. The first<br />

carbon paper followed <strong>in</strong> 1869.<br />

1868 - Joseph B. Stearns patented enough improvements to Farmer's duplex<strong>in</strong>g techniques to<br />

make it commercially viable, thus effectively doubl<strong>in</strong>g the capacity of the exist<strong>in</strong>g telegraph<br />

network at a stroke.<br />

1870 - The bulk of the British telegraph system was transferred to the Post Office, putt<strong>in</strong>g it under<br />

government control (where it rema<strong>in</strong>ed until British Telecom was privatised <strong>in</strong> 1984).<br />

1872 - Aaron Montague Ward founded the first mail order bus<strong>in</strong>ess <strong>in</strong> Chicago.<br />

1872 - Ex-telegraph operator Thomas A. Edison started to improve Stearn's duplex<strong>in</strong>g equipment,<br />

<strong>and</strong> by 1874 had developed a workable "quadruplex" system support<strong>in</strong>g four operators at each<br />

end of the wire.<br />

1872 - Charles W. Seaton, chief clerk to the US Census Bureau, produced the Seaton Tabulat<strong>in</strong>g<br />

Mach<strong>in</strong>e, a method of enter<strong>in</strong>g high volume data onto a cont<strong>in</strong>uous paper roll through an access<br />

w<strong>in</strong>dow.<br />

1873/4 - Rem<strong>in</strong>gton <strong>and</strong> Sons, gunmakers of New York, on lean times now that the Civil War had<br />

ended, bought the rights to produce the Sholes typewriter, <strong>and</strong> marketed it as the Rem<strong>in</strong>gton<br />

Model 1. Rem<strong>in</strong>gton dom<strong>in</strong>ated the typewriter market for half a century, merg<strong>in</strong>g with the R<strong>and</strong><br />

Kardex Company (see below) <strong>and</strong> the Powers Account<strong>in</strong>g Mach<strong>in</strong>e Company (see below) <strong>in</strong> 1927,<br />

buy<strong>in</strong>g out the Eckert-Mauchley Computer Company <strong>in</strong> 1950, merg<strong>in</strong>g with Sperry Gyroscopes<br />

(see below) <strong>in</strong> 1955 (to form the Sperry-R<strong>and</strong> Corporation), <strong>and</strong> with the Burroughs Corporation<br />

(see below) <strong>in</strong> 1986 (to form today's Unisys Corporation) [for a fuller history.<br />

1873/5 - Gray perfected his "electroharmonic" telegraph. This system used what would today be<br />

termed frequency-division multiplex<strong>in</strong>g, a method whereby different frequency carrier waves are<br />

sent simultaneously down a s<strong>in</strong>gle wire.<br />

1874 - Jean-Maurice-Emile Baudot (1845-1903) developed the Baudot pr<strong>in</strong>t<strong>in</strong>g telegraph, a<br />

system capable of send<strong>in</strong>g the full alphabet, plus the numbers <strong>and</strong> the most common punctuation<br />

marks, us<strong>in</strong>g only a five-key keyboard. The system was adopted <strong>in</strong> 1877 by the French telegraph<br />

Revised August 5, 2008 Page 15 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

service, <strong>and</strong> improved versions were <strong>in</strong> use <strong>in</strong> the British Post Office around the turn of the century.<br />

The historical po<strong>in</strong>t about Baudot's code (also known as the International Telegraph Code No. 1)<br />

is that it was the first to use on-off b<strong>in</strong>ary electrical switch<strong>in</strong>g. A five-key keyboard actually allows<br />

only a 32-item codebook, so Baudot prefixed his transmissions with a reserved code <strong>in</strong>dicat<strong>in</strong>g<br />

whether what followed was from the alphabetic list, or a second list compris<strong>in</strong>g the digits <strong>and</strong> the<br />

punctuation marks. The code was particularly efficient <strong>in</strong> practice because it could be punched<br />

across a paper tape, rather than along it (as with Morse code), allow<strong>in</strong>g all five bit sett<strong>in</strong>gs to be<br />

read simultaneously [Baudot punched tape]. This tape format is important to the history of<br />

comput<strong>in</strong>g, because dur<strong>in</strong>g World War Two it was used (a) <strong>in</strong> two of the Nazi's ma<strong>in</strong> cipher<br />

mach<strong>in</strong>es (the Lorenz SZ40/42 <strong>and</strong> the Siemens <strong>and</strong> Halske Geheimschreiber), <strong>and</strong> (b) <strong>in</strong><br />

many of the Allies' experimental code-break<strong>in</strong>g computers [see Part 3]. The 32-bit cod<strong>in</strong>g<br />

system is also important to the history of cognitive science, because it was used <strong>in</strong> the first<br />

attempts at mach<strong>in</strong>e translation [see Part 4, Section 4.1]. Baudot also <strong>in</strong>vented what would<br />

today be termed "time-division multiplex<strong>in</strong>g" technology, that is to say, a method by which a<br />

number of operators could send their messages <strong>in</strong> microscopic "time slots", to be separated out at<br />

the receiv<strong>in</strong>g end. [For the British version of the Baudot codebook, see Hobbs (1999/2002 onl<strong>in</strong>e,<br />

Figure 1), <strong>and</strong> for more on b<strong>in</strong>ary alphabets <strong>in</strong> general, click here.]<br />

1874 - The Scottish-American Alex<strong>and</strong>er Graham Bell, <strong>in</strong>ventor <strong>and</strong> teacher of the deaf, carried<br />

out his famous dead man's ear experiments [details], as a result of which he conceived the<br />

membrane-to-membrane concept of a talk<strong>in</strong>g telegraph, or "telephone".<br />

1875 - Frank S. Baldw<strong>in</strong> patented the p<strong>in</strong>wheel [technical detail], as an alternative to the da V<strong>in</strong>ci<br />

cogwheel for carry<strong>in</strong>g out the tens-carry operation <strong>in</strong> mechanical calculators. This became the<br />

core component of the commercially highly successful Odhner <strong>and</strong> Monroe type of calculator, <strong>and</strong><br />

subsequently of both the Lorenz <strong>and</strong> the Siemens <strong>and</strong> Halske cipher mach<strong>in</strong>es [see Part 3]. In<br />

1912, Baldw<strong>in</strong> teamed up with Jay R<strong>and</strong>olph Monroe to found the Monroe Calculator Company.<br />

The modern term "number crunch<strong>in</strong>g" comes from the often om<strong>in</strong>ous gr<strong>in</strong>d<strong>in</strong>g noise the p<strong>in</strong>wheel<br />

calculators made when do<strong>in</strong>g large sums.<br />

1875/6 - Encouraged by an age<strong>in</strong>g Joseph Henry <strong>and</strong> assisted by the eng<strong>in</strong>eer Thomas Watson,<br />

Bell successfully transmitted his first natural sounds along a wire. The patent application was filed<br />

14th February 1876, <strong>and</strong> the equipment was demonstrated at the Philadelphia Centennial<br />

Exhibition later that year. Commercial development of the product began <strong>in</strong> partnership with the<br />

lawyer Gard<strong>in</strong>er G. Hubbard (father of one of his pupils, later to become his wife) <strong>and</strong> the<br />

bus<strong>in</strong>essman Thomas S<strong>and</strong>ers (father of another of his pupils). Not surpris<strong>in</strong>gly, Bell's <strong>in</strong>vention<br />

was poorly received by the already immensely powerful Western Union Telegraph Company, who<br />

immediately secured the services of Edison <strong>and</strong> Gray to try to devise a rival system<br />

(unsuccessfully, as it happened, for their attempts were eventually adjudged <strong>in</strong> breach of Bell's<br />

patents).<br />

1877 - Bell's company sold its first two telephones for $20.<br />

1878 - Thomas A. Edison <strong>in</strong>vented the phonograph for record<strong>in</strong>g speech <strong>and</strong> music, David E.<br />

Hughes followed up his success with the pr<strong>in</strong>t<strong>in</strong>g telegraph by <strong>in</strong>vent<strong>in</strong>g the carbon-granule<br />

microphone, <strong>and</strong> Bell Telephones opened its first telephone exchange at New Haven, CT. For its<br />

first 20 years, users had to ga<strong>in</strong> the exchange operator's attention by h<strong>and</strong>-crank<strong>in</strong>g a signal<br />

generator, <strong>and</strong> then name the party they wished to be put through to. The latest Rem<strong>in</strong>gton<br />

typewriters, meanwhile, were now provid<strong>in</strong>g both upper <strong>and</strong> lower case letters.<br />

1878 - James Ritty, an Ohio restaurateur, suspicious that his staff were syphon<strong>in</strong>g off the tak<strong>in</strong>gs,<br />

got his brother John, a mechanic, to build him a sales account<strong>in</strong>g till, <strong>and</strong> the cash register was<br />

born. A mach<strong>in</strong>e, complete with pop-up cash display allow<strong>in</strong>g the customer to see how much had<br />

been rung <strong>in</strong>, was patented 4th November 1879, <strong>and</strong> marketed as "Ritty's Uncorruptable Cashier".<br />

1879 - Frank W. Woolworth opened his first store.<br />

Revised August 5, 2008 Page 16 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1881 - Dr. John Shaw Bill<strong>in</strong>gs, a senior US Census Bureau statistician, looked at the clerks<br />

patiently enter<strong>in</strong>g data from 1880 census returns <strong>and</strong> reputedly remarked: "There ought to be<br />

some mechanical way of do<strong>in</strong>g this job, someth<strong>in</strong>g on the pr<strong>in</strong>ciple of the Jacquard loom" (Cortada,<br />

1993, p47).<br />

1882 - American Bell acquired the controll<strong>in</strong>g <strong>in</strong>terest <strong>in</strong> Gray's Western Electric, thus start<strong>in</strong>g to<br />

"converge" telegraphy <strong>and</strong> telephony, <strong>and</strong> <strong>in</strong> New York the dem<strong>and</strong> for office typewrit<strong>in</strong>g skills had<br />

become so great that the YWCA began offer<strong>in</strong>g tra<strong>in</strong><strong>in</strong>g courses to that city's young women.<br />

6 - Comput<strong>in</strong>g 1884-1924 - Data, Data, Everywhere<br />

In the end, the vigour of the late n<strong>in</strong>eteenth century <strong>in</strong>dustrial economies did so much to build the<br />

modern Western way of life, <strong>and</strong> prompted so many <strong>in</strong>ventions, that a correspond<strong>in</strong>g dem<strong>and</strong> for<br />

computation <strong>in</strong> the f<strong>in</strong>ancial world grew up. More <strong>and</strong> more <strong>in</strong>ventions meant more sales - more cash<br />

across more counters, more cash<strong>in</strong>gs up <strong>and</strong> close of bus<strong>in</strong>ess reconciliations, more <strong>in</strong>voices <strong>and</strong><br />

delivery notes, more tax returns, more stockchecks, <strong>and</strong> more <strong>in</strong>ternal <strong>and</strong> external f<strong>in</strong>ancial controls<br />

beh<strong>in</strong>d the scenes. The sheer logistics of runn<strong>in</strong>g all the new bus<strong>in</strong>esses was frighten<strong>in</strong>g, so that<br />

other new bus<strong>in</strong>esses were established to cater for the data process<strong>in</strong>g needs of the exist<strong>in</strong>g ones.<br />

Here is a timel<strong>in</strong>e on the developments most closely related to comput<strong>in</strong>g, or the dem<strong>and</strong> for it .....<br />

1884 - John H. Patterson (1844-1922) bought one of Ritty's uncorruptables (see above), liked it so<br />

much that he then purchased the manufactur<strong>in</strong>g <strong>and</strong> market<strong>in</strong>g rights, <strong>and</strong> launched the National<br />

Cash Register Company (colloquially just "NCR", or "the cash") to market cash h<strong>and</strong>l<strong>in</strong>g variants<br />

of add<strong>in</strong>g mach<strong>in</strong>e technology to shopkeepers. In the late 1930s, Harry Williams <strong>and</strong> Joseph R.<br />

Desch added an Electrical Research Laboratory at Dayton, OH, to pursue military eng<strong>in</strong>eer<strong>in</strong>g<br />

contracts (Anderson, 2000/2002 onl<strong>in</strong>e), <strong>and</strong> dur<strong>in</strong>g World War Two this facility was <strong>in</strong>volved<br />

<strong>in</strong> produc<strong>in</strong>g the US cryptanalytic computers known as "bombes".<br />

1884 - Herman Hollerith obta<strong>in</strong>ed his first patent <strong>in</strong> punched card technology. In 1890, he went on<br />

to start process<strong>in</strong>g the data from the 1890 US National Census [full detail below].<br />

1885 - William S. Burroughs (1855-1898) patented an add<strong>in</strong>g mach<strong>in</strong>e which produced a pr<strong>in</strong>ted<br />

slip as a permanent record of what had been put <strong>in</strong>to it , <strong>and</strong> founded the American Arithmometer<br />

Company to exploit the product commercially. The company was renamed the Burroughs Add<strong>in</strong>g<br />

Mach<strong>in</strong>e Company <strong>in</strong> 1905, had sold a million mach<strong>in</strong>es by 1928, <strong>and</strong> merged with the Sperry<br />

Corporation <strong>in</strong> 1986 to become the modern Unisys Corporation.<br />

1885 - American Bell was reorganised to form the American Telephone <strong>and</strong> Telegraph Company<br />

(colloquially, just "AT&T", or "Ma Bell").<br />

1885 - Nathan B. Stubblefield (1860-1928), a Kentucky melon farmer turned <strong>in</strong>ventor, tried his<br />

h<strong>and</strong> at telecommunications, <strong>and</strong> developed a workable voice <strong>and</strong> tone wireless transmitter.<br />

1885 - Albert Butz patented a negative feedback device for automatically controll<strong>in</strong>g the<br />

temperature of central heat<strong>in</strong>g furnaces. The rights to Butz's <strong>in</strong>vention eventually made their way<br />

to the M<strong>in</strong>neapolis-Honeywell Regulator Company <strong>in</strong> 1927, who then branched out <strong>in</strong>to military<br />

comm<strong>and</strong> <strong>and</strong> control systems dur<strong>in</strong>g the 1930s <strong>and</strong> 1940s, <strong>and</strong> <strong>in</strong>to computer manufactur<strong>in</strong>g <strong>in</strong><br />

the mid-1950s (eventually becom<strong>in</strong>g the Honeywell Corporation).<br />

1886 - John S. Pemberton <strong>in</strong>vented Coca Cola, Gottfried Daimler <strong>in</strong>vented the <strong>in</strong>ternal combustion<br />

eng<strong>in</strong>e, <strong>and</strong> modern life was upon us.<br />

1886 - In competition with Burroughs, Dorr E. Felt (1862-1930) <strong>in</strong>vented the comptometer, a pushbutton<br />

calculator with a new form of carry mechanism capable of high speed addition of long<br />

columns of figures [picture]. This was well suited to, <strong>and</strong> therefore highly popular with, accounts<br />

clerks <strong>and</strong> cashiers, <strong>and</strong> was subsequently marketed by the Felt <strong>and</strong> Tarrant Manufactur<strong>in</strong>g<br />

Revised August 5, 2008 Page 17 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Company, who traded under that name until 1957 [further details]. Felt later commented that the<br />

ever-<strong>in</strong>creas<strong>in</strong>g dem<strong>and</strong> for statistics was "turn<strong>in</strong>g men <strong>in</strong>to veritable mach<strong>in</strong>es" (Cortada, 1993).<br />

1889 - Lyman Cornelius Smith (1850?-1910) turned his gun factory over to mak<strong>in</strong>g the Smith<br />

Premier I full keyboard typewriter [picture]. This mach<strong>in</strong>e had been developed by one of his<br />

eng<strong>in</strong>eers, Alex<strong>and</strong>er T. Brown (1854-1929), a remarkable man who eventually had around 300<br />

patents to his name, amongst them safety catches, breech mechanisms, <strong>and</strong> the pneumatic tyre<br />

(the rights to develop which he sold to the Dunlop Company). Brown presumably exerted some<br />

formative <strong>in</strong>fluence over a young eng<strong>in</strong>eer named Hannibal Ford, who was with the company from<br />

1905 to 1909, before leav<strong>in</strong>g to jo<strong>in</strong> the Sperry Gyroscope Company (see below).<br />

1889 - Almon B. Strowger (1839-1902), a Kansas undertaker, reputedly concerned that a Bell<br />

telephone operator was secretly re-rout<strong>in</strong>g prospective clients (not the cadavers themselves, of<br />

course) to a bus<strong>in</strong>ess rival, devised the pr<strong>in</strong>ciples of the first successful automatic telephone<br />

exchange (others had been attempt<strong>in</strong>g to do the same for ten years beforeh<strong>and</strong>, but performance<br />

was never satisfactory), <strong>in</strong> which subscribers were identified by number rather than name, <strong>and</strong><br />

which would route from any one to any other by a number diall<strong>in</strong>g mechanism. Strowger's ideas<br />

took a couple of years to prove their worth, but then rema<strong>in</strong>ed the basis of telephone exchanges<br />

across the world for around 70 years.<br />

1895 - Reverend Thomas Oliver (hav<strong>in</strong>g reputedly grown tired of writ<strong>in</strong>g his sermons by h<strong>and</strong>)<br />

improved the typewriter with the Oliver Model 1.<br />

1895 - Guglielmo Marconi (1874-1937) successfully sent a wireless transmission over a distance<br />

of two kilometers. He filed for a British patent <strong>in</strong> his system <strong>in</strong> 1896, <strong>and</strong> over the clos<strong>in</strong>g years of<br />

the century ref<strong>in</strong>ed the technology to transmit over ever greater distances. In 1897, Marconi<br />

established the Wireless Telegraph <strong>and</strong> Signal Company <strong>in</strong> Chelmsford, <strong>and</strong> <strong>in</strong> 1899 maritime<br />

wireless started to save lives when the crew of a s<strong>in</strong>k<strong>in</strong>g lightship managed to use their set to call<br />

for a lifeboat. On 12th December 1901, the equipment successfully transmitted across the North<br />

Atlantic between Poldhu <strong>in</strong> Cornwall, <strong>and</strong> St. Johns, Newfoundl<strong>and</strong>. For the impact of wireless<br />

telegraphy on military <strong>in</strong>telligence, see the historical subfiles to Part 3.<br />

1898 - James Henry R<strong>and</strong> Snr. began to carve out a market for record card <strong>and</strong> loose-leaf<br />

bus<strong>in</strong>ess fil<strong>in</strong>g systems. His R<strong>and</strong> Company flourished, <strong>and</strong> <strong>in</strong> 1908 he took on his newly<br />

graduated son James H. R<strong>and</strong> Jnr. Follow<strong>in</strong>g a disagreement, the son formed his own company,<br />

the American Kardex Company, <strong>in</strong> 1915, <strong>and</strong> for a while the two companies traded as rivals. By<br />

1925, however, tempers had cooled, <strong>and</strong> the two companies merged as the R<strong>and</strong> Kardex<br />

Company, which <strong>in</strong> 1927 went on to merge with the Rem<strong>in</strong>gton Company. Follow<strong>in</strong>g the corporate<br />

restructur<strong>in</strong>gs already noted, the R<strong>and</strong>s' legacy should therefore be regarded as represented <strong>in</strong><br />

the modern Unisys Corporation.<br />

1901 - Donald Murray, a New Zeal<strong>and</strong> sheep farmer, devised a variant of Baudot's 1874 telegraph.<br />

It also used a five-key 32-item codebook, but the character-to-code assignment was different to<br />

Baudot's. With further amendments, the system was eventually st<strong>and</strong>ardised at the International<br />

Telegraph Alphabet, No. 2. [To see the ITA2 <strong>and</strong> related codebooks, click here.]<br />

1902 - Frederick George Creed (1871-1957) developed a "perforator" capable of punch<strong>in</strong>g Morse<br />

dots <strong>and</strong> dashes onto paper tape directly from a typewriter keyboard, a "reperforator" capable of<br />

receiv<strong>in</strong>g dots <strong>and</strong> dashes directly <strong>in</strong>to paper tape format, <strong>and</strong> a pr<strong>in</strong>ter which accepted said tapes<br />

<strong>and</strong> pr<strong>in</strong>ted out the correspond<strong>in</strong>g pla<strong>in</strong> language. This enabled <strong>in</strong>com<strong>in</strong>g messages to be pr<strong>in</strong>ted<br />

"off l<strong>in</strong>e", that is to say, away from the receiv<strong>in</strong>g apparatus itself. This was a very cost-effective<br />

development, s<strong>in</strong>ce it was quicker to pr<strong>in</strong>t from tape than receive, so one pr<strong>in</strong>ter could now service<br />

several reperforators. Creed <strong>and</strong> Company telepr<strong>in</strong>ters grew <strong>in</strong> popularity <strong>and</strong> the product range<br />

cont<strong>in</strong>ued to be developed until the 1960s.<br />

Revised August 5, 2008 Page 18 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1903 - The Union Schreibmasch<strong>in</strong>en GmbH is formed as a subsidiary of AEG, one of the ma<strong>in</strong><br />

players <strong>in</strong> the German electrical <strong>in</strong>dustry. The company will later rebr<strong>and</strong> its typewriter <strong>and</strong> office<br />

mach<strong>in</strong>ery ranges as Olympia, <strong>and</strong> become well known <strong>in</strong> both the US <strong>and</strong> Brita<strong>in</strong>.<br />

1903 - Charles L. Krum, of the Western Cold Storage Company <strong>and</strong> Joy Morton of the Morton Salt<br />

Company were approached by a young electrical eng<strong>in</strong>eer named Frank Pearne for research<br />

assistance to develop a pr<strong>in</strong>t<strong>in</strong>g telegraph system. Krum made workshop space available for this<br />

work, <strong>and</strong> when Pearne subsequently lost <strong>in</strong>terest <strong>in</strong> the project took it over himself. In 1906, he<br />

was jo<strong>in</strong>ed by his son Howard Krum, <strong>and</strong> they were awarded various critical patents <strong>in</strong> 1907 <strong>and</strong><br />

1908. By 1915, the Krum equipment was capable of l<strong>in</strong>k<strong>in</strong>g a modified Oliver typewriter to an<br />

alphabetic pr<strong>in</strong>ter at the other end of a telegraph l<strong>in</strong>e. The result was the 1924 Morkrum (=<br />

Morton-Krum) teletypewriter system.<br />

1904 - John (eventually Sir John) Ambrose Flem<strong>in</strong>g (1849-1945), of University College London<br />

<strong>and</strong> the Marconi Wireless Telegraph Company, <strong>in</strong>vented the thermionic valve. Subsequent<br />

developments by the Americans Lee de Forest (1873-1961) <strong>and</strong> George Wash<strong>in</strong>gton Pierce<br />

(1872-1956) made valves vital components <strong>in</strong> wireless, television, <strong>and</strong> comput<strong>in</strong>g hardware for the<br />

next half century.<br />

1907 - James Powers, encouraged by the US Census Bureau to compete with Hollerith's<br />

tabulat<strong>in</strong>g system (see below), developed rival (<strong>and</strong> often better) equipment. As a result, the 1910<br />

census ended up be<strong>in</strong>g split between the two contractors. The Powers Account<strong>in</strong>g Mach<strong>in</strong>e<br />

Company became part of Rem<strong>in</strong>gton-R<strong>and</strong> Corporation <strong>in</strong> 1927, <strong>and</strong> is thus part of the modern<br />

Unisys Corporation.<br />

1908 - Elmer Ambrose Sperry (1860-1930) perfected the gyroscopic (ie. non-magnetic) mar<strong>in</strong>e<br />

compass, thus improv<strong>in</strong>g navigational accuracy <strong>in</strong> ships built of iron <strong>and</strong> steel. His chief eng<strong>in</strong>eer<br />

was Hannibal Choate Ford [previously with the Smith Typewriter Company (see above), but<br />

dest<strong>in</strong>ed to found the Ford Instrument Company <strong>in</strong> 1915 (see below)]. Sperry marketed these<br />

systems as the Sperry Gyroscope Company, until merged with Rem<strong>in</strong>gton-R<strong>and</strong> <strong>in</strong> 1955 [more<br />

company history].<br />

1908-1910 - In an attempt to improve the accuracy of near-polar navigation (for which magnetic<br />

compasses are notoriously unreliable), the Anschütz Company of Kiel, Germany, produced a<br />

gyro-compass of their own <strong>in</strong> competition to Sperry. However, trials revealed that the system<br />

suffered <strong>in</strong>accuracies due to "roll<strong>in</strong>g error", <strong>and</strong> so could only be reliably used <strong>in</strong> ships <strong>in</strong> port. A<br />

1912 upgrade cured this fault, <strong>and</strong> greatly improved sales performance. Anschütz are now part of<br />

the Raytheon Corporation.<br />

1910 - Edison applied for his 1328th, <strong>and</strong> f<strong>in</strong>al, patent.<br />

1913 - Arthus Hungerford Pollen perfected a system of "director-controlled" naval gunnery for<br />

capital ships.<br />

1915 - Hannibal Ford resigned from Sperry Gyroscopes <strong>and</strong> set up his own company, the Ford<br />

Instrument Company, specialis<strong>in</strong>g <strong>in</strong> naval fire control systems. Its first success was the Range<br />

Keeper Mark 1, an analog comput<strong>in</strong>g system capable of track<strong>in</strong>g, predict<strong>in</strong>g, <strong>and</strong> compensat<strong>in</strong>g<br />

for the natural movements of the ship it was fitted <strong>in</strong> [picture <strong>and</strong> specification]. This equipment<br />

was <strong>in</strong>stalled <strong>in</strong> 1917 on USS Texas, <strong>and</strong> heralded an era of greatly improved naval gunnery<br />

(Clymer, 1993/2002 onl<strong>in</strong>e). In the early 1940s, Ford's company worked with Bell Laboratories to<br />

develop the altitude computation unit on the Bell No. 9 Flak predictor (see Part 2).<br />

1916 - Edward E. Kle<strong>in</strong>schmidt (1875-1977) applied for a patent for a Baudot code telepr<strong>in</strong>ter for<br />

use on multiplexed circuits. This proved to be reliable heavy duty piece of kit, but much of what<br />

Kle<strong>in</strong>schmidt wanted to do next was controlled by patents already held by the Morton <strong>and</strong> Krum<br />

team (see above) [patent history]. It therefore made commercial sense for the two organisations to<br />

merge, which they did <strong>in</strong> 1925 as the Morkrum-Kle<strong>in</strong>schmidt Corporation, adopt<strong>in</strong>g the br<strong>and</strong><br />

name "teletype" for its products. The company renamed itself the Teletype Corporation <strong>in</strong> 1929,<br />

Revised August 5, 2008 Page 19 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> was taken over by Bell Systems <strong>in</strong> 1930. Baudot telegraphy of this sort is important to the<br />

history of comput<strong>in</strong>g, because teletypes became so widespread dur<strong>in</strong>g the 1930s that<br />

many of the experimental computers built dur<strong>in</strong>g World War Two relied extensively upon<br />

scavenged teletype components for their <strong>in</strong>put <strong>and</strong> output peripherals [see Part 3].<br />

The greatest s<strong>in</strong>gle story from this period, however, is that of the development of punched card<br />

technology. This beg<strong>in</strong>s <strong>in</strong> 1884, when Herman Hollerith (1860-1929), a US Census Bureau civil<br />

servant <strong>and</strong> mechanical eng<strong>in</strong>eer, obta<strong>in</strong>ed his first patent for a punched card data record<strong>in</strong>g<br />

system .....<br />

Key Invention - The Hollerith Punched Card: This was a th<strong>in</strong> rectangle of card, with characters <strong>and</strong><br />

numbers pr<strong>in</strong>ted on it. To service these, Hollerith supplied a keyed punch, capable of punch<strong>in</strong>g holes<br />

through selected character positions on the card. If you moved the punch carriage across to column 1<br />

<strong>and</strong> keyed "1", a hole would be punched through character position , <strong>and</strong> so on.<br />

Many prospective layouts were tried out, beg<strong>in</strong>n<strong>in</strong>g with 24 columns of 12 vertical positions, but one of<br />

the most successful layouts was the 1928 IBM variant, which used 80 columns of 12 vertical punch<strong>in</strong>g<br />

positions per column. The 12 vertical positions were def<strong>in</strong>ed as the digits 0-9, plus two additional<br />

positions known as X <strong>and</strong> Y. The clever arrangement was than 0-9 on their own meant 0-9, but 1-9 <strong>in</strong><br />

comb<strong>in</strong>ation with 0, X, or Y, meant one of the letters A-Z. This meant that a total of 36 characters<br />

could be squeezed out of only 12 punch positions. To see a completed Hollerith card, click here.<br />

Completed cards thus "stored" the keys which had been pressed, <strong>and</strong> if you keyed bus<strong>in</strong>ess data then<br />

the result<strong>in</strong>g patterns of holes acted as a bus<strong>in</strong>ess data store (the Falcon-Jacquard loom cards, by<br />

contrast, while they might have looked similar, were <strong>in</strong>struction stores rather than data stores). Three<br />

other important factors also contributed to the system's success .....<br />

1. The system allowed/encouraged s<strong>in</strong>gle-character "cod<strong>in</strong>g" of otherwise complex data attributes.<br />

Thus to respond to questions about ethnicity, for example, you could enter "1" <strong>in</strong> a predesignated<br />

data column, <strong>in</strong>stead of typ<strong>in</strong>g out "WHITE EUROPEAN", say, <strong>in</strong> full. The more there was to type<br />

<strong>in</strong> conventional format, the greater the sav<strong>in</strong>g when coded <strong>in</strong> this fashion. The codes themselves<br />

were, of course, totally arbitrary, <strong>and</strong> would be arrived at partly through design <strong>and</strong> partly by<br />

experience.<br />

2. The cards were selectable on the basis of one or several specific column values. This allowed<br />

data cards, once coded, to be selected to a precise parameter mask (such as all unemployed<br />

white males <strong>in</strong> Kansas). The mach<strong>in</strong>es which carried out this process were known as "sorters",<br />

<strong>and</strong> the "selected record" approach is now the basis of "structured query language" <strong>in</strong>terrogations<br />

of modern computer databases.<br />

3. The cards were mach<strong>in</strong>e readable. This allowed them to be <strong>in</strong>put <strong>in</strong>to large reader-calculator<br />

mach<strong>in</strong>es, where cumulative totals could be computed (such as the total number of children <strong>in</strong> the<br />

care of our unemployed white males <strong>in</strong> Kansas). The mach<strong>in</strong>es which carried out this process<br />

were known as "tabulators".<br />

As noted <strong>in</strong> the timel<strong>in</strong>e above, it was actually a colleague of Hollerith's, Dr. John Shaw Bill<strong>in</strong>gs, who<br />

had the basic punched card idea around 1881, but he decl<strong>in</strong>ed the opportunity to develop a product to<br />

go with the idea. Hollerith accord<strong>in</strong>gly went ahead on his own, <strong>and</strong> by 1889 had enough experience<br />

for his Tabulat<strong>in</strong>g Mach<strong>in</strong>e Company to w<strong>in</strong> the contract to process the data from the 1890 US census.<br />

The Census Bureau, for their part, was quick to buy, because it had only just f<strong>in</strong>ished manually<br />

process<strong>in</strong>g the 1880 figures! All went perfectly, <strong>and</strong> with<strong>in</strong> a year the mach<strong>in</strong>es had tabulated over 62<br />

million US citizens (Cortada, 1993). Hollerith went on to w<strong>in</strong> the census contracts for Austria, Canada,<br />

Revised August 5, 2008 Page 20 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> Norway <strong>in</strong> 1891, <strong>and</strong> Russia (a massive 129 million citizens) <strong>in</strong> 1897. He was also quick to open<br />

the technology up to the larger private corporations for their operational <strong>and</strong> bus<strong>in</strong>ess <strong>in</strong>telligence<br />

needs. The New York Central Railroad began process<strong>in</strong>g their freight-h<strong>and</strong>l<strong>in</strong>g paperwork <strong>in</strong> 1895.<br />

The 1900 US census earned a gross revenue of $428,000, <strong>and</strong> <strong>in</strong> 1911 Hollerith's company merged<br />

with several others to become the Comput<strong>in</strong>g - Tabulat<strong>in</strong>g - Record<strong>in</strong>g Company (CTR). This was the<br />

first of many commercial successes, <strong>and</strong> the punched card system dom<strong>in</strong>ated commercial data<br />

process<strong>in</strong>g until well <strong>in</strong>to the 1950s. [In fact, British Telecom were still arrang<strong>in</strong>g for programm<strong>in</strong>g<br />

tra<strong>in</strong>ees to use a manual card punch <strong>in</strong>to the 1980s - if only for experience's sake. The present author<br />

used one <strong>in</strong> August 1980, <strong>and</strong> it worked perfectly (but pa<strong>in</strong>fully slowly).] In 1914, Thomas J. Watson<br />

jo<strong>in</strong>ed CTR from NCR as general manager, <strong>and</strong> <strong>in</strong> 1924 Watson had CTR renamed as part of a<br />

corporate makeover, choos<strong>in</strong>g the name International Bus<strong>in</strong>ess Mach<strong>in</strong>es (IBM), <strong>and</strong> we shall be<br />

hear<strong>in</strong>g much more about them <strong>in</strong> Part 2 .....<br />

Part 2 - A Brief History of Comput<strong>in</strong>g Technology, 1925 to 1942<br />

1 - The Data Process<strong>in</strong>g Industry <strong>in</strong> 1925<br />

In Part 1 we saw how the data process<strong>in</strong>g <strong>in</strong>dustry developed out of the calculat<strong>in</strong>g aids of the<br />

seventeenth century <strong>in</strong>to the Scheutz Difference Eng<strong>in</strong>e of the mid-n<strong>in</strong>eteenth century, <strong>and</strong> thence<br />

<strong>in</strong>to the cash registers, comptometers, <strong>and</strong> punched card sorters <strong>and</strong> tabulators of the late n<strong>in</strong>eteenth<br />

century. We have also seen how the late n<strong>in</strong>eteenth century was a period of exponential economic<br />

growth, <strong>in</strong> which it was not uncommon for companies formed merely to service this or that new<br />

<strong>in</strong>vention to f<strong>in</strong>d themselves major <strong>in</strong>ternational corporations a couple of decades later. Indeed, the<br />

sheer pace of progress regularly took even the experts by surprise - Burroughs, for example, sold<br />

15,763 mach<strong>in</strong>es <strong>in</strong> 1909 alone, twice what their founder had orig<strong>in</strong>ally estimated the total worldwide<br />

market would ever be (Cortada, 1993).<br />

Let us therefore pause for a moment to summarise the situation as it stood <strong>in</strong> 1925, the year after<br />

Herman Hollerith's Comput<strong>in</strong>g, Tabulat<strong>in</strong>g, <strong>and</strong> Record<strong>in</strong>g Company renamed itself IBM. At the<br />

household end of the economic spectrum, we f<strong>in</strong>d that AT&T <strong>and</strong> the various European Post Offices<br />

had made <strong>in</strong>tegrated telephony <strong>and</strong> telegraphy services an everyday purchase, that the likes of<br />

Rem<strong>in</strong>gton, Oliver, Smith, <strong>and</strong> Underwood had done the same for typewriters, <strong>and</strong> that Marconi, RCA,<br />

<strong>and</strong> West<strong>in</strong>ghouse were well on their way to do<strong>in</strong>g the same for radio. Outside the household,<br />

calculators made by the likes of Odhner, Monroe, <strong>and</strong> Marchant were help<strong>in</strong>g small retailers do their<br />

accounts <strong>and</strong> research academics analyse their data, <strong>and</strong> at the heavy end of the economy,<br />

corporations like IBM, NCR, <strong>and</strong> Burroughs were help<strong>in</strong>g to mechanise commercial <strong>and</strong> governmental<br />

structures worldwide. It was a world where the man <strong>in</strong> the street could now communicate by press<strong>in</strong>g<br />

a few keys <strong>and</strong> turn<strong>in</strong>g a few knobs here <strong>and</strong> there, <strong>and</strong> where new data was allow<strong>in</strong>g managers "to<br />

make better decisions earlier based on more facts" (Cortada, 1993, p35).<br />

Yet the p<strong>in</strong>nacle of corporate data process<strong>in</strong>g rema<strong>in</strong>ed noth<strong>in</strong>g more sophisticated than the punched<br />

card suite, <strong>and</strong> if we look at all this activity with a more critical eye, we can see a clear pattern to<br />

where data process<strong>in</strong>g technology was flourish<strong>in</strong>g <strong>and</strong> where it was not. Specifically, we can identify<br />

two heavily sell<strong>in</strong>g market sectors <strong>in</strong> the 1920s, as follows:<br />

(1) High Street/Office Batch Process<strong>in</strong>g: In this sector we have small-to-medium sized enterprises<br />

(SMEs) whose <strong>in</strong>vestment <strong>in</strong> new technology might run to a bottom-of-the-range NCR (or rival) cash<br />

register, a Burroughs (or rival) office comptometer, <strong>and</strong> a few typewriters. Company accounts were<br />

Revised August 5, 2008 Page 21 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

probably drafted manually, computed by comptometer, checked over by the company chief clerk, <strong>and</strong><br />

then produced <strong>in</strong> neat copy on a typewriter.<br />

(2) Corporate, Military, <strong>and</strong> Governmental Batch Process<strong>in</strong>g: Under this head<strong>in</strong>g, we have such<br />

applications as the actuarial tables used <strong>in</strong> <strong>in</strong>surance, f<strong>in</strong>ancial analysis, large bill<strong>in</strong>g runs, large<br />

<strong>in</strong>ventory replenishment runs, etc., military gunnery tables, tide <strong>and</strong> navigation tables, census data,<br />

<strong>and</strong> so on.<br />

Key Concept - Batch Process<strong>in</strong>g: These, note, were both "batch" applications. This means that<br />

data was time-buffered - it was not processed as it became available, but was allowed <strong>in</strong>stead to<br />

accumulate until enough similar <strong>in</strong>puts could all be processed at once. The justification for this was<br />

(<strong>and</strong>, with the right sort of data, still is) that significant economies of scale will often result, thus<br />

reduc<strong>in</strong>g unit process<strong>in</strong>g costs (metaphorically speak<strong>in</strong>g, there is only a fractional additional cost <strong>in</strong><br />

runn<strong>in</strong>g your dishwasher with a batch of 100 items <strong>in</strong> it, compared to runn<strong>in</strong>g it with only one item <strong>in</strong> it).<br />

With an SME, the batch <strong>in</strong> question might be a day's sales, or a week's overtime claims, or a month's<br />

stock replenishment requests, <strong>and</strong> with a government department, it might be anyth<strong>in</strong>g from a<br />

trayload of Hollerith cards to a lorry load (or potentially several lorry loads) of census returns.<br />

The predom<strong>in</strong>ance of batch process<strong>in</strong>g systems was, of course, technology-driven: it was all that the<br />

available systems - the sorters <strong>and</strong> tabulators of your average corporate punched card department -<br />

could cope with, <strong>and</strong> it failed to take any account whatsoever of three as-yet-vaguely conceived<br />

additional areas, namely real-time comput<strong>in</strong>g, on-l<strong>in</strong>e comput<strong>in</strong>g, <strong>and</strong> personal comput<strong>in</strong>g, as now<br />

profiled .....<br />

Key Concept - Real Time Process<strong>in</strong>g: Process<strong>in</strong>g is deemed to occur <strong>in</strong> "real time" if <strong>and</strong> when the<br />

decision mak<strong>in</strong>g element of the mach<strong>in</strong>e (what Babbage called "the mill") is free to respond to a<br />

dem<strong>and</strong> (a) <strong>in</strong>stantaneously, <strong>and</strong> (b) without <strong>in</strong>terruption. It is the sort of comput<strong>in</strong>g needed to<br />

control any sort of system <strong>in</strong> motion. The pr<strong>in</strong>cipal method of real time control <strong>in</strong> 1900 was to have<br />

a dedicated human operator at the system's (real or figurative) helm. By 1945, however, many<br />

functions were be<strong>in</strong>g carried out automatically by analog computers l<strong>in</strong>ked to servomechanisms, <strong>and</strong><br />

modern real time systems (albeit they are now heavily digitalised) have become the ma<strong>in</strong>stays of the<br />

aerospace [to see a typical "fly-by-wire" system, click here], healthcare [to see a typical "treat-by-wire"<br />

application, click here], <strong>and</strong> military cybernetics <strong>in</strong>dustries.<br />

Key Concept - On-L<strong>in</strong>e Process<strong>in</strong>g: Process<strong>in</strong>g is deemed to be "on-l<strong>in</strong>e" if <strong>and</strong> when the decision<br />

mak<strong>in</strong>g elements of the mach<strong>in</strong>e are free to respond with only a few seconds delay to a particular<br />

enquiry or update. The textbook examples here are bank or stock balance enquiry, funds transfer,<br />

hotel, theatre, <strong>and</strong> travel ticket book<strong>in</strong>g systems, <strong>and</strong> Internet shopp<strong>in</strong>g. In this sort of application,<br />

customers (a) have a particularly subjective def<strong>in</strong>ition of "now" (they will wait anyth<strong>in</strong>g from one or two<br />

seconds for a bank balance enquiry, to a m<strong>in</strong>ute or so for a theatre or airl<strong>in</strong>e book<strong>in</strong>g), (b) need to<br />

know present availability of the target resource with 100% confidence, <strong>and</strong> (c) need to have<br />

unchallenged access to that target resource dur<strong>in</strong>g the chosen timeframe. On-l<strong>in</strong>e process<strong>in</strong>g is not<br />

available with any form of record card system, however, because it is totally impractical to go directly<br />

to a particular card <strong>in</strong> a particular card set. Indeed, this problem was not solved until 1961 [see Part 5<br />

(Section 3.1)]. On-l<strong>in</strong>e process<strong>in</strong>g is sometime referred to as "on-l<strong>in</strong>e transaction process<strong>in</strong>g" (OLTP)<br />

because of the time-encapsulated nature of the exchange between the user <strong>and</strong> the mach<strong>in</strong>e.<br />

Key Concept - Personal Comput<strong>in</strong>g: Process<strong>in</strong>g is deemed to be "personal" if <strong>and</strong> when users have<br />

access to their own hardware (<strong>and</strong> do someth<strong>in</strong>g with it other than play computer games). This sort of<br />

Revised August 5, 2008 Page 22 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

comput<strong>in</strong>g therefore had to wait until mass production techniques brought equipment prices down.<br />

The first desktop personal computers started to appear on the market <strong>in</strong> the early 1980s, the first<br />

laptops about a decade later, <strong>and</strong> the Internet/multimedia mach<strong>in</strong>es <strong>in</strong> the mid-1990s.<br />

As far as the 1920s were concerned, therefore, it is probably fair to conclude that the data was there<br />

to be processed, but the comput<strong>in</strong>g mach<strong>in</strong>ery available was too slow <strong>and</strong> too <strong>in</strong>flexible to service the<br />

full richness of the dem<strong>and</strong>. To underst<strong>and</strong> what happened next, we need to consider a detailed case<br />

study, <strong>and</strong> one of the most generally <strong>in</strong>formative of these has to do with the problems of artillery<br />

gunlay<strong>in</strong>g <strong>in</strong> general, <strong>and</strong> anti-aircraft gunlay<strong>in</strong>g <strong>in</strong> particular.<br />

2 - Computation <strong>in</strong> Ballistics<br />

Now the basic problem for artillery gunlay<strong>in</strong>g is gravity. Put simply, your cannon ball wants to fall to<br />

earth as quickly as it can, <strong>and</strong> it is your job as gunlayer to comb<strong>in</strong>e the effects of gravity with some<br />

forward motion so that the po<strong>in</strong>t of impact of the projectile is also the po<strong>in</strong>t of maximum destruction to<br />

your enemy. To further complicate matters, the effect of gravity is to give any projectile a downward<br />

acceleration, whilst its forward motion rema<strong>in</strong>s approximately the same throughout the flight. This is<br />

what gives the result<strong>in</strong>g trajectory its characteristic "dipp<strong>in</strong>g curve" shape, the correct name for which<br />

is a "parabola". The science of gunlay<strong>in</strong>g is therefore to tilt the gun barrel upwards or downwards from<br />

the l<strong>in</strong>e of direct sight, until it rests at a tangent to the parabolic trajectory which passes through both<br />

gun <strong>and</strong> target. Corrections then need to be made for w<strong>in</strong>d resistance (up a touch), sidew<strong>in</strong>ds (left or<br />

right a touch), headw<strong>in</strong>ds (up a touch), tailw<strong>in</strong>ds (down a touch), targets uphill relative to you (up a<br />

touch), <strong>and</strong> so on. The dimensions of the parabola will also vary accord<strong>in</strong>g to projectile weight, the<br />

weight <strong>and</strong> chemical condition of the propellant charge, the goodness of fit of the projectile <strong>in</strong>to the<br />

barrel (up a touch if the gun is start<strong>in</strong>g to wear, or has been fir<strong>in</strong>g for some time, <strong>and</strong> has got hot).<br />

Given all this mathematics, it will come as no surprise to learn that these calculations were beyond<br />

<strong>in</strong>dividual artillerymen, especially <strong>in</strong> the heat of battle. As a result, the earliest cannons were simply<br />

po<strong>in</strong>ted by eye <strong>and</strong> adjusted as necessary if they missed (the British took three "bombards" with them<br />

to Crécy <strong>in</strong> 1346 just to frighten the enemy's horses). The situation did not improve much until an<br />

Italian mathematician named Niccolo Tartaglia (1506-1559) wrote a monograph on the subject, <strong>and</strong><br />

devised some quick <strong>and</strong> easy field procedures .....<br />

Key Invention - Tartaglia's Quadrant (ca. 1545): In an attempt to <strong>in</strong>troduce some discipl<strong>in</strong>e <strong>in</strong>to the<br />

sett<strong>in</strong>g of an elevation, Tartaglia <strong>in</strong>vented the gunner's quadrant. This consisted of a short plumbl<strong>in</strong>e<br />

suspended across a graduated 90-degree quadrant. The quadrant itself was fixed to the gun <strong>in</strong><br />

question by a muzzle plug, so that as the barrel was raised <strong>and</strong> lowered the plumbl<strong>in</strong>e crossed the<br />

quadrant at a different po<strong>in</strong>t [for a helpful picture of the quadrant <strong>in</strong> use, click here or here]. The<br />

elevation could then be read off as the number of degrees marked at this <strong>in</strong>tersection po<strong>in</strong>t, "po<strong>in</strong>t<br />

blank" be<strong>in</strong>g the true horizontal. In the meantime, the gun comm<strong>and</strong>er had estimated the range to the<br />

target <strong>and</strong> could set the correspond<strong>in</strong>g required elevation from a look-up table or pre-drawn graph<br />

supplied with the gun. We shall refer to these graphical <strong>and</strong> tabular aids henceforth as "ready<br />

reckoners".<br />

Quadrants were most effective when help<strong>in</strong>g siege artillery destroy fortifications, because they<br />

allowed the precise resett<strong>in</strong>g of an elevation after each shot. However, the lighter guns were still<br />

largely laid by the experienced eye, because the fact that they were <strong>in</strong>tended to engage more mobile<br />

targets <strong>in</strong>teracted unfavourably with the fact that the decision mak<strong>in</strong>g required by Tartaglia's system<br />

itself took time. If you had a mov<strong>in</strong>g target, you had to know how long it was likely to take between<br />

Revised August 5, 2008 Page 23 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

read<strong>in</strong>g your <strong>in</strong>struments <strong>and</strong> the projectile arriv<strong>in</strong>g at the end of its travel. Just as <strong>in</strong> clay [skeet]<br />

shoot<strong>in</strong>g, you must aim ahead of your enemy by a carefully calculated amount, a cunn<strong>in</strong>g little trick<br />

which goes by the names "deflection shoot<strong>in</strong>g" or "lead<strong>in</strong>g the target". This trick does not just take<br />

a lot of learn<strong>in</strong>g, but needs to be done <strong>in</strong> the forwards-backwards <strong>and</strong> leftwards-rightwards<br />

dimensions simultaneously. The forwards-backwards deflection is known as the "elevation lead",<br />

<strong>and</strong> the leftwards-rightwards deflection is known as the "azimuth lead". You no longer needed a<br />

gunsight, <strong>in</strong> other words, you needed a "fire control system", complete with your own computer.<br />

By the Napoleonic era, ready reckoner techniques were at work <strong>in</strong> both (a) the use of field artillery<br />

aga<strong>in</strong>st <strong>in</strong>fantry or cavalry formations manoeuver<strong>in</strong>g on l<strong>and</strong> (where the ground speed of the target<br />

can be anyth<strong>in</strong>g from 2 to 20 mph, <strong>and</strong> where relative topographical elevation can change by the<br />

second), <strong>and</strong> (b) the use of shipboard artillery (where the ground speed would normally be 5 to 8 mph,<br />

but where your own gun platform would also be pitch<strong>in</strong>g, roll<strong>in</strong>g, <strong>and</strong> yaw<strong>in</strong>g <strong>in</strong>to the barga<strong>in</strong>). [For an<br />

example of the effectiveness of shipboard artillery aga<strong>in</strong>st slow mov<strong>in</strong>g <strong>in</strong>fantry formations on the flat,<br />

see the role played by the USS Louisiana at the Battle of New Orleans, 1815, on our webpage on<br />

military disasters.] However, as with comput<strong>in</strong>g <strong>and</strong> many other th<strong>in</strong>gs, the period between the Battle<br />

of Trafalgar (1805) <strong>and</strong> the First World War was one of unremitt<strong>in</strong>g <strong>in</strong>novation for the artillery world,<br />

<strong>and</strong> the follow<strong>in</strong>g major changes may be identified:<br />

(a) Calibre <strong>and</strong> Range: A typical heavy naval gun at Trafalgar was the carriage-mounted British 32pounder<br />

black powder muzzle loader. This had a 91/2 foot barrel, a 32-pound solid projectile, a shot<br />

diameter of 6.4 <strong>in</strong>ches, <strong>and</strong> an effective range of about one mile. By 1915, its equivalent would have<br />

been the 1913-designed 15-<strong>in</strong>ch Mark 1 turret-mounted breech loader, with a 55-foot 100-ton barrel, a<br />

1-ton explosive projectile, a shot diameter of 15 <strong>in</strong>ches, <strong>and</strong> an effective range of 16 miles.<br />

(b) Speed of Fir<strong>in</strong>g: The rate of fire of our 1805 32-pounder was around one shot every two m<strong>in</strong>utes;<br />

that of our 1915 15-<strong>in</strong>ch Mark 1 was around one shot every m<strong>in</strong>ute. The critical <strong>in</strong>ventions here were<br />

the <strong>in</strong>tegration of shot <strong>and</strong> cartridge, <strong>and</strong> the breech mechanism.<br />

(c) Rangef<strong>in</strong>d<strong>in</strong>g: Although it is possible to range monocularly us<strong>in</strong>g a telescope, by rely<strong>in</strong>g on the<br />

amount of focus<strong>in</strong>g required to give a clear image, the critical development under this head<strong>in</strong>g was<br />

the b<strong>in</strong>ocular optical rangef<strong>in</strong>der. This was a contraption rather like a pair of b<strong>in</strong>oculars, but with the<br />

front lenses anyth<strong>in</strong>g from a few centimeters to several meters apart [to see a picture of a German 4metre<br />

rangef<strong>in</strong>der of 1940s v<strong>in</strong>tage, click here]. The user stood at an eyepiece halfway along the<br />

telescope tube <strong>and</strong> saw two half-images from the lens <strong>and</strong> prism systems - the "objectives" - either<br />

side of him. These images would only perfectly superimpose, however, when the two objectives were<br />

angled slightly <strong>in</strong>wards, <strong>and</strong>, just as with biological b<strong>in</strong>ocular convergence, the degree of "nasal"<br />

rotation is an analog of the target's range. The adjustment angle was therefore factory-calibrated for<br />

read<strong>in</strong>g off <strong>in</strong> meters distant. Such <strong>in</strong>struments were manufactured by the Glastechnische<br />

Laboratorium Schott & Genossen (later Carl Zeiss, Jena) from 1894, <strong>and</strong> by Barr <strong>and</strong> Stroud <strong>in</strong> the<br />

UK from 1907.<br />

(d) Naval Fire Control Systems: Know<strong>in</strong>g your enemy's range is only one factor <strong>in</strong> successful naval<br />

gunnery. For each selected target, your own speed <strong>and</strong> head<strong>in</strong>g need to be computed aga<strong>in</strong>st target<br />

speed <strong>and</strong> head<strong>in</strong>g, <strong>and</strong> due allowance made (a) for elevation <strong>and</strong> azimuth lead, <strong>and</strong> (b) for any<br />

pitch<strong>in</strong>g, roll<strong>in</strong>g, <strong>and</strong> yaw<strong>in</strong>g of the gun platform. The solution was to br<strong>in</strong>g together <strong>in</strong>to a s<strong>in</strong>gle fire<br />

control computer a number of "follow the po<strong>in</strong>ter" analog systems, each cop<strong>in</strong>g with one of the<br />

sight<strong>in</strong>g or stabilisation parameters. Such systems were developed dur<strong>in</strong>g, <strong>and</strong> fairly effective by the<br />

end of, the First World War. The US effort <strong>in</strong> this area was led by the Sperry Gyroscope Company<br />

Revised August 5, 2008 Page 24 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

(see under Elmer Ambrose Sperry <strong>in</strong> Part 1) <strong>and</strong> the Ford Instrument Company (see under Hannibal<br />

C. Ford <strong>in</strong> Part 1). Ford's Range Keeper Mark 1 [picture <strong>and</strong> specification] was <strong>in</strong>stalled <strong>in</strong> 1917 on<br />

USS Texas, <strong>and</strong> heralded an era of greatly improved naval gunnery.<br />

The arrival of the aeroplane as a weapon of war ended any residual reliance upon a gunner's<br />

experience <strong>and</strong> good judgement. Not that the pr<strong>in</strong>ciples themselves had changed, for <strong>in</strong> his<br />

monograph on the history of anti-aircraft (henceforth "flak") technology, Müller (1998) was still<br />

expla<strong>in</strong><strong>in</strong>g that "<strong>in</strong> order to hit a target mov<strong>in</strong>g <strong>in</strong> a free space, [estimations] have to be fed to the gun<br />

for the po<strong>in</strong>t <strong>in</strong> space which would be occupied by the target at the end of the artillery shell's flight<br />

time" (p3). But there are estimations <strong>and</strong> there are estimations: it is one th<strong>in</strong>g to shoot at a formation<br />

of cavalry two hundred yards across <strong>and</strong> only two hundred yards away, <strong>and</strong> quite another to shoot at<br />

an aeroplane a few yards across <strong>and</strong> several thous<strong>and</strong> yards away. The po<strong>in</strong>t is that deflection<br />

shoot<strong>in</strong>g becomes progressively more difficult as the target's range goes up, for the simple <strong>and</strong><br />

mathematically <strong>in</strong>escapable reason that the projectile's time of travel also goes up. This both<br />

magnifies any sight<strong>in</strong>g errors already made, <strong>and</strong> affords the target a chance to take evasive action.<br />

For example, it took around 20 seconds for a Second World War 88mm shell to reach its practical<br />

operational ceil<strong>in</strong>g of 20,000 feet (roughly four miles), with<strong>in</strong> which time an aircraft mov<strong>in</strong>g at 250 mph<br />

would itself have travelled well over a mile.<br />

The experience of two world wars brought two popular solutions to the deflection shoot<strong>in</strong>g problem <strong>in</strong><br />

air defence: one was to shoot off lots of small cheap bullets <strong>and</strong> rely on sheer weight of numbers to<br />

give you the occasional direct hit, <strong>and</strong> the other was to shoot fewer, but bigger <strong>and</strong> more expensive,<br />

explosive shells, eng<strong>in</strong>eered to go off near the target <strong>and</strong> <strong>in</strong>flict blast or fragmentation damage. In<br />

other words, if a direct hit was go<strong>in</strong>g to be a practical impossibility, you needed to capitalise on your<br />

near misses as well. The first option was the method of choice aga<strong>in</strong>st low-fly<strong>in</strong>g aircraft, the latter the<br />

method of choice aga<strong>in</strong>st high-fly<strong>in</strong>g, BUT it relied upon an accurate time fus<strong>in</strong>g system, as now<br />

described .....<br />

Key Invention - Time Delay Fus<strong>in</strong>g: A time fuse is a mechanism for the timed detonation of an<br />

explosive projectile while still <strong>in</strong> the air, <strong>and</strong> <strong>in</strong> the absence of direct contact with the target.<br />

Because the result<strong>in</strong>g blast comes vertically downwards, this has always been the weapon of choice<br />

aga<strong>in</strong>st defensive trench systems. Time fuses were <strong>in</strong> common use for large calibre mortars as far<br />

back as the late 16th century, <strong>and</strong> were then <strong>in</strong>troduced <strong>in</strong>to the lighter field artillery when an<br />

artilleryman named Henry Shrapnel <strong>in</strong>vented his eponymous case shot <strong>in</strong> 1784. The early time fuses<br />

were simply lengths of paper or cloth rolled around a trickle of black powder (much like an Old<br />

Holborn roll-up, or spliff). You knew from past experience how fast this sort of fuse burned, so you cut<br />

off just enough of it to provide the <strong>in</strong>tended delay, <strong>in</strong>serted one end <strong>in</strong>to the ma<strong>in</strong> charge, lit the other,<br />

<strong>and</strong> kept your f<strong>in</strong>gers tightly crossed it did not detonate prematurely. The delay was known as the<br />

"fuse burn time". World War One time fuses used much the same basic technology, save that the fuse<br />

was now a piece of clockwork, factory-mach<strong>in</strong>ed <strong>in</strong>to the shell, <strong>and</strong> its "burn time" was externally<br />

adjustable by the guncrew immediately prior to load<strong>in</strong>g. The mechanism had to be extremely robust to<br />

withst<strong>and</strong> both the momentary l<strong>in</strong>ear acceleration when fired (typically well <strong>in</strong> excess of 10,000 "g")<br />

<strong>and</strong> the centrifugal forces of sp<strong>in</strong>n<strong>in</strong>g at (typically) well <strong>in</strong> excess of 20,000 rpm while <strong>in</strong> flight. The<br />

systems <strong>in</strong>vented to cope with determ<strong>in</strong><strong>in</strong>g the required fuse burn time from sight<strong>in</strong>g data were known<br />

as "predictors". Time fus<strong>in</strong>g was largely replaced <strong>in</strong> flak systems by the <strong>in</strong>troduction of the radio<br />

proximity fuse towards the end of the Second World War - see next Key Invention panel but two.<br />

Revised August 5, 2008 Page 25 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Now we can actually learn a lot about comput<strong>in</strong>g by consider<strong>in</strong>g the prediction problem <strong>in</strong> some detail.<br />

If you were ever put <strong>in</strong> charge of an anti-aircraft gun, for example, then ideally you would need to<br />

know the follow<strong>in</strong>g th<strong>in</strong>gs about an enemy aircraft travell<strong>in</strong>g <strong>in</strong> a straight l<strong>in</strong>e .....<br />

its bear<strong>in</strong>g (ie. the direction to the target relative to true north on the st<strong>and</strong>ard 360-degree<br />

compass dial)<br />

its current height, plus its rate of climb or descent to give a predicted height<br />

its horizontal range, plus the two horizontal velocity components to give a predicted horizontal<br />

range <strong>and</strong> current head<strong>in</strong>g (ie. the direction the target is mov<strong>in</strong>g <strong>in</strong>, after allow<strong>in</strong>g for w<strong>in</strong>d drift,<br />

aga<strong>in</strong> measured on the st<strong>and</strong>ard 360-degree compass dial).<br />

its azimuth (ie. the direction to the target relative to the axis of your gun, which need not itself be<br />

fac<strong>in</strong>g north, also on the st<strong>and</strong>ard 360 degree scale)<br />

Example: If your gun is fac<strong>in</strong>g east, <strong>and</strong> the target is <strong>in</strong> front of it, then that target's bear<strong>in</strong>g is +90 o<br />

(because it is to the east of you), but its azimuth is zero (because your gun is already po<strong>in</strong>t<strong>in</strong>g at it); its<br />

head<strong>in</strong>g could, momentarily, be any value between 1 o <strong>and</strong> 360 o .<br />

Unfortunately, some of the most important values cannot accurately be observed, so either you have<br />

to guess at them, or you have to compute them from what you can observe, accord<strong>in</strong>g to the rules<br />

<strong>and</strong> equations of three-dimensional geometry, algebra, <strong>and</strong> trigonometry. Moreover, velocity <strong>and</strong><br />

head<strong>in</strong>g can only be computed if the rate of change of other variables is known, so you will have to<br />

repeat some sight<strong>in</strong>g values after a fixed time delay, us<strong>in</strong>g a stopwatch. So basically you are deal<strong>in</strong>g<br />

with the follow<strong>in</strong>g four po<strong>in</strong>ts <strong>in</strong> three-dimensional Cartesian space:<br />

Coord<strong>in</strong>ates #1: Where you are, <strong>and</strong> what direction the axis of your gun is aligned to.<br />

Coord<strong>in</strong>ates #2: The location of the target at T1, the first click of the stopwatch. To ascerta<strong>in</strong> this, you<br />

have to focus a comb<strong>in</strong>ed theodolite-rangef<strong>in</strong>der on the target, <strong>and</strong> read off the scale values for the<br />

bear<strong>in</strong>g (horizontal scale), angle of elevation (vertical scale), <strong>and</strong>, assum<strong>in</strong>g you have a b<strong>in</strong>ocular<br />

rangef<strong>in</strong>der, range (b<strong>in</strong>ocular convergence scale).<br />

Coord<strong>in</strong>ates #3: The location of the target at T2, the second click of the stopwatch. To ascerta<strong>in</strong> this,<br />

you need to repeat your read<strong>in</strong>gs after a st<strong>and</strong>ard stopwatch delay. The difference between the two<br />

sets of values then allows the target's three velocity components to be calculated, <strong>and</strong> from that a<br />

reasonably accurate head<strong>in</strong>g <strong>and</strong> ground speed.<br />

Coord<strong>in</strong>ates #4: The (future) location of the target at T3 (because this is where you are go<strong>in</strong>g to aim<br />

your gun). Sett<strong>in</strong>g T3 needs to take <strong>in</strong>to account both fuse sett<strong>in</strong>g <strong>and</strong> fuse burn time. It might take<br />

three or four seconds to load the shell <strong>in</strong>to the gun, <strong>and</strong> then of the order of 20 seconds <strong>in</strong> flight.<br />

To make matters worse, the two-click system is only theoretically useful while the target aircraft<br />

rema<strong>in</strong>s travell<strong>in</strong>g <strong>in</strong> a straight l<strong>in</strong>e. A "three click" system, <strong>in</strong> which three tim<strong>in</strong>gs are taken, offers the<br />

additional ability to deal with curved flight, but requires quadratic curve fitt<strong>in</strong>g <strong>in</strong> all three key<br />

dimensions, <strong>and</strong> for a long time that was beyond the available technology <strong>and</strong> all but professional<br />

mathematicians. The calculations also rely heavily on a process known as "<strong>in</strong>tegration", one of the<br />

major subskills of differential calculus. Müller (1998) describes how German air defence technologists<br />

started to deal with these problems dur<strong>in</strong>g the First World War. The early systems, not surpris<strong>in</strong>gly,<br />

were quite basic .....<br />

Revised August 5, 2008 Page 26 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Invention - The Peres Predictor (1915): This was basically a Zeiss telescope-theodolite on a<br />

tripod. By tak<strong>in</strong>g a direct sight<strong>in</strong>g on the target, it could give angles of elevation <strong>and</strong> azimuth, <strong>and</strong> by<br />

do<strong>in</strong>g the same after a set number of seconds measured on a stopwatch the operators could<br />

extrapolate a suitable burn time <strong>and</strong> angles of elevation <strong>and</strong> azimuth. The apparatus was<br />

complemented <strong>in</strong> 1916 by a set of comm<strong>and</strong> charts (ie. ready reckoners) from which burn time <strong>and</strong><br />

elevation could be read directly.<br />

Key Invention - The JAKOB Comm<strong>and</strong> Table (1917): The JAKOB comm<strong>and</strong> table was <strong>in</strong>troduced<br />

<strong>in</strong> 1917, <strong>and</strong> was aga<strong>in</strong> basically a Zeiss telescope-theodolite. Here, however, the ready reckoner<br />

element was <strong>in</strong>tegrated <strong>in</strong>to the ma<strong>in</strong> carcase of the <strong>in</strong>strument as an output display panel, rather than<br />

as a separate set of ready reckoners. This therefore <strong>in</strong>volved <strong>in</strong>ternal gear<strong>in</strong>g accord<strong>in</strong>g to the<br />

pr<strong>in</strong>ciples of analog computation already described <strong>in</strong> Part 1.<br />

Further attempts at mechanis<strong>in</strong>g flak gunlay<strong>in</strong>g took place dur<strong>in</strong>g the 1920s, <strong>and</strong> the solution <strong>in</strong> all<br />

cases was to rely on an analog computer - "a system to represent the problem whose solution is<br />

required [<strong>and</strong> whose behaviour] then yields the solution <strong>in</strong> terms of the measured values of various<br />

output quantities" (Williams, 1961, p9). Known generically as "follow-the-po<strong>in</strong>ter" systems, analog<br />

computers consisted typically of a large box of <strong>in</strong>terconnect<strong>in</strong>g shafts, cranks <strong>and</strong> cams, differential<br />

gears, torque amplifiers, clutches, pulleys <strong>and</strong> cords, potentiometers, <strong>and</strong>/or spr<strong>in</strong>g-loaded<br />

mechanisms, which were used to estimate the solutions to complex equations.<br />

Key Concept - Follow-the-Po<strong>in</strong>ter Servocontrol: The idea of mechanisms capable of follow<strong>in</strong>g the<br />

movements of a po<strong>in</strong>ter at a distance emerged <strong>in</strong> the mid-n<strong>in</strong>eteenth century. For example, <strong>in</strong> the<br />

1847 Siemens automatic dial telegraph [picture], the remote-station telegraph po<strong>in</strong>ter automatically<br />

rotates to the same angle as that to which the home-station po<strong>in</strong>ter has been set, thus allow<strong>in</strong>g the<br />

home operator to "spell out" a message letter by letter. The pr<strong>in</strong>ciple is also seen at work <strong>in</strong> the<br />

"steam steer<strong>in</strong>g eng<strong>in</strong>es" of the 1860s. Such a system was developed by McFarlane Gray <strong>in</strong> 1866 for<br />

the SS Great Brita<strong>in</strong>. Firstly, a rudder deviation was chosen by the helmsman <strong>and</strong> set as a po<strong>in</strong>ter<br />

deflection on the control apparatus. This then released steam to a rudder servomechanism to do the<br />

heavy work, <strong>and</strong>, as the rudder itself moved, a second po<strong>in</strong>ter was gradually rotated until it matched<br />

the first, whereupon the steam supply to the servomechanism was shut off (Bennett, 1979). [For more<br />

on the history of analog systems, see M<strong>in</strong>dell (1995), <strong>and</strong> for more on the basics of cybernetics, see<br />

Smith (1997).]<br />

The US effort <strong>in</strong> this area was aga<strong>in</strong> led by Sperry Gyroscope <strong>and</strong> the Ford Instrument Company.<br />

Draw<strong>in</strong>g on their experience with World War One naval fire control systems, Sperry <strong>and</strong> Ford<br />

developed equivalents of the German equipment mentioned above, <strong>and</strong> <strong>in</strong> the period between 1927<br />

<strong>and</strong> 1935 successfully developed a workable <strong>in</strong>tegrated flak control system. The culm<strong>in</strong>ation of this<br />

eight years of experimentation was the T-6 AA Director System. The 1935 German system was<br />

generally similar to the US system. Each flak battery consisted of a rang<strong>in</strong>g station equipped with a<br />

four-metre b<strong>in</strong>ocular rangef<strong>in</strong>der, a comm<strong>and</strong> unit equipped with an analog predictor, <strong>and</strong> the guns<br />

themselves. The follow<strong>in</strong>g is from Müller (1998), <strong>and</strong> describes how the four-man crew of the<br />

rangef<strong>in</strong>der (numbered E, for Entfernungsmesser, 1 to 4) <strong>in</strong>teracted with another n<strong>in</strong>e men on the<br />

comm<strong>and</strong> post analog computer (numbered B, for Befehlstelle, 5 to 13) to come up with the required<br />

gun <strong>and</strong> fuse sett<strong>in</strong>g parameters:<br />

"After the E2 [lateral tracker] <strong>and</strong> E3 [elevation tracker] sight operators determ<strong>in</strong>ed a target's height<br />

<strong>and</strong> bear<strong>in</strong>g, the E1 [sergeant] could plot its range [] B4 passed data via voice radio to the B7, B5<br />

controlled the computer laterally [by turn<strong>in</strong>g an adjust<strong>in</strong>g h<strong>and</strong>wheel], B6 controlled it vertically [by<br />

Revised August 5, 2008 Page 27 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

turn<strong>in</strong>g a second adjust<strong>in</strong>g h<strong>and</strong>wheel]. Speed of revolution [of the <strong>in</strong>ternal mechanism], controlled by<br />

the adjust<strong>in</strong>g gears, corresponded to the azimuth <strong>and</strong> elevation lead [read from output dials at the rear<br />

<strong>and</strong> right of the apparatus respectively]. The azimuth lead was passed by the B8, who kept the po<strong>in</strong>ter<br />

on the azimuth tachometer aligned with the null marker; the B9 did the same for the elevation<br />

tachometer. The B10 passed the range lead us<strong>in</strong>g the range fluctuation speed tachometer. The B11<br />

gave the fir<strong>in</strong>g azimuth, the B12 the barrel elevation, <strong>and</strong> the B13 the fuse sett<strong>in</strong>g by voice radio to the<br />

guns." (Müller, 1998, p13.)<br />

Each gun <strong>in</strong> the typically four (later eight) gun battery was manned by a further n<strong>in</strong>e gunners<br />

(numbered K, for Kanonier, 1 upwards). K1 (the height man) h<strong>and</strong>-cranked the gun up to the angle of<br />

elevation specified by B12, K2 (the azimuth man) h<strong>and</strong>-cranked it round to the azimuth sett<strong>in</strong>g<br />

specified by B11, <strong>and</strong> K6 set the fuse to the value given by B13. F<strong>in</strong>ally, the guns were loaded <strong>and</strong><br />

fired <strong>in</strong> as short order as possible. The other K-roles were manual h<strong>and</strong>l<strong>in</strong>g. Warn<strong>in</strong>g bells from the<br />

comm<strong>and</strong> post synchronised the gunners from one end of the battery to the other, <strong>and</strong>, typically, all<br />

the guns <strong>in</strong> the battery fired to the same coord<strong>in</strong>ates at the same comm<strong>and</strong> (as, <strong>in</strong>deed, could the<br />

guns of neighbour<strong>in</strong>g batteries, if l<strong>in</strong>ked by telephone). It thus took a cooperative process<strong>in</strong>g network<br />

of at least 25 highly tra<strong>in</strong>ed <strong>and</strong> totally focused human m<strong>in</strong>ds, aided by the best optics <strong>and</strong> mechanics<br />

money could buy, to aim what was effectively a s<strong>in</strong>gle gun, <strong>and</strong> it still took an average 4000 shells to<br />

down each Allied plane!<br />

ASIDE: It was a military secret at the time, of course, but the allied bomb<strong>in</strong>g fleets had been<br />

<strong>in</strong>structed to fly straight <strong>and</strong> level on their f<strong>in</strong>al approach to their target. This had been judged the<br />

lesser of two evils, because rapid manoeuver<strong>in</strong>g of large formations of aircraft <strong>in</strong>vited collisions. The<br />

relatively poor flak performance was therefore not <strong>in</strong>fluenced by any significant changes <strong>in</strong> altitude or<br />

head<strong>in</strong>g: it was all down to <strong>in</strong>accuracies <strong>in</strong> the basic rangef<strong>in</strong>d<strong>in</strong>g <strong>and</strong> prediction equipment, <strong>and</strong> poor<br />

operat<strong>in</strong>g procedures.<br />

Similarly, by 1939, the British Royal Artillery's Air Defence Comm<strong>and</strong> was also rely<strong>in</strong>g on optical<br />

track<strong>in</strong>g <strong>and</strong> altitude f<strong>in</strong>d<strong>in</strong>g, supported by analog computation of azimuth, elevation, <strong>and</strong> fuse delay,<br />

followed by manual gunlay<strong>in</strong>g to those parameters (Williams, 1961). Aga<strong>in</strong> about a dozen highly<br />

skilled technician-operators (frequently women) were needed per battery.<br />

The Second World War brought a further wave of improvements. An advanced US system, the "M9<br />

Electrical Gun Director" was proposed <strong>in</strong> June 1940 by David B. Park<strong>in</strong>son <strong>and</strong> Clarence A. Lovell of<br />

Bell Labs' Murray Hill facility [for the story of Park<strong>in</strong>son's dream, click here]. The proposal was<br />

accepted <strong>in</strong> December 1940, <strong>and</strong> the result<strong>in</strong>g development project occupied some 400 Bell<br />

eng<strong>in</strong>eers, with assistance from the Ford Instrument Company <strong>and</strong> the Teletype Corporation on the<br />

altitude converter. Colonel H.B. Ely liaised. A prototype was delivered for evaluation <strong>in</strong> November<br />

1941, <strong>and</strong> production approval given <strong>in</strong> the autumn of 1942. Full production was contracted to the<br />

Western Electric Company. Here is Bell's own description of the hardware configuration:<br />

"The apparatus is a comb<strong>in</strong>ation of devices for obta<strong>in</strong><strong>in</strong>g the necessary <strong>in</strong>formation <strong>and</strong> mak<strong>in</strong>g<br />

predictions for controll<strong>in</strong>g the gun. The electrical director is associated with a battery of four guns <strong>and</strong><br />

an optical height f<strong>in</strong>der. It consists of four separate units which are transported <strong>in</strong> a trailer, namely the<br />

tracker, the computor [sic], the range converter, <strong>and</strong> the power equipment. The two men on the seats<br />

of the tracker look through the telescopes <strong>and</strong> by means of controls, keep the cross hairs <strong>in</strong> the eye<br />

pieces constantly on the airplane. For example, one man is now rotat<strong>in</strong>g the tracker about a vertical<br />

axis <strong>and</strong> this rotation determ<strong>in</strong>es an angle called the azimuth. The other man raises or lowers his<br />

telescope about a horizontal axis <strong>and</strong> thus determ<strong>in</strong>es an angle called the elevation angle. [These]<br />

Revised August 5, 2008 Page 28 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

two actions are simultaneous [<strong>and</strong>] determ<strong>in</strong>e the direction of the airplane from the tracker. The two<br />

telescopes are driven by electrical motors, so that the rates of these motors can be set when the<br />

telescopes are follow<strong>in</strong>g the plane smoothly, <strong>and</strong> they will cont<strong>in</strong>ue to follow it for short periods without<br />

any aid from the men, as when the plane is fly<strong>in</strong>g through a cloud. However, even when the plane is<br />

fly<strong>in</strong>g <strong>in</strong> a straight l<strong>in</strong>e at constant speed the angular rates at the tracker are not constant, so the two<br />

men at the tracker must slowly shift the rates so as to keep the target on the cross hairs. If they are<br />

skilful <strong>in</strong> do<strong>in</strong>g this, then, by electrical transmission systems, data, which give the direction of the<br />

airplane from the tracker at each <strong>in</strong>stant of time, are cont<strong>in</strong>uously be<strong>in</strong>g fed from the tracker to the<br />

computor [sic] of the director. [New paragraph.] To determ<strong>in</strong>e the position of the plane <strong>in</strong> space we<br />

must add to these two direction angles another quantity called the range, that is, the air-l<strong>in</strong>e distance<br />

from the tracker to the target. This is furnished by either electrical or optical means. These quantities<br />

are known as present polar cood<strong>in</strong>ates <strong>and</strong> all of them vary from <strong>in</strong>stant to <strong>in</strong>stant as the plane<br />

moves. [New paragraph] The first operation which the computor performs is to transform these polar<br />

coord<strong>in</strong>ates <strong>in</strong>to rectangular coord<strong>in</strong>ates, that is values are produced <strong>in</strong> the computor which tell how<br />

far the plane is north or south, how far it is east or west, <strong>and</strong> how far it is above the ground. [The]<br />

computor then calculates by means of electrical <strong>and</strong> mechanical mechanisms the magnitudes of<br />

these rates, which are [then] <strong>in</strong>dicated on meters. New paragraph] Before the computor can use<br />

these data to make predictions as to where the gun must be po<strong>in</strong>ted the <strong>in</strong>formation concern<strong>in</strong>g the<br />

power of the gun <strong>and</strong> the k<strong>in</strong>d of shell that it is fir<strong>in</strong>g must be taken <strong>in</strong>to account. These [<strong>and</strong> many<br />

other corrections] may be set <strong>in</strong> the computor by means of h<strong>and</strong>-controlled dials In addition, the<br />

electrical computor also takes <strong>in</strong>to consideration the fact that the guns are located some distance from<br />

the tracker. [In fact, the] computor may be put <strong>in</strong>to a place of safety underground, hundreds of yards<br />

from the guns, <strong>and</strong> still make accurate predictions. The adjustment necessary when the gun <strong>and</strong><br />

tracker are separated is called the parallax correction." (Dr. Harvey Fletcher, Director of Physical<br />

Research, Bell Telephone Laboratories; quoted <strong>in</strong> an anonymous editorial <strong>in</strong> Bell Laboratories Record,<br />

1943, 22(4):157-167, pp163-165; all emphases added.)<br />

Few pre-war gunners would have recognised the situation a mere six years later, for by 1945 the<br />

track<strong>in</strong>g was by lock<strong>in</strong>g-on radar, the guns themselves were self-lay<strong>in</strong>g by servomechanism, <strong>and</strong><br />

progress was be<strong>in</strong>g made at automat<strong>in</strong>g the manual tasks of load<strong>in</strong>g <strong>and</strong> fuse-sett<strong>in</strong>g. Indeed, the Bell<br />

system, impressive enough <strong>in</strong> 1942, became even more potent when the projectiles were fitted with<br />

radio proximity fuses a few months later ......<br />

Key Invention - The Radio Proximity Fuse: Live burn<strong>in</strong>g or clockwork time delay fuses were<br />

rendered largely obsolete when the "VT" type radio proximity fuse (described by some as second only<br />

to the atom bomb <strong>in</strong> World War Two military significance) was combat tested <strong>in</strong> January 1943. These<br />

shells relied on a m<strong>in</strong>iaturised (<strong>and</strong> exceptionally robust) onboard radio transmitter, coupled to a<br />

Doppler shift amplifier. After a short <strong>in</strong>itial delay to allow the shell to clear the gun, the radio echoes<br />

from any solid objects <strong>in</strong> the vic<strong>in</strong>ity could be detected, amplified, <strong>and</strong> used to detonate the ma<strong>in</strong><br />

charge. [For a cut-away diagram of one of these fuses, click here, <strong>and</strong> for fuller technical background,<br />

click here, or here, or here.]<br />

ASIDE: Kenneth D. Smith (1905-1990) was one of many unsung heroes at Bell Labs dur<strong>in</strong>g World<br />

War Two. He contributed significantly to proximity fuse <strong>and</strong> radar development before 1945, <strong>and</strong> then<br />

moved on to the team responsible for transistor development (see Part 3). Readers <strong>in</strong>terested <strong>in</strong><br />

this aspect of the history of comput<strong>in</strong>g are strongly recommended to visit the website of the<br />

Southwest Museum of Eng<strong>in</strong>eer<strong>in</strong>g, Communications, <strong>and</strong> Computation, Glendale, AZ, <strong>and</strong><br />

consult their "K.D. Smith Collection". There are also two helpful sites devoted to wartime<br />

experiences with the British 3.7" Anti-Aircraft gun, one belong<strong>in</strong>g to the British 36th Heavy AA<br />

Revised August 5, 2008 Page 29 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Regiment, <strong>and</strong> the other to the New Zeal<strong>and</strong> Permanent Force Old Comrades' Association,<br />

both of which carry some <strong>in</strong>formative pictures.<br />

Of course, it was not just the ballistics <strong>in</strong>dustry which had computation needs. Other applications of<br />

analog comput<strong>in</strong>g technology were focus<strong>in</strong>g on solv<strong>in</strong>g the sort of large differential equations<br />

generated by nuclear physicists, electronics eng<strong>in</strong>eers, <strong>and</strong> astronomers. One of the most<br />

sophisticated of the early analog devices was an electromechanical differential analyser built at MIT <strong>in</strong><br />

the late 1920s by an electrical eng<strong>in</strong>eer named Vannevar Bush (1890-1974). This was completed <strong>in</strong><br />

1931 [picture], but the experience was dogged by difficulties with all the mov<strong>in</strong>g parts. Bush therefore<br />

started to draw on the radio <strong>in</strong>dustry's 30 years' experience with the thermionic valve .....<br />

Key Invention - The Thermionic Valve: In 1904, John (eventually Sir John) Ambrose Flem<strong>in</strong>g (1849-<br />

1945), of University College London <strong>and</strong> the Marconi Wireless Telegraph Company, <strong>in</strong>vented the<br />

thermionic valve (alternatively "valve", or "vacuum diode", or "rectify<strong>in</strong>g vacuum tube", or just "tube").<br />

In its simplest form, a valve consists of an evacuated glass globe similar <strong>in</strong> appearance to a small<br />

electric light bulb, conta<strong>in</strong><strong>in</strong>g two electrodes, one connected to a positive supply (the anode) <strong>and</strong> the<br />

other act<strong>in</strong>g as a hot filament cathode. Given the fundamental nature of electricity, this arrangement<br />

can only allow a current to pass <strong>in</strong> one direction - from cathode to anode, <strong>in</strong> the form of a beam of<br />

electrons usually referred to as a "cathode ray". Properly <strong>in</strong>corporated <strong>in</strong>to an electrical circuit,<br />

therefore, a vacuum diode could rectify alternat<strong>in</strong>g current. Subsequent development by the American<br />

Lee de Forest (1873-1961) <strong>in</strong>troduced a third electrode <strong>in</strong> between the cathode <strong>and</strong> the anode (thus<br />

turn<strong>in</strong>g the diode <strong>in</strong>to a "triode"). This additional electrode could block the cathode ray, <strong>and</strong> thus<br />

determ<strong>in</strong>e whether any current made it across to the anode. This allowed one part of a complex circuit<br />

to act as an electronic switch <strong>in</strong> another part. [To see some of the circuit diagrams <strong>in</strong>volved, click<br />

here; see also the separate entry for the Thyratron Valve immediately below.]<br />

Key Invention - Thyratron Valve: In 1913-1914, the Harvard physicist George Wash<strong>in</strong>gton Pierce<br />

(1872-1956) filed for patents <strong>in</strong> thermionic valves filled with mercury vapour rather than be<strong>in</strong>g<br />

evacuated. This significantly changes the unit's performance when <strong>in</strong>corporated <strong>in</strong>to an electrical<br />

circuit. For one th<strong>in</strong>g, a thyratron circuit can deliver higher output current, <strong>and</strong> for another the<br />

switch<strong>in</strong>g profile is different. In vacuum diode switch<strong>in</strong>g, for example, electrons will flow from the<br />

cathode to the anode whenever the electrode-electrode voltage exceeds a certa<strong>in</strong> critical value, <strong>and</strong><br />

this flow will then cease as soon as that voltage falls back below it. In a gas-filled diode, however, the<br />

gas provides an ionisable medium. This means that electrons from the hot cathode can, if the anode<br />

voltage is high enough, collide with ionised molecules on their way from cathode to anode. This then<br />

dislodges further electrons, which collide with other molecules, <strong>and</strong> so on, <strong>in</strong> <strong>in</strong>creas<strong>in</strong>g <strong>in</strong>tensity<br />

[further technicalities]. Aga<strong>in</strong> this only happens at a critical voltage, known as the "ionisation potential",<br />

but this time the ion flow is self-susta<strong>in</strong><strong>in</strong>g until the potential drops below a second, markedly lower,<br />

value known as the "de-ionisation potential". Properly <strong>in</strong>corporated <strong>in</strong>to a circuit, this allows a<br />

thyratron to "stay on" until "switched off". Thyratrons are thus good c<strong>and</strong>idates for "remember<strong>in</strong>g"<br />

pulses, <strong>and</strong> it was this memory-like property which led the Welsh physicist Charles E. Wynn-Williams<br />

to use them <strong>in</strong> his prototype logic circuit <strong>in</strong> 1931 (see below). In 1913, AT&T purchased De Forest's<br />

valve patents, <strong>and</strong> set up a research laboratory - the beg<strong>in</strong>n<strong>in</strong>gs of "Bell Telephone Laboratories" -<br />

to develop radio technology alongside its exist<strong>in</strong>g telephony <strong>and</strong> telegraphy <strong>in</strong>terests.<br />

Bush progressively replaced electromechanical units of his mach<strong>in</strong>e with valve-based electronic<br />

equivalents with no loss of performance until the basic design prevented him go<strong>in</strong>g any further. He<br />

then carried out a major redesign exercise, <strong>and</strong> spent the period 1935-1942 prepar<strong>in</strong>g a smaller,<br />

faster, but ultimately more powerful Differential Analyser Mark 2. Nevertheless, despite all the<br />

Revised August 5, 2008 Page 30 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

improvements, the fundamental representation <strong>in</strong> these differential analysers rema<strong>in</strong>ed analog, whilst<br />

the computers we are familiar with today act digitally, even when deal<strong>in</strong>g with cont<strong>in</strong>uous variables<br />

(see Part 1). Digital calculation was known to be possible, of course, but if you had a lot of numbers to<br />

crunch <strong>and</strong> wanted the answer <strong>in</strong> a hurry they were just too slow. If digital techniques were to<br />

compete with the follow-the-po<strong>in</strong>ter analog systems they needed to get a whole lot faster. Another<br />

<strong>in</strong>vention was sorely needed .....<br />

3 - Comput<strong>in</strong>g, 1935-1942 - The Digital Breakthrough<br />

The eventual challenge to the analog comput<strong>in</strong>g <strong>in</strong>dustry began to take shape <strong>in</strong> the late 1930s with<br />

three <strong>in</strong>dependent discoveries. The first of these took place <strong>in</strong> Brita<strong>in</strong>, when the Welsh physicist<br />

Charles E. Wynn-Williams (1903-1979) used thyratron valves to make both b<strong>in</strong>ary (1931, published<br />

1932) <strong>and</strong> decimal (1935) automatic event counters. This was followed between 1934 <strong>and</strong> 1938, <strong>in</strong><br />

Germany, by Konrad Zuse (1910-1995), a Henschel <strong>and</strong> Company aircraft eng<strong>in</strong>eer, who wired up<br />

some home-made relays to make a b<strong>in</strong>ary "logic circuit", <strong>and</strong> <strong>in</strong> America by George Stibitz (1904-<br />

1995), a Bell Labs eng<strong>in</strong>eer .....<br />

Key Invention - Electronic Logic Circuits: These are circuits capable of us<strong>in</strong>g the switch<strong>in</strong>g ability<br />

of valves to reflect simple mathematical processes. In 1931, at the Cavendish Laboratory <strong>in</strong><br />

Cambridge, Wynn-Williams devised valve-based circuitry as a data capture device for research<strong>in</strong>g<br />

nuclear particles. This circuit was capable of electronically simulat<strong>in</strong>g the process whereby plus<br />

gives (the b<strong>in</strong>ary version of "one plus one equals two"), complete with an electronic twoscarry<br />

mechanism, <strong>and</strong> was known as a "scale of two counter" (Wynn-Williams, 1932). By 1935, he<br />

had converted the f<strong>in</strong>al result back <strong>in</strong>to decimal for greater user-friendl<strong>in</strong>ess. Wynn-Williams' orig<strong>in</strong>al<br />

apparatus is preserved <strong>in</strong> Cambridge University's Whipple Museum.<br />

Wynn-Williams was a humble theoretical physicist, <strong>and</strong> was merely try<strong>in</strong>g to count atomic particles.<br />

Accord<strong>in</strong>gly, only Zuse <strong>and</strong> Stibitz proceeded with computer development, <strong>and</strong> Zuse was already<br />

ahead by several years. In 1934, as a newly qualified eng<strong>in</strong>eer, he began to spend his spare time<br />

design<strong>in</strong>g comput<strong>in</strong>g circuits, chanc<strong>in</strong>g eventually upon much the same technique as Stibitz <strong>in</strong> the US,<br />

albeit with older underly<strong>in</strong>g technology. Where Stibitz used valves to add columns of b<strong>in</strong>ary numbers,<br />

Zuse used h<strong>and</strong>-built relays. Zuse patented his design on 9th April 1936, began construction of a<br />

work<strong>in</strong>g prototype on his parents' liv<strong>in</strong>g room floor, <strong>and</strong> had his first operational mach<strong>in</strong>e, the Z1,<br />

ready <strong>in</strong> 1938 [more detailed account]. A facsimile of the Z1 is on show <strong>in</strong> the Berl<strong>in</strong> Technology<br />

Museum.<br />

The Z1 was not a particularly reliable piece of hardware, but it was b<strong>in</strong>ary computation nonetheless,<br />

<strong>and</strong> it was programmable <strong>in</strong> the sense that problems could be presented to it by punched tape<br />

<strong>in</strong>structions. Zuse was very clear on how his mach<strong>in</strong>e should be used, writ<strong>in</strong>g that "the prerequisite for<br />

every k<strong>in</strong>d of calculation is the construction of a program". He was thereby resurrect<strong>in</strong>g Babbage's<br />

strategic dream of a century beforeh<strong>and</strong> of a basically quite simple mach<strong>in</strong>e, able to do complicated<br />

th<strong>in</strong>gs by vary<strong>in</strong>g the comm<strong>and</strong> sequence, which, note, is the diametric opposite of the analog<br />

mach<strong>in</strong>es, where the complexity was built <strong>in</strong>to the hardware itself <strong>and</strong> the comm<strong>and</strong> sequence was<br />

m<strong>in</strong>imal.<br />

In fact, Zuse's only mistake was to have avoided valves. A friend of his, Helmut Schreyer (1912?-<br />

1985), suggested us<strong>in</strong>g them <strong>in</strong> 1936 because they, too, worked to yes/no logic <strong>and</strong> could flip from<br />

state to state much more quickly than relays, but Zuse chose not to take the risk because their burnout<br />

rate was too high. Instead, he decided to replace the scratch-built relays <strong>in</strong> the Z1's arithmetic<br />

Revised August 5, 2008 Page 31 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

module with proprietary ones. He tested this redesign <strong>in</strong> the Z2 (1938-1939), <strong>and</strong> then with the Z3<br />

(1939-1941). The Z3 consisted of a large cab<strong>in</strong>et hous<strong>in</strong>g 1400 memory relays (giv<strong>in</strong>g 64 22-bit words<br />

of storage), another full of 600 arithmetic relays, a 22-bit parallel bus, <strong>and</strong> an array of<br />

microsequencers <strong>in</strong> a control unit. It was demonstrated to the German military on 12th May 1941, but<br />

was actually too small <strong>and</strong> too slow to impress them. It was then destroyed <strong>in</strong> an air raid <strong>in</strong> 1944, but<br />

a facsimile is on show <strong>in</strong> the Deutsches Museum <strong>in</strong> Munich, <strong>and</strong> many commentators believe that<br />

because it came <strong>in</strong> a year ahead of the ABC it rates as the world's first computer. Here is an analysis<br />

of the Z3's strengths <strong>and</strong> weakness, measured aga<strong>in</strong>st the criteria of modernity discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

No -<br />

electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

Yes Yes - as with modern<br />

computers, <strong>in</strong>put <strong>and</strong><br />

output was <strong>in</strong> decimal,<br />

but this was converted<br />

to pass through a<br />

central b<strong>in</strong>ary logic unit<br />

Revised August 5, 2008 Page 32 of 190<br />

General Purpose<br />

rather than<br />

Specialised<br />

Yes, with<strong>in</strong> the<br />

limitations of its<br />

rudimentary <strong>in</strong>struction<br />

set<br />

Stibitz, too, was short of resources, because although Bell Labs immediately set him to work on a fully<br />

sized mach<strong>in</strong>e (see the entry for the Bell Complex Number Computer <strong>in</strong> the data table at the end of<br />

this paper), they had a lot of other defence contracts on the go, <strong>and</strong> could not give the project their<br />

undivided attention [see the Southeast Museum of Eng<strong>in</strong>eer<strong>in</strong>g, Communications, <strong>and</strong> Computation's<br />

e-exhibition on Bell Labs at war]. As a result, the honour for be<strong>in</strong>g the first to put such an electronic<br />

digital computer together has s<strong>in</strong>ce been adjudged under US patent law to go to John V<strong>in</strong>cent<br />

Atanasoff (1903-1995) <strong>and</strong> Clifford Berry (1918-1963) of Iowa State University (ISU). After his<br />

childhood adventures with his father's slide rule (see Part 1), Atanasoff graduated from the University<br />

of Florida at Ga<strong>in</strong>esville <strong>in</strong> 1925, <strong>and</strong> jo<strong>in</strong>ed ISU as a masters student. His studies completed, he then<br />

moved to Madison, WI, to complete his PhD, <strong>and</strong> his ISU biographers expla<strong>in</strong> how while complet<strong>in</strong>g<br />

his doctoral thesis he spent many hours crunch<strong>in</strong>g numbers on a Marchant calculator, a thoroughly<br />

tiresome experience which resolved him to develop a better <strong>and</strong> faster way of do<strong>in</strong>g th<strong>in</strong>gs. Atanasoff<br />

received his PhD <strong>in</strong> theoretical physics <strong>in</strong> 1930, <strong>and</strong> returned to ISU as a lecturer. This exposed him<br />

to the work of Bush <strong>and</strong> Stibitz, <strong>and</strong> through 1938-1939 he researched some novel design ideas of his<br />

own. When he asked for an assistant, he was assigned Berry, a well-recommended young graduate<br />

who had h<strong>and</strong>-built his own radio at the age of 11 years, <strong>and</strong> <strong>in</strong> 1939 they began work on a mach<strong>in</strong>e<br />

to put Stibitz's circuit designs <strong>in</strong>to operation. The result<strong>in</strong>g Atanasoff-Berry Computer (ABC) used<br />

b<strong>in</strong>ary arithmetic logic circuits, <strong>and</strong> was completed <strong>in</strong> 1942 [for further details visit the Ames Lab, Iowa<br />

State University website]. Here is an analysis of the ABC's strengths <strong>and</strong> weakness, measured<br />

aga<strong>in</strong>st the ma<strong>in</strong> criteria of modernity discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

General Purpose<br />

rather than<br />

Specialised


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Yes (valve-based) Yes Yes No<br />

4 - Timel<strong>in</strong>e, 1925-1942<br />

And f<strong>in</strong>ally, here is a timel<strong>in</strong>e for the period from 1925 to 1942. The material conta<strong>in</strong>ed is from many<br />

sources, <strong>in</strong>clud<strong>in</strong>g Berkeley (1949/1961), Wilkes (1956), Holl<strong>in</strong>gdale <strong>and</strong> Tootill (1965), <strong>and</strong> Evans<br />

(1983):<br />

Name/<br />

Claim to Fame<br />

JAKOB<br />

First generation analog<br />

flak predictor<br />

IBM600 series Tabulat<strong>in</strong>g<br />

Mach<strong>in</strong>es<br />

Differential Analyser Mark<br />

1<br />

Largest analog computer<br />

to date.<br />

Flakkomm<strong>and</strong>ohilfsgerät<br />

35<br />

Second generation<br />

analog flak predictor<br />

Model K<br />

First US prototype<br />

electronic b<strong>in</strong>ary logic<br />

circuit calculat<strong>in</strong>g<br />

mach<strong>in</strong>e<br />

Z1<br />

First German prototype<br />

Project Leader(s)/<br />

Purpose<br />

German military<br />

Ballistics calculations<br />

Commercial <strong>and</strong><br />

scientific data h<strong>and</strong>l<strong>in</strong>g<br />

Date/<br />

Sponsor<br />

Operational 1917<br />

Carl Zeiss-Jena<br />

1930s<br />

Remarks<br />

Revised August 5, 2008 Page 33 of 190<br />

IBM<br />

Vannevar Bush Started mid-1920s<br />

German military<br />

Ballistics calculations<br />

Operational 1931<br />

In development until<br />

1935 when replaced by<br />

Mark 2<br />

MIT<br />

1935<br />

George Stibitz 1937<br />

Konrad Zuse <strong>and</strong><br />

Helmut Schreyer<br />

Carl Zeiss-Jena<br />

Bell Telephone<br />

Laboratories<br />

1936-1938<br />

No major sponsor.<br />

The latest "sort <strong>and</strong><br />

tabulate" punched<br />

card systems.<br />

Initially<br />

electromechanical, but<br />

later modified to<br />

<strong>in</strong>clude some<br />

electronic subassemblies.<br />

Prototype only - the<br />

"K" st<strong>and</strong>s for "kitchen<br />

table", which is where<br />

Stibitz did his basic<br />

experimentation.<br />

The memory <strong>and</strong><br />

arithmetic unit<br />

components were


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

electromechanical b<strong>in</strong>ary<br />

logic circuit calculat<strong>in</strong>g<br />

mach<strong>in</strong>e/ computer<br />

Z2 Konrad Zuse <strong>and</strong><br />

Helmut Schreyer<br />

Complex Number<br />

Computer<br />

First b<strong>in</strong>ary computer to<br />

be operated over a<br />

telephone l<strong>in</strong>e<br />

Atanasoff-Berry<br />

Computer (ABC)<br />

First valve-based b<strong>in</strong>ary<br />

digital computer<br />

Z3<br />

First German<br />

electromechanical digital<br />

computer<br />

Differential Analyser Mark<br />

2<br />

George Stibitz <strong>and</strong><br />

Samuel Williams<br />

John Atanasoff <strong>and</strong><br />

Clifford Berry<br />

Scientific comput<strong>in</strong>g<br />

1938-1939<br />

No major sponsor.<br />

Started 1939<br />

Operational January<br />

1940<br />

Bell Telephone<br />

Laboratories<br />

Started 1939<br />

Operational 1942<br />

Iowa State University<br />

Konrad Zuse Started 1939<br />

Demonstrated 12th<br />

May 1941, Berl<strong>in</strong>,<br />

Germany<br />

Vannevar Bush 1935-1942<br />

Part 3 - A Brief History of Comput<strong>in</strong>g Technology, 1943 to 1950<br />

1 - Computerised Cryptanalysis<br />

entirely h<strong>and</strong> made.<br />

An improved version<br />

of the Z1, <strong>in</strong> which the<br />

h<strong>and</strong> made units of<br />

the arithmetic unit<br />

were replaced with<br />

relays.<br />

Also known as Bell<br />

Labs "Model 1 Relay<br />

Computer". Not<br />

surpris<strong>in</strong>gly, given its<br />

pedigree, the mach<strong>in</strong>e<br />

ended up be<strong>in</strong>g built<br />

largely out of<br />

scavenged telephone<br />

exchange<br />

components.<br />

The full potential of<br />

this mach<strong>in</strong>e was not<br />

developed, s<strong>in</strong>ce it did<br />

not get development<br />

sponsorship from the<br />

German military.<br />

Clever though the ABC <strong>and</strong> Z3 (see Part 2) may have been, the fates chose to ignore them. They<br />

were not lucky systems. They lacked political, f<strong>in</strong>ancial, <strong>and</strong>/or academic clout, <strong>and</strong> as a result simply<br />

got sidel<strong>in</strong>ed by history. Atanasoff's Iowa State biographers assure us that he left fil<strong>in</strong>g the patent to<br />

Revised August 5, 2008 Page 34 of 190<br />

MIT


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

his University, who then lost the paperwork, <strong>and</strong> when Zuse's prototype was demonstrated to the<br />

Wehrmacht they decided that the system's benefits were unlikely to justify the development costs. But<br />

there were lucky systems as well, <strong>and</strong> while Zuse had been fund<strong>in</strong>g the Z3 largely out of his own<br />

salary, the big boys were about to s<strong>in</strong>k fortunes <strong>in</strong>to computer development projects which could not<br />

be allowed to fail. Three ma<strong>in</strong> wartime driv<strong>in</strong>g forces may be identified, namely (a) computation for<br />

code break<strong>in</strong>g, (b) computation for ballistics, <strong>and</strong> (c) computation for the nuclear physicists develop<strong>in</strong>g<br />

the atomic bomb. The first six sections of the paper specifically address the first of these histories, so,<br />

before proceed<strong>in</strong>g, readers unfamiliar with the use of codes <strong>and</strong> ciphers <strong>in</strong> political <strong>and</strong><br />

military history <strong>in</strong> general, should read the first two parts of our three-part subord<strong>in</strong>ate paper<br />

"Codes <strong>and</strong> Ciphers <strong>in</strong> History", as follows .....<br />

..... <strong>and</strong> readers unfamiliar with the pr<strong>in</strong>ciples of the German World War Two cipher mach<strong>in</strong>es<br />

<strong>in</strong> particular, should additionally read the third part of said paper, as follows:<br />

1.1 Computerised Cryptanalysis (1930-1939 - The Polish Bomby)<br />

As expla<strong>in</strong>ed towards the end of "Codes <strong>and</strong> Ciphers <strong>in</strong> History", the story of mechanically assisted<br />

cryptography began with simple contrivances like Alberti's cipher disk, <strong>and</strong> moved on dur<strong>in</strong>g the<br />

1920s to multiple disk keyboard scramblers such as the German Enigma system. The technology was<br />

then blooded <strong>in</strong> Pol<strong>and</strong> dur<strong>in</strong>g the run-up to the Second World War, when, as likely enemies of a<br />

resurgent Germany, the Poles resolved to decipher their neighbour's Enigma traffic. This exercise<br />

began as soon as the German army adopted the Enigma system <strong>in</strong> 1928 (Bury, 2002 onl<strong>in</strong>e), <strong>and</strong><br />

<strong>in</strong>volved three mathematics graduates from Poznan University - Marian Rejewski, Jerzy Rozycki, <strong>and</strong><br />

Henryk Zygalski. These three young men were recruited straight out of university <strong>in</strong>to a special Biuro<br />

Szyfrów (= Cipher Bureau) project <strong>in</strong> early 1930, <strong>and</strong> by pa<strong>in</strong>stak<strong>in</strong>g work, plus experience of the<br />

simpler commercially available mach<strong>in</strong>es, managed by 1932 to work out the Enigma's <strong>in</strong>ternal wir<strong>in</strong>g<br />

logic, that is to say, the top secret r<strong>and</strong>omis<strong>in</strong>g connections pressed <strong>in</strong>to the <strong>in</strong>ner r<strong>in</strong>g of each Hebern<br />

wheel (see Part 3 of the support<strong>in</strong>g historical review). They immediately built a number of replica<br />

Enigmas of their own, <strong>and</strong> by January 1933 were decipher<strong>in</strong>g live German transmissions.<br />

Now the reason the Enigma story is central to the history of comput<strong>in</strong>g, is that the Poles also made<br />

significant progress automat<strong>in</strong>g the cryptanalytical process. By November 1938, they had developed a<br />

"bomba kryptologiczna", <strong>in</strong> which six of their replica Enigmas were mechanically l<strong>in</strong>ked together,<br />

<strong>and</strong> motor-driven through permutation after permutation until the output of one of them matched a preset<br />

target value, whereupon the whole contraption stopped automatically, with the probable Enigma<br />

Grundstellung clearly displayed.<br />

ASIDE: The po<strong>in</strong>t of us<strong>in</strong>g six replica mach<strong>in</strong>es, is that each had its rotors set <strong>in</strong> a different left-to-right<br />

order, one for each of the Walzenlage permutations possible with a three-from-three Enigma. The<br />

process could have been executed on a s<strong>in</strong>gle replica mach<strong>in</strong>e, but this would have been able to deal<br />

with only one Walzenlage at a time, so on an unlucky day would take up to six times as long to f<strong>in</strong>ish.<br />

This is a very early demonstration of the advantage of parallel over serial process<strong>in</strong>g. The<br />

bomby allowed the Polish cryptanalysts to do all the necessary trial <strong>and</strong> error work at mach<strong>in</strong>e speed,<br />

<strong>and</strong> the system was so successful that Bury estimates that the Biuro Szyfrów decoded around<br />

100,000 transmissions <strong>in</strong> the six years before Pol<strong>and</strong> was eventually occupied. Kahn (1996, p975)<br />

describes the bomby as "the roots of protocomputers".<br />

Revised August 5, 2008 Page 35 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Unfortunately, the Poles lost the naval traffic on 1st May 1937, as a consequence of the Kriegsmar<strong>in</strong>e<br />

tighten<strong>in</strong>g its operat<strong>in</strong>g procedures [see next section but two], <strong>and</strong> to rub salt <strong>in</strong>to their wounds they<br />

then lost the army traffic on 15th December 1938, when the three-from-five Enigma was <strong>in</strong>troduced.<br />

ASIDE: As soon as the Germans <strong>in</strong>creased the available rotor stock, the number of possible<br />

Walzenlage permutations started to shoot up. For example, there are 10 different ways of select<strong>in</strong>g<br />

three out of five rotors, <strong>and</strong> then - as before - six different ways of sequenc<strong>in</strong>g the three you have<br />

selected <strong>in</strong>to the available slots, mak<strong>in</strong>g 60 permutations <strong>in</strong> all. So <strong>in</strong> go<strong>in</strong>g from three to five rotors, it<br />

takes you from six to 60 permutations: one small step for the cryptographers, but ten times as much<br />

work for your enemies.<br />

But what the Poles were really short of, of course, was time, <strong>and</strong> by late June 1939 it was apparent<br />

that the German <strong>in</strong>vasion was not far off. The Polish Chiefs-of-Staff therefore resolved to share their<br />

accumulated Enigma secrets with their French <strong>and</strong> British allies. An approach accord<strong>in</strong>gly went out<br />

through diplomatic channels, <strong>and</strong> ended up on the desk of Comm<strong>and</strong>er Alex<strong>and</strong>er G.A. ("Alastair")<br />

Denniston (1881-1961).<br />

BACKGROUND: Denniston had been a code break<strong>in</strong>g expert dur<strong>in</strong>g World War One, <strong>and</strong> had kept<br />

"Bl<strong>in</strong>ker" Hall's Room 40 skill base alive by form<strong>in</strong>g the Government Code <strong>and</strong> Cypher [sic] School<br />

(GCCS) <strong>in</strong> 1920. He had then run GCCS (known cryptically as "Station X") as a small peacetime unit<br />

attached to the Foreign Office, where it could serve the diplomatic <strong>and</strong> peacetime military <strong>in</strong>telligence<br />

worlds. The organisation was then progressively exp<strong>and</strong>ed dur<strong>in</strong>g the 1930s, as it became more <strong>and</strong><br />

more apparent that another war was on its way, <strong>and</strong> was moved out of London <strong>in</strong> 1938 to the newly<br />

acquired house <strong>and</strong> estate of Bletchley Park [picture <strong>and</strong> virtual tour]. It was from this base that it<br />

formed a key element <strong>in</strong> a high level British military <strong>in</strong>telligence project codenamed "Ultra".<br />

Realis<strong>in</strong>g the potential importance of the Polish work, Denniston personally led a top-secret mission <strong>in</strong><br />

late July 1939 to the Biuro Szyfrów station hidden <strong>in</strong> the Lasy Kabackie, the woods outside Pyry, a<br />

small town south of Warsaw. He was accompanied by Alfred Dillwyn ("Dilly") Knox (1884-1943), one<br />

of his long-term Room 40 colleagues, <strong>and</strong> Comm<strong>and</strong>er Humphrey S<strong>and</strong>with, of the naval <strong>in</strong>telligence<br />

service. Together, they toured the Polish decod<strong>in</strong>g school, observed their methods, studied their thusfar-unsuccessful<br />

attempts to defeat the three-from-five Enigmas, <strong>and</strong> brought back specimens of the<br />

sort of paperwork which needed to be done before a bomba could be set to work. The Poles also<br />

offered them one of the replica Enigmas, <strong>and</strong> this seems to have been brought out of the country <strong>in</strong> a<br />

diplomatic bag a few days later, <strong>and</strong> collected personally by Colonel (later Sir) Stewart Graham<br />

Menzies, head of MI6, <strong>in</strong> a furtive suitcase-swap at London's Victoria Station dur<strong>in</strong>g that August (Kahn,<br />

1991).<br />

ASIDE: As head of Brita<strong>in</strong>'s Secret <strong>Intelligence</strong> Service (MI6), Menzies would have been referred to<br />

with<strong>in</strong> the profession as "C". The role (<strong>and</strong> possibly the person himself) was subsequently fictionalised<br />

as "M", by a certa<strong>in</strong> Ian Flem<strong>in</strong>g.<br />

The German blitzkrieg aga<strong>in</strong>st Pol<strong>and</strong> f<strong>in</strong>ally began on 1st September 1939, <strong>and</strong> was followed two<br />

weeks later by a carefully synchronised Russian <strong>in</strong>vasion from the east. Caught between two giants,<br />

the immediate military outcome was a foregone conclusion, <strong>and</strong> as their defences collapsed around<br />

them the Biuro Szyfrów destroyed its heavy equipment <strong>and</strong> evacuated its key personnel to France,<br />

where dur<strong>in</strong>g October they became part of a jo<strong>in</strong>t French-Polish decryption unit known as "Bruno".<br />

This unit was housed <strong>in</strong> the Chateau de Vignolles [picture] (a sort of French Bletchley Park), at Gretz-<br />

Arma<strong>in</strong>villiers, just outside Paris, <strong>and</strong> there they rema<strong>in</strong>ed until the fall of France <strong>in</strong> June 1940,<br />

Revised August 5, 2008 Page 36 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

whereupon they had to be evacuated aga<strong>in</strong>, this time to Algiers [for these adventures <strong>in</strong> greater detail,<br />

plus the story of what happened to them next, click here].<br />

1.2 Computerised Cryptanalysis (1939 - The Jeffries Sheets)<br />

Upon Denniston's return from Warsaw, he immediately reorganised his Bletchley Park resources. Not<br />

unreasonably, given the Polish successes, his strategy was (a) to recruit as many university geniuses<br />

as he could get his h<strong>and</strong>s on, (b) to break back <strong>in</strong>to the improved three-from-five <strong>and</strong> naval systems,<br />

(c) to pass the result<strong>in</strong>g <strong>in</strong>tercepts to Churchill <strong>and</strong> his Chiefs-of-Staff, who would use the <strong>in</strong>telligence<br />

ga<strong>in</strong>ed to help operational plann<strong>in</strong>g, <strong>and</strong> (d) to build some suitably wired bomby of his own. He then<br />

allocated his available staff to a number of "huts". Huts 6 <strong>and</strong> 3 would address the Army <strong>and</strong> Luftwaffe<br />

Enigma systems (Hut 6 do<strong>in</strong>g the primary cryptanalysis, <strong>and</strong> Hut 3 h<strong>and</strong>l<strong>in</strong>g the result<strong>in</strong>g translation<br />

<strong>and</strong> onward rout<strong>in</strong>g), Huts 8 <strong>and</strong> 4 would carry out cognate duties on the Kriegsmar<strong>in</strong>e codes, <strong>and</strong><br />

Hut 3N would ensure that noth<strong>in</strong>g fell down the cracks between l<strong>and</strong>, air, <strong>and</strong> sea. Two special<br />

<strong>Intelligence</strong> Sections (ISOS <strong>and</strong> ISK) would conduct primary cryptanalysis of the Abwehr traffic,<br />

although follow-up process<strong>in</strong>g for this stream was carried out elsewhere by reason of its sensitivity<br />

(Tw<strong>in</strong>n, 1993). W. Gordon Welchman (1906-1985) was made responsible for expansion of the<br />

establishment dur<strong>in</strong>g that autumn as new staff poured <strong>in</strong> (Welchman, 1982), <strong>and</strong> additional units were<br />

set up as numbers grew. Here, by department, are some of the names mentioned <strong>in</strong> the literature:<br />

Department Officer<br />

Comm<strong>and</strong><strong>in</strong>g<br />

Hut 3 Malcolm<br />

Saunders<br />

Eric (later Sir<br />

Eric) Jones (from<br />

mid-1942)<br />

Hut 3N (= Hut<br />

3/4 Liaison)<br />

Hut 4<br />

(aka "Naval<br />

Section")<br />

Team Duties<br />

Frederick Norman; Ralph Bennett (from<br />

February 1941); William Millward (from<br />

April 1942); Telford Taylor (US liaison;<br />

from 1943).<br />

Revised August 5, 2008 Page 37 of 190<br />

Army <strong>and</strong> Luftwaffe<br />

Enigma translation <strong>and</strong><br />

<strong>in</strong>itial follow-up<br />

(support<strong>in</strong>g Hut 6).<br />

N/K Edward Thomas (from February 1942) Covered the grey area<br />

where army, air force,<br />

<strong>and</strong> navy matters<br />

<strong>in</strong>teract.<br />

Walter Eytan (Z<br />

Watch, from<br />

February 1941)<br />

Hut 6 Gordon<br />

Welchman<br />

(September<br />

1939); Stuart<br />

Milner-Barry<br />

(1940)<br />

Harry H<strong>in</strong>sley (from October 1939); Alec<br />

Dak<strong>in</strong> (from May 1940), Patrick<br />

Wilk<strong>in</strong>son; Charles Leech, Gordon<br />

Priest, Eric (later Sir Eric) Turner, Ann<br />

Toulm<strong>in</strong>; Leonard Forster; Ernest<br />

Ett<strong>in</strong>ghausen; Thelma Ziman; Vivienne<br />

Alford; Peter Tw<strong>in</strong>n<br />

Naval Enigma<br />

translation <strong>and</strong> <strong>in</strong>itial<br />

follow-up (support<strong>in</strong>g<br />

Hut 6).<br />

Derek Taunt; Dennis Babbage Army <strong>and</strong> Luftwaffe<br />

Enigma primary<br />

cryptanalysis.<br />

Hut 8 Comm<strong>and</strong>er Joan Murray (June 1940); Hugh Naval Enigma primary


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Edward (later Sir<br />

Edward) Travis<br />

Alan ("Prof")<br />

Tur<strong>in</strong>g<br />

The Newmanry Max Newman<br />

(from September<br />

1942)<br />

The Testery<br />

(Part of Block F)<br />

Major Ralph<br />

Tester<br />

Hut 7 John Tiltman<br />

The Cottage -<br />

<strong>Intelligence</strong><br />

Sections OS<br />

<strong>and</strong> K<br />

Oliver Strachey<br />

(= OS) <strong>and</strong><br />

Dillwyn Knox (=<br />

K)<br />

Alex<strong>and</strong>er;<br />

Alex Kendrick; Jack Good (May 1941 to<br />

April 1943); Hugh Foss; Leslie Yoxall;<br />

Shaun Wylie; Michael Ashcroft; Richard<br />

Pendered<br />

Jack Good (from May 1943); David<br />

Rees; Bill Tutte<br />

Roy Jenk<strong>in</strong>s; Alan Tur<strong>in</strong>g; Peter<br />

Benenson; Peter Hilton; Donald Michie<br />

John Jeffries; Keith Batey; Mavis Lever;<br />

Margaret Rock<br />

cryptanalysis.<br />

Abwehr non-Enigma<br />

<strong>and</strong> Enigma traffic<br />

respectively -<br />

cryptanalysis <strong>and</strong><br />

onward despatch.<br />

Denniston's strategy immediately led him to a young mathematician named Alan Tur<strong>in</strong>g .....<br />

ASIDE: In wartime, the military draw heavily on the services of civilian academics <strong>and</strong> eng<strong>in</strong>eers,<br />

especially <strong>in</strong> the areas of physics, mathematics, <strong>and</strong> telecommunications. These were rout<strong>in</strong>ely<br />

referred to as "boff<strong>in</strong>s", <strong>and</strong> <strong>in</strong> this section we meet one of the boff<strong>in</strong>est, Alan Mathison Tur<strong>in</strong>g<br />

(1912-1954). Tur<strong>in</strong>g had achieved early academic fame with a 1937 paper entitled "On computable<br />

numbers, with an application to the Entscheidungsproblem" (Tur<strong>in</strong>g, 1937). In this paper, he proposed<br />

a hypothetical decision-mak<strong>in</strong>g mach<strong>in</strong>e, fed with a series of simple yes-no questions from a paper<br />

tape <strong>in</strong>put. The philosophical issue was whether there was any mathematical problem which could not<br />

be programmed <strong>in</strong> this way (Tur<strong>in</strong>g used the phrase "calculable by f<strong>in</strong>ite means"). Tur<strong>in</strong>g concluded<br />

that <strong>in</strong> fact there were such problems, albeit not many, <strong>and</strong> his hypothetical mach<strong>in</strong>e is now commonly<br />

seen as the idealised b<strong>in</strong>ary digital computer, or "Universal Tur<strong>in</strong>g Mach<strong>in</strong>e". The Tur<strong>in</strong>g Archive for<br />

the History of Comput<strong>in</strong>g <strong>and</strong> the K<strong>in</strong>g's College Cambridge Tur<strong>in</strong>g Digital Archive conta<strong>in</strong> digital<br />

facsimiles of many of Tur<strong>in</strong>g's wartime papers, now declassified.<br />

Tur<strong>in</strong>g reported for duty on 4th September 1939 (Hodges, 1992), <strong>and</strong> was jo<strong>in</strong>ed shortly afterwards by<br />

another Cambridge mathematician, John Jeffries, already an expert on ciphers. The most logical way<br />

to fulfil Denniston's masterplan was therefore to give Jeffries the job of attack<strong>in</strong>g the logic of the cipher,<br />

while Tur<strong>in</strong>g drew up plans for the comput<strong>in</strong>g mach<strong>in</strong>e to deal with it on a day-to-day basis once it had<br />

been broken. Jeffries' work exposed him immediately to the Lasy Kabackie papers, amongst which<br />

were some pen-<strong>and</strong>-paper cryptanalytic techniques devised by Zygalski, <strong>and</strong> known therefore as<br />

"Zygalski Sheets". These were rotor analysis matrices which when appropriately punched <strong>and</strong><br />

stacked (for details, see Savard, 2002 onl<strong>in</strong>e) would reveal likely Walzenläge. One large matrix was<br />

needed for every letter of the alphabet for every Walzenlage permutation. For the old three-from-three<br />

Enigmas, this meant 26 sheets for each of the six possible Walzenläge, <strong>and</strong> for the new three-fromfive<br />

Enigmas, it meant ten times as many [see previous <strong>in</strong>set]. Welchman (1982) gives fuller details of<br />

the "perforated sheet" approach to cryptanalysis, if <strong>in</strong>terested.<br />

Revised August 5, 2008 Page 38 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

By December 1939, the new "Jeffries Sheets" were ready (60 sets, one for each possible Walzenlage<br />

aga<strong>in</strong>, <strong>and</strong> each set conta<strong>in</strong><strong>in</strong>g 26 matrices), <strong>and</strong> by one account Tur<strong>in</strong>g delivered them <strong>in</strong> person to<br />

Rozecki, Zygalski <strong>and</strong> Rejewski, now codenamed "Equipe Z" (= "Team Z"), at Vignolles, where - after<br />

just over a year <strong>in</strong> the dark - they enabled the first successful decryption of a three-from-five Enigma<br />

on 17th January 1940.<br />

The Allies were now free to resurrect the pr<strong>in</strong>ciples of the Polish bomby, namely to work through the<br />

Walzenläge from the first to the 60th, search<strong>in</strong>g for a fragment of pre-set "cribtext" .....<br />

Key Concept - The "Crib": Cryptologically speak<strong>in</strong>g, a "crib" is a short fragment of known or strongly<br />

suspected ciphertext content. Many cribs derived from the repetitive nature of military communication.<br />

For example, many units reported NICHTSZUMELDEN (= "noth<strong>in</strong>g to report") on a daily basis, or their<br />

radio operators would send a pro forma tun<strong>in</strong>g message before anyth<strong>in</strong>g else (Taunt, 1993). The<br />

other ma<strong>in</strong> sources of cribs were (a) weather reports, (b) proper names, (c) pla<strong>in</strong> old-fashioned<br />

operator bad practice, <strong>and</strong> (d) deliberately creat<strong>in</strong>g an operational event <strong>and</strong> then check<strong>in</strong>g to see<br />

how it was reported the next day (a process known as "seed<strong>in</strong>g").<br />

The Enigma cribs were given added importance by one of the system's basic design features, namely<br />

that no letter was allowed to encrypt as itself. This meant that if you aligned a slip of cribtext above a<br />

l<strong>in</strong>e of ciphertext, no vertical pair of characters could be the same. If they were, then the crib could<br />

not exist at that position. Milner-Barry (Hut 6) summarises the argument this way:<br />

"If, for example, you were look<strong>in</strong>g for the most likely position [for the word] Besonderen [= "special"],<br />

<strong>and</strong> you noticed that under the [cribtext] B <strong>in</strong> Besonderen was another B, you would know for a<br />

certa<strong>in</strong>ty that that could not be the right position." (Milner-Barry, 1993, p94.)<br />

It followed that if a crib could be logically excluded <strong>in</strong> all text positions, then either (a) the crib was<br />

wrong, or (b) the crib was right, <strong>and</strong> that particular mach<strong>in</strong>e sett<strong>in</strong>g could be excluded; <strong>and</strong> on<br />

most days, on rout<strong>in</strong>e <strong>in</strong>tercepts, you had very high levels of confidence <strong>in</strong> the crib. Tak<strong>in</strong>g this<br />

argument a step further, if you could carry out this process of elim<strong>in</strong>ation at speed <strong>and</strong> exclude all<br />

mach<strong>in</strong>e sett<strong>in</strong>gs except one, then that would be the one to use to decipher that day's <strong>in</strong>tercepts.<br />

1.3 Computerised Cryptanalysis (1940-1941 - The Bombes)<br />

Key Locations - BTM: In this section, we meet "BTM", the British Tabulat<strong>in</strong>g Mach<strong>in</strong>e Company<br />

premises at Letchworth, Hertfordshire. BTM was formed <strong>in</strong> 1908, as a London-based licensee of<br />

Hollerith punched card technology (see Part 1). The company was renamed International Computers<br />

<strong>and</strong> Tabulators <strong>in</strong> 1959, acquired Ferranti's comput<strong>in</strong>g division <strong>in</strong> 1963, <strong>and</strong> merged with English<br />

Electric to form International Computers Ltd (ICL) <strong>in</strong> 1968. ICL was the British comput<strong>in</strong>g <strong>in</strong>dustry <strong>in</strong><br />

the 1970s <strong>and</strong> 1980s, but was taken over by Fujitsu Corporation <strong>in</strong> 1990. The marque was f<strong>in</strong>ally<br />

withdrawn (for market<strong>in</strong>g image purposes) <strong>in</strong> 2001.<br />

The bombes were put together by BTM at their Letchworth factory, <strong>and</strong> Welchman (1982) dates the<br />

experimental systems to September 1940 (the first was nicknamed "Agnes"). However, Welchman<br />

also estimates that it took another year or so before they started to take the pressure off the pen-<strong>and</strong>paper<br />

techniques. Indeed, Welchman repeatedly stressed that the bombes themselves did not break<br />

codes, but that people did. The process<strong>in</strong>g logic meant that the more mach<strong>in</strong>es you had, the shorter<br />

could be the Walzenlage tape for each, <strong>and</strong> the quicker you could get your results. About six bombes<br />

were operational by mid-1941, <strong>and</strong> perhaps twelve by late summer (Welchman, 1982). Production<br />

Revised August 5, 2008 Page 39 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

then proceeded at about one mach<strong>in</strong>e per week, the mach<strong>in</strong>es be<strong>in</strong>g transported from the BTM<br />

factory without escort to avoid attract<strong>in</strong>g anybody's attention. Different mach<strong>in</strong>es serviced different<br />

huts, <strong>and</strong> different regional or adm<strong>in</strong>istrative networks with<strong>in</strong> huts. Worthwhile <strong>in</strong>telligence started to<br />

appear <strong>in</strong> the July 1940 defence of Norway (Thomas, 1993), <strong>and</strong> there were also successes <strong>in</strong> the<br />

evacuation of the Aegean <strong>in</strong> early 1941, <strong>and</strong> <strong>in</strong> the war aga<strong>in</strong>st the Afrika Korps' supply convoys later<br />

that same year.<br />

1.4 Computerised Cryptanalysis (1941-1942 - The Naval Enigmas)<br />

With the German army <strong>and</strong> air force codes under some semblance of control, attention turned to the<br />

Kriegsmar<strong>in</strong>e system. This had been a much tighter system s<strong>in</strong>ce the <strong>in</strong>troduction of more vigorous<br />

procedural protection for the message header on 1st May 1937, but it was nevertheless strategically<br />

vital for it to be defeated, because it was the key to counter<strong>in</strong>g the German U-boat offensive. This is<br />

how Irv<strong>in</strong>g John ("Jack") Good (1916-), who jo<strong>in</strong>ed the team <strong>in</strong> May 1941, summarised the complex<br />

Kriegsmar<strong>in</strong>e operat<strong>in</strong>g procedure [we recommend sketch<strong>in</strong>g out his worked example as you go]:<br />

"The German operator would haphazardly choose the sett<strong>in</strong>gs for the three wheels as shown by the<br />

r<strong>in</strong>gs, say ASC, but he would not send ASC <strong>in</strong> clear. Instead, he would first set the wheels at [the key<br />

of the day] Grundstellung [<strong>and</strong>] tap out ASCASC. [This] would give him a hexagraph, say LQRCPY.<br />

He would write this <strong>in</strong> the pattern [L over space, Q over C, R over P, <strong>and</strong> space over Y] <strong>and</strong> fill <strong>in</strong> the<br />

[result<strong>in</strong>g four-by-two] rectangle with two letters that he chose haphazardly. For example [O bottom<br />

left <strong>and</strong> T top right]. Next he would encrypt the vertical digraphs LO, QC, RP, <strong>and</strong> TY by us<strong>in</strong>g a<br />

secret 'digraph table'. There were ten possible digraph tables (fixed for an appreciable time, perhaps<br />

of the order of a year), <strong>and</strong> which of the ten he was to use would be shown by part of the keys of the<br />

day. For example, LO might become TU, QC might become AH, RP might become LS, <strong>and</strong> TY might<br />

become IU. Then his rectangle would become [TALI over UHSU]. Then at last he would transmit TALI<br />

UHSU. The legitimate receiver would use the same procedure <strong>in</strong> reverse order to recover the true<br />

<strong>in</strong>itial wheel-sett<strong>in</strong>gs for the message, <strong>and</strong> he would get a check because of the repetition. I noticed<br />

on one night shift that about twenty messages were enough to identify which digraph table was <strong>in</strong><br />

use." (Good, 1993, pp155-156.)<br />

Fortunately, May 1941 turned out to be a doubly lucky month for British codebreak<strong>in</strong>g. Firstly, a copy<br />

of the June 1941 codebook was recovered from a captured German trawler, <strong>and</strong> secondly one of the<br />

mach<strong>in</strong>es itself was recovered from a captured U-Boat (U-110). This gave sufficient specific<br />

background <strong>in</strong>formation for the naval Enigma to be effectively broken for the rema<strong>in</strong>der of that year.<br />

Then came more om<strong>in</strong>ous news. Thomas (Hut 3N) tells how <strong>in</strong> August 1941 he <strong>in</strong>spected the <strong>in</strong>side<br />

of captured U-570 (Thomas, 1993). No code books or mach<strong>in</strong>es were recovered on this occasion, for<br />

the crew had ditched these over the side, but what they had not ditched was the transportation box for<br />

a mach<strong>in</strong>e still under test, which, Thomas noted, was recessed to accommodate a four-slot mach<strong>in</strong>e,<br />

rather than three. It subsequently transpired that the Kriegsmar<strong>in</strong>e was about to upgrade to a fourfrom-eight<br />

Enigma system, <strong>and</strong> when this eventually went live <strong>in</strong> February 1942 it brought blackout for<br />

the rest of that year, (a) because there were new rotors whose <strong>in</strong>ternal wir<strong>in</strong>g needed to be broken,<br />

<strong>and</strong> (b) because the cryptanalysts now had many more permutations to wade through at run time.<br />

ASIDE: The 1942 naval Enigma mach<strong>in</strong>es were not just fitted with four rotors rather than three, but<br />

some of the rotors had more than one turnover notch, so they would "carry" to the adjacent rotor more<br />

often. As previously expla<strong>in</strong>ed, there are 60 Walzenlage permutations on a three-from-five Enigma. If<br />

we do the same calculation with a four-from-eight naval Enigma we f<strong>in</strong>d there are 70 ways of select<strong>in</strong>g<br />

four rotors, <strong>and</strong> then another ten ways of sequenc<strong>in</strong>g the rotors-of-the-day across the available slots,<br />

Revised August 5, 2008 Page 40 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

mak<strong>in</strong>g 700 permutations <strong>in</strong> all. (In fact, it was not quite as bad as this, because German operat<strong>in</strong>g<br />

procedures <strong>in</strong>sisted that at least one of rotors VI to VIII was <strong>in</strong>cluded.)<br />

The four-from-eight naval system therefore dem<strong>and</strong>ed either more bombes or a more sophisticated<br />

computational solution, <strong>and</strong>, accord<strong>in</strong>g to the Bletchley Park Museum, eventually around 200<br />

mach<strong>in</strong>es were <strong>in</strong> operation 24-hours a day at sites across Brita<strong>in</strong>. Bombe 2 was developed <strong>in</strong> early<br />

1943 to substitute valve technology for some of the electromechanical. The first two American<br />

bombes entered acceptance trials <strong>in</strong> May 1943, <strong>and</strong> orders were placed for a US production run of 96<br />

mach<strong>in</strong>es <strong>in</strong> June 1943 (Wenger, Engstrom <strong>and</strong> Meader, 1944; top secret report, now declassified<br />

<strong>and</strong> onl<strong>in</strong>e). The role of NCR's Electrical Research Laboratory at Dayton, OH, <strong>in</strong> produc<strong>in</strong>g the US<br />

mach<strong>in</strong>es is currently be<strong>in</strong>g researched by Anderson (2000/2002 onl<strong>in</strong>e). The bombes worked well as<br />

far as they went, but were generally underpowered <strong>and</strong> slow. To set up <strong>and</strong> play with your own<br />

bombe, click here.<br />

1.5 Computerised Cryptanalysis (1942-1943 - Break<strong>in</strong>g the Lorenz SZ42)<br />

Key Location - TRE: The next part of the story of British World War Two code break<strong>in</strong>g <strong>in</strong>troduces<br />

another important location - "TRE", the Telecommunications Research Establishment, Malvern,<br />

Worcestershire. This began life as an Air M<strong>in</strong>istry project to develop top secret radar equipment.<br />

Fund<strong>in</strong>g was authorised <strong>in</strong> 1934, <strong>and</strong> a small team was brought together <strong>in</strong> 1935 under Robert (Later<br />

Sir Robert) Watson Watt (1892-1973) at Orfordness, Suffolk. More permanent premises were<br />

acquired <strong>in</strong> 1936 at nearby Bawdsey Manor, <strong>and</strong> the official name Bawdsey Research Station was<br />

allocated. This name then had to change when the entire establishment relocated to Dundee <strong>in</strong> 1939,<br />

<strong>and</strong> the title Air M<strong>in</strong>istry Research Establishment (AMRE) was selected. There was then a further<br />

relocation to Worth Matravers, Dorset, <strong>in</strong> May 1940. The official TRE name was given <strong>in</strong> November<br />

1940, <strong>and</strong> the move to Malvern took place <strong>in</strong> May 1942.<br />

Key Personnel: In this section, we also meet Maxwell Herman Alex<strong>and</strong>er ("Max") Newman (1897-<br />

1984), a senior Cambridge mathematics professor before the war, who had lectured Tur<strong>in</strong>g as a<br />

student (<strong>in</strong> fact, it was he who had <strong>in</strong>spired the latter's Entscheidungsproblem paper <strong>and</strong> established<br />

the academic l<strong>in</strong>ks with Pr<strong>in</strong>ceton which had brought Tur<strong>in</strong>g <strong>in</strong>to contact with von Neumann). We also<br />

meet aga<strong>in</strong> the Welsh physicist Charles E. Wynn-Williams (1903-1979), whose pre-war track record<br />

build<strong>in</strong>g electronic count<strong>in</strong>g circuits was about to prove <strong>in</strong>valuable (remember that he beat Stibitz to<br />

the b<strong>in</strong>ary accumulator by six years - see Part 2). Wynn-Williams jo<strong>in</strong>ed AMRE/TRE from Cambridge<br />

University at the beg<strong>in</strong>n<strong>in</strong>g of the war.<br />

Important though they were, the Enigmas were only tactical systems. Their job was to l<strong>in</strong>k Hitler's<br />

generals to their armies, his air marshals to their airbases, <strong>and</strong> his admirals to their U-boats <strong>and</strong><br />

surface units. The various networks carried rout<strong>in</strong>e low-level orders <strong>in</strong> bulk, that is to say, the sort of<br />

traffic required to move <strong>and</strong> coord<strong>in</strong>ate Hitler's war mach<strong>in</strong>e <strong>in</strong> much the same way that our motor<br />

nerves move <strong>and</strong> coord<strong>in</strong>ate the <strong>in</strong>dividual muscles of our bodies. Yet another encryption system<br />

serviced strategic communication between the High Comm<strong>and</strong> <strong>and</strong> the far corners of the German<br />

military <strong>and</strong> diplomatic world; <strong>and</strong>, needless to say, one high level message could easily tell you as<br />

much as a few thous<strong>and</strong> day-to-day ones. The Germans therefore protected their strategic<br />

communications traffic with higher specification cipher mach<strong>in</strong>es - the Lorenz Schlüsselzusatz<br />

SZ40/42 [picture] <strong>and</strong> the Siemens <strong>and</strong> Halske T52 Geheimschreiber [picture].<br />

The SZ42 was a Vernam-style bit-flipp<strong>in</strong>g teletypewriter, as previously described [background]. Us<strong>in</strong>g<br />

the commercially widespread system of five-hole tape [see under Morkrum <strong>and</strong> Morkrum-Kle<strong>in</strong>schmidt<br />

Revised August 5, 2008 Page 41 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>in</strong> Part 1], it carried out a key-controlled modulo 2 encryption of every bit <strong>in</strong> every character <strong>in</strong> the<br />

pla<strong>in</strong>text. It then produced a pre-perforated ciphertext tape for transmission, <strong>and</strong> the transmission<br />

itself was done at mach<strong>in</strong>e speed <strong>in</strong> ITA2 [details], rather than at human speed <strong>in</strong> Morse Code. After<br />

each character, the encryption key was varied accord<strong>in</strong>g to an advanc<strong>in</strong>g rotor system, not unlike the<br />

Enigma, only there were now twelve rotors, <strong>and</strong> they had many more p<strong>in</strong>s. The Germans named this<br />

system Lorenz, after the Lorenz Teletypewriter Company which manufactured it, whilst the British<br />

named the equipment "Tunny" <strong>and</strong> its transmissions "Fish". The first Fish <strong>in</strong>tercepts started to come<br />

through <strong>in</strong> the summer 1940. The British codenamed the Geheimschreiber "Sturgeon", after it was<br />

discovered be<strong>in</strong>g used for high level Luftwaffe communications from late 1941 (H<strong>in</strong>sley, 1993). A full<br />

GCCS report, the "General Report on the Tunny" is available <strong>in</strong> digital facsimile, if <strong>in</strong>terested. Unlike<br />

the various Enigma systems, the Lorenz systems could encipher letters as themselves.<br />

The basic pr<strong>in</strong>ciples of the Lorenz code were <strong>in</strong>itially unravelled by Colonel John Tiltman, head of the<br />

Military Section, <strong>and</strong> subsequently fleshed out by William T. ("Bill") Tutte (1917-2002), who had jo<strong>in</strong>ed<br />

GCCS fresh from university <strong>in</strong> January 1941.<br />

ASIDE: It subsequently emerged that the Siemens <strong>and</strong> Halske system had already been cracked by<br />

the Swedish cryptographer Arne Beurl<strong>in</strong>g <strong>in</strong> June 1940 (Beckman, 1996). The German diplomatic<br />

telegraph cable passed through Swedish waters, <strong>and</strong> had been duly tapped by Swedish Telecom. All<br />

Geheimschreiber traffic from the day the system was first tested on 18th April 1940 was <strong>in</strong>tercepted,<br />

<strong>and</strong> closely studied by Beurl<strong>in</strong>g. He broke the code later than summer, us<strong>in</strong>g pen <strong>and</strong> paper<br />

cryptanalysis <strong>and</strong> sheer force of logic. It took him a fortnight, although he too was helped by some<br />

sloppy operator discipl<strong>in</strong>e. Professional to the last, Beurl<strong>in</strong>g died leav<strong>in</strong>g no published explanation of<br />

how he broke the Geheimschreiber: "A magician," he <strong>in</strong>sisted, "does not reveal his secrets". For more<br />

on cryptology <strong>in</strong> general, <strong>and</strong> teletype systems <strong>in</strong> particular, we recommend "Toby's Cryptopage"<br />

(2002 onl<strong>in</strong>e).<br />

Tutte was given a good start by an unsafe transmission on 30th August 1941 from a German operator<br />

<strong>in</strong> Athens. This was a long despatch <strong>in</strong> fish, which failed to decipher cleanly at its dest<strong>in</strong>ation <strong>in</strong><br />

Vienna. The receiv<strong>in</strong>g operator duly requested retransmission, <strong>and</strong> the Athens operator unwisely used<br />

the same mach<strong>in</strong>e sett<strong>in</strong>gs for a close, but not exact, copy of the ciphertext.<br />

ASIDE: It is difficult to get a straight story from the literature here. Retransmission of a pre-perforated<br />

telepr<strong>in</strong>ter tape would not, of itself, normally require a re-encryption, <strong>and</strong> would simply produce an<br />

identical copy. Nevertheless, the onl<strong>in</strong>e Tunny Report (above) clearly states (p298) that the<br />

retransmission had been rekeyed to tape, complete with m<strong>in</strong>or mispell<strong>in</strong>gs.<br />

By pa<strong>in</strong>stak<strong>in</strong>gly analys<strong>in</strong>g those ciphertexts over a period of several months, Tutte <strong>and</strong> his<br />

colleagues eventually correctly deduced that the Lorenz mach<strong>in</strong>e had to consist of 12 different sized<br />

rotors, of size 23, 26, 29, 31, 37, 41, 43, 47, 51, 53, 59, <strong>and</strong> 61 (Good, 1993).<br />

ASIDE: The Geheimschreiber, by contrast, had ten such wheels, sized 73, 71, 69, 67, 65, 64, 61, 59,<br />

53, <strong>and</strong> 47. Full details <strong>in</strong> Beckman (2003).<br />

Aside from the rotor sizes, it was also necessary to learn the logic of their gear<strong>in</strong>g. To start with there<br />

were five K (or chi) rotors (the 23, 26, 29, 31, <strong>and</strong> 41 p<strong>in</strong> ones), then there were five S (or psi) rotors<br />

(the 43, 47, 51, 53, <strong>and</strong> 59 p<strong>in</strong> ones), <strong>and</strong> f<strong>in</strong>ally there were two M (or mu, or motor) rotors (the 37 <strong>and</strong><br />

61 p<strong>in</strong> ones). This is how they worked together .....<br />

Revised August 5, 2008 Page 42 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"The first set of cod<strong>in</strong>g wheels, K1-K5, <strong>and</strong> the first motor wheel, stepped every time. The second<br />

motor wheel stepped whenever the first motor wheel pattern enabled it to do so. The second set of<br />

cod<strong>in</strong>g wheels, S1-S5, stepped whenever the second motor wheel enabled it to do so." (Halton, 1993,<br />

p172.)<br />

Halton cont<strong>in</strong>ues .....<br />

"Whether or not a cod<strong>in</strong>g wheel reversed the sense of the digit pass<strong>in</strong>g through it depended on the<br />

sett<strong>in</strong>g of a tooth on its circumference, the tooth be<strong>in</strong>g either erect or folded down. The wheels all had<br />

different numbers of teeth, which were set up to the pattern specified for the day [Ed. <strong>in</strong> much the<br />

same way that we nowadays set the timer p<strong>in</strong>s of central heat<strong>in</strong>g or pre-programmed light<strong>in</strong>g<br />

systems], <strong>and</strong> all could be rotated <strong>in</strong>dividually to any required position for the start of a message. The<br />

first set of wheels advanced one tooth for every character. Two more wheels of a similar type<br />

controlled the stepp<strong>in</strong>g of the second set of cod<strong>in</strong>g wheels <strong>and</strong> were called (at BP) the motor wheels.<br />

The first motor wheel advanced by one tooth for every character, but the second did so only when<br />

permitted to do so by the teeth of the first. The second set of cod<strong>in</strong>g wheels stepped only when<br />

permitted to do so by the teeth of the second motor wheel. Like the character-cod<strong>in</strong>g wheels, the<br />

motor wheels could be set to any specified tooth pattern <strong>and</strong> could be made to start from any<br />

position." (Halton, 1993, p169-170.)<br />

Gil Hayward (1993), one of the Tunny eng<strong>in</strong>eers, adds:<br />

"Each rotor [<strong>in</strong> the first group of five] was advanced by one tooth for each character transmitted []. The<br />

encipher<strong>in</strong>g was achieved by [exclusive-OR addition.] We knew this process as 'non-carry b<strong>in</strong>ary<br />

addition' [] The second set of rotors was driven <strong>in</strong>directly via the [two M-rotors] <strong>and</strong> now processed the<br />

[five code] elements once more, perform<strong>in</strong>g an exclusive-OR of the output of the first set with their<br />

own tooth states. The SZ sent the f<strong>in</strong>al element outputs to l<strong>in</strong>e <strong>in</strong> serial form <strong>in</strong> real time." (Hayward,<br />

1993, p178.)<br />

Remember<strong>in</strong>g that the electrical pr<strong>in</strong>ciple was that five bits Baudot-Murray code <strong>in</strong> should give five<br />

bits Baudot-Murray code out, here is a diagram show<strong>in</strong>g how the <strong>in</strong>put pulses were routed through the<br />

K- <strong>and</strong> S- wheels of the SZ42 .....<br />

Tutte's decryption has been described as arguably "the greatest <strong>in</strong>tellectual feat of the whole war"<br />

(Sale, 1997), because once the technical "go" of the new mach<strong>in</strong>e had been established, it aga<strong>in</strong><br />

became possible to resort to largely automated trial-<strong>and</strong>-error. The ma<strong>in</strong> task was to f<strong>in</strong>d the sett<strong>in</strong>gs<br />

of the five K-rotors (Good, 1993), <strong>and</strong> the algorithm which did this was called the "double-delta"<br />

method. However, the number of permutations to get through was far higher than <strong>in</strong> the Enigma<br />

mach<strong>in</strong>es, so the first th<strong>in</strong>g Max Newman did when he jo<strong>in</strong>ed GCCS as head of the Tunny team <strong>in</strong><br />

September 1942, was to determ<strong>in</strong>e that a quantum leap <strong>in</strong> comput<strong>in</strong>g power was required. He<br />

therefore drew up the detailed specification for a mach<strong>in</strong>e capable of automat<strong>in</strong>g Tutte's double-delta<br />

method, <strong>and</strong> his team relocated to a larger build<strong>in</strong>g, nicknamed "the Newmanry", to do the design<br />

work. They were jo<strong>in</strong>ed by Donald Michie (1923-), straight out of school, but later professor of artificial<br />

<strong>in</strong>telligence at the University of Ed<strong>in</strong>burgh.<br />

This time it was Wynn-Williams <strong>and</strong> his high-tech TRE team who put the hardware together, <strong>and</strong> the<br />

result<strong>in</strong>g computer, codenamed the Heath Rob<strong>in</strong>son, was operational around April 1943. Here is<br />

Michie's own summary of its work<strong>in</strong>g pr<strong>in</strong>ciples:<br />

Revised August 5, 2008 Page 43 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"The [Heath Rob<strong>in</strong>son] mach<strong>in</strong>e <strong>in</strong>corporated two synchronised photo-electric paper tape readers,<br />

capable of read<strong>in</strong>g 2000 char/sec. Two loops of 5-hole tape, typically more than 1000 characters <strong>in</strong><br />

length would be mounted on these readers. Counts were made of any desired Boolean function of the<br />

two <strong>in</strong>puts. Fast count<strong>in</strong>g was performed electronically, <strong>and</strong> slow operations [] by relays. The mach<strong>in</strong>e,<br />

<strong>and</strong> all its successors, were entirely automatic <strong>in</strong> operation, once started, <strong>and</strong> <strong>in</strong>corporated an on-l<strong>in</strong>e<br />

output telepr<strong>in</strong>ter." (Michie, cited <strong>in</strong> R<strong>and</strong>ell, 1976/2002 onl<strong>in</strong>e, p9.)<br />

Good (1993, p162) adds:<br />

"The <strong>in</strong>put to Heath Rob<strong>in</strong>son was a pair of telepr<strong>in</strong>ter tapes, one conta<strong>in</strong><strong>in</strong>g cipher <strong>and</strong> the other one<br />

some function of the chi wheels. The tapes would be stuck <strong>in</strong>to closed loops <strong>and</strong> driven partly by<br />

pulleys <strong>and</strong> partly by their sprocket holes. Both tapes would be read photoelectrically <strong>and</strong> the <strong>in</strong>nards<br />

of the mach<strong>in</strong>e would count the number of times that some Boolean function was equal to a dot. The<br />

cipher tape would have a length prime to that of the key tape, so that <strong>in</strong> the course of a 'run' all<br />

possibilities were exam<strong>in</strong>ed. The mach<strong>in</strong>e had perhaps about two dozen vacuum or gas-filled valves<br />

or tubes. [] The ma<strong>in</strong> weakness of the design was the driv<strong>in</strong>g of the tapes partly by their sprocket<br />

holes at about a hundred times the speed of the tapes <strong>in</strong> normal teletypewriter usage. This would<br />

cause these holes to stretch <strong>and</strong> the tape to have a tendency to tear [.....] Also, from time to time, the<br />

mach<strong>in</strong>e would beg<strong>in</strong> to smoke."<br />

1.6 Computerised Cryptanalysis (1943-1945 - The Colossus)<br />

Key Locations - "Dollis Hill": The third part of the story of British World War Two code break<strong>in</strong>g<br />

<strong>in</strong>volves workers at another important location - "Dollis Hill", the Post Office Research Station, at<br />

Dollis Hill, North London. These telecommunications workshops were opened <strong>in</strong> 1921, at a time when<br />

the Post Office was responsible for Brita<strong>in</strong>'s telegraphy <strong>and</strong> telephony as well as for its postal services,<br />

<strong>and</strong> so it attracted some of the country's best electrical eng<strong>in</strong>eers. It was Brita<strong>in</strong>'s Bell Labs, if you like<br />

(but on our usual amateurish scale). The location sounds humble enough, but it concealed a very<br />

special secret, for <strong>in</strong> 1938 the build<strong>in</strong>gs had been extended downwards to provide an emergency seat<br />

of government should the Cab<strong>in</strong>et Room at Whitehall be put out of commission for any reason [for an<br />

e-tour of what rema<strong>in</strong>s, click here].<br />

Key Personnel: In this section, we meet Thomas Harold ("Tommy") Flowers (1905-1998), a<br />

telecommunications eng<strong>in</strong>eer at Dollis Hill. Flowers was an experienced electronics designer, <strong>and</strong> had<br />

been experiment<strong>in</strong>g with valve technology <strong>in</strong> telephone switch<strong>in</strong>g gear s<strong>in</strong>ce 1931.<br />

The Rob<strong>in</strong>sons were transitional mach<strong>in</strong>es; faster than the bombes, but still largely relay-based,<br />

experimental, <strong>and</strong> with the reliability problems mentioned above. The decision was accord<strong>in</strong>gly taken<br />

to build a mach<strong>in</strong>e which would be faster still <strong>and</strong> have greater process<strong>in</strong>g power, <strong>and</strong> <strong>in</strong> order to<br />

achieve these higher speeds, valves were go<strong>in</strong>g to have to replace relays wherever possible. Brita<strong>in</strong>'s<br />

expert on valves at that time were Dollis Hill's Tommy Flowers <strong>and</strong> TREs's Charles Wynn-Williams.<br />

Flowers had already been <strong>in</strong>volved with miscellaneous GCCS projects s<strong>in</strong>ce February 1941, dur<strong>in</strong>g<br />

which time he had met with Wynn-Williams <strong>and</strong> Tur<strong>in</strong>g. He had been given the specifications for<br />

various pieces of equipment, <strong>and</strong> had carried out the necessary eng<strong>in</strong>eer<strong>in</strong>g back at Dollis Hill,<br />

assisted by a colleague, Sidney W. Broadhurst. His team had also worked <strong>in</strong> 1942 with H.M. Keen at<br />

BTM on upgrad<strong>in</strong>g the bombes, <strong>and</strong> with TRE on upgrad<strong>in</strong>g the Rob<strong>in</strong>sons. He would now do the<br />

same aga<strong>in</strong>, but work<strong>in</strong>g this time on what would become GCCS's - <strong>and</strong> Brita<strong>in</strong>'s - flagship wartime<br />

comput<strong>in</strong>g project, the Colossus.<br />

Revised August 5, 2008 Page 44 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The detailed design for Colossus was teased out <strong>in</strong> the w<strong>in</strong>ter of 1942/3 by Newman <strong>and</strong> Flowers,<br />

with major contributions from Good <strong>and</strong> half a dozen others. The Dollis Hill group, now with additional<br />

assistance from W.W. Ch<strong>and</strong>ler, then spent the first eleven months of 1943 putt<strong>in</strong>g the mach<strong>in</strong>e<br />

together <strong>and</strong> test<strong>in</strong>g it, <strong>and</strong> it began productive work <strong>in</strong> December 1943. The Colossus consisted of<br />

1500 valves, weighed about a ton, <strong>and</strong> could make do with only a s<strong>in</strong>gle <strong>in</strong>put paper tape, from which<br />

data could be read at the rate of 5000 characters per second. To reduce tape h<strong>and</strong>l<strong>in</strong>g failures, the<br />

cipher tape was read once, <strong>and</strong> its contents written to memory (this was the essence of the advance<br />

over the Heath Rob<strong>in</strong>son, <strong>and</strong> accounts for the much higher number of valves used). Thyratron valves<br />

were <strong>in</strong>cluded as memory units.<br />

The British now had significant access to German communications at the highest level, <strong>and</strong> the team's<br />

early successes <strong>in</strong>cluded forestall<strong>in</strong>g the German counter-attack aga<strong>in</strong>st the Anzio bridgehead <strong>in</strong><br />

February 1944, <strong>and</strong> break<strong>in</strong>g <strong>in</strong>to the network centred on von Rundstedt's headquarters <strong>in</strong> France <strong>in</strong><br />

March 1944. As a result, Dollis Hill received an order for a number of more powerful follow-up<br />

mach<strong>in</strong>es, the Colossus 2s, <strong>and</strong> Michie contributed major improvements to the upgraded design<br />

(Andresen, 2001) [for more on Michie's contribution, click here]. The Colossus 2s had 2400 valves<br />

<strong>and</strong> could process several <strong>in</strong>put streams <strong>in</strong> parallel, giv<strong>in</strong>g them an effective <strong>in</strong>put speed of 25,000<br />

characters per second. More importantly, at least one of the new mach<strong>in</strong>es was needed to be up <strong>and</strong><br />

runn<strong>in</strong>g by 1st June 1944 to h<strong>and</strong>le the <strong>in</strong>creased volume of traffic expected after the Norm<strong>and</strong>y<br />

<strong>in</strong>vasion (R<strong>and</strong>ell, 1977). Fortunately, Flowers' team had been strengthened by the arrival of A.W.M.<br />

Coombs <strong>and</strong> Wilfred Saville, <strong>and</strong> they met the deadl<strong>in</strong>e with literally just a couple of hours to spare.<br />

By the end of the war, 63 million keystrokes of German code had been deciphered (Andresen, 2001),<br />

<strong>and</strong> <strong>in</strong> the best traditions of "real programm<strong>in</strong>g", not one of the people R<strong>and</strong>ell (1977) <strong>in</strong>terviewed had<br />

any recollection of anybody ever produc<strong>in</strong>g any system ma<strong>in</strong>tenance manuals [although given the<br />

equally strong traditions of the British Official Secrets Acts, they were possibly ly<strong>in</strong>g for their country at<br />

this po<strong>in</strong>t].<br />

Here is an analysis of the COLOSSUS's strengths <strong>and</strong> weaknesses, measured aga<strong>in</strong>st the criteria of<br />

modernity discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

Revised August 5, 2008 Page 45 of 190<br />

General Purpose<br />

Stored Program<br />

Yes Yes Yes General purpose <strong>in</strong><br />

pr<strong>in</strong>ciple, but <strong>in</strong><br />

practice all the <strong>in</strong>putoutput<br />

peripherals<br />

were tuned for codebreak<strong>in</strong>g<br />

applications,<br />

so considerable<br />

reconfiguration would<br />

have been necessary.<br />

Externally<br />

programmable due to<br />

shortage of memory.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

ASIDE: A moment's pause before mov<strong>in</strong>g away from the codebreak<strong>in</strong>g applications. It is nowadays<br />

altogether too easy to be carried away with the technicalities of cryptology, <strong>and</strong> we should not forget<br />

that lives were at stake every m<strong>in</strong>ute of every day. When you broke a code, these tended to be your<br />

enemy's lives, <strong>and</strong> when you did not, they were your own. Either way, the casualties were real people,<br />

not numbers. Dak<strong>in</strong> (1993) recalls be<strong>in</strong>g emotionally moved later <strong>in</strong> the war by the number of German<br />

sailors receiv<strong>in</strong>g messages tell<strong>in</strong>g them that their homes had been AUSGEBOMBT, <strong>and</strong> Eyton (1993)<br />

reports be<strong>in</strong>g unable - then - to make sense of a curious phrase from an Aegean maritime <strong>in</strong>tercept<br />

later <strong>in</strong> the war, when a cargo of Jews was reported as be<strong>in</strong>g en route for the ENDLÖSUNG (= "f<strong>in</strong>al<br />

solution"); the code, on this occasion, was stronger than the cipher! On the lighter side, Jack Good, it<br />

is reported, went out of his way to acquire an "007" car registration plate once the James Bond stories<br />

hit the headl<strong>in</strong>es <strong>in</strong> the early 1960s, <strong>and</strong> drove it, no doubt, with a cryptic smile. To see what Hut 4 is<br />

do<strong>in</strong>g nowadays (31st May 2003), click here.<br />

2 - The Harvards Mark 1 to 4<br />

The Harvard Mark 1 was a jo<strong>in</strong>t venture between IBM <strong>and</strong> Harvard University, under the general<br />

direction of Professor Howard Hathaway Aiken (1900-1973). Eager to develop a giant digital<br />

calculator to rival MIT's big analog mach<strong>in</strong>es (see Part 2), Aiken had approached the Monroe<br />

Calculat<strong>in</strong>g Mach<strong>in</strong>e Company for development fund<strong>in</strong>g <strong>in</strong> 1936. They had turned him down, but had<br />

passed him on to IBM's Thomas J. Watson, who agreed more or less on entrepreneurial <strong>in</strong>st<strong>in</strong>ct to<br />

underwrite the project. Construction began <strong>in</strong> 1937, <strong>and</strong> went on for six years [for more detail of this<br />

early period, click here]. The end result was that by January 1943 Aiken's team had put together a<br />

mach<strong>in</strong>e known as the Automatic Sequence-Controlled Calculator (ASCC), or "Harvard Mark 1".<br />

The Harvard Mark 1 was the largest (55 feet long, 8 feet high, <strong>and</strong> conta<strong>in</strong><strong>in</strong>g over three quarters of a<br />

million parts) electromechanical calculator ever built. It was sited at the IBM <strong>in</strong>stallation at Endicott,<br />

NY, <strong>and</strong> (like Colossus) was someth<strong>in</strong>g of a "transitional" species, reta<strong>in</strong><strong>in</strong>g mov<strong>in</strong>g parts<br />

characteristic of the old da V<strong>in</strong>ci mach<strong>in</strong>es, but <strong>in</strong>corporat<strong>in</strong>g Babbage-style modularity <strong>and</strong><br />

programm<strong>in</strong>g (not surpris<strong>in</strong>g, s<strong>in</strong>ce Aiken had explicitly based his first-cut design on Babbage's four<br />

ma<strong>in</strong> modules - see Part 1). It received its process<strong>in</strong>g <strong>in</strong>structions on previously perforated paper tape,<br />

<strong>and</strong> data <strong>in</strong>put/output on punched cards. It was fitted with 72 23-decimal-place registers (one of the 24<br />

decimal wheels mak<strong>in</strong>g up each register was reserved for use as a sign digit), each cannibalised from<br />

IBM's pre-war range of electromechanical calculators, <strong>and</strong> was thus capable of do<strong>in</strong>g very big sums to<br />

very high levels of accuracy. These registers were "accumulators" - they would store whatever<br />

number was put <strong>in</strong>to them until next required, <strong>and</strong> then allow it to be added to. A further 60 registers<br />

were "read only", <strong>and</strong> were manually set to program constants prior to the run commenc<strong>in</strong>g. Each<br />

tape-punched <strong>in</strong>struction served to identify the next operation to be carried out, together with the<br />

location of the registers conta<strong>in</strong><strong>in</strong>g the oper<strong>and</strong>s for that operation <strong>and</strong> the dest<strong>in</strong>ation of the answer.<br />

The ma<strong>in</strong> drive shaft rotated at 200 rpm, mean<strong>in</strong>g that the mach<strong>in</strong>e could work at the rate of just over<br />

three "elementary operations" (such as simple additions) per second.<br />

The system rema<strong>in</strong>ed under trial <strong>and</strong> improvement until mid-1944, whereupon it was shipped lock,<br />

stock, <strong>and</strong> barrel to the Harvard Computation Laboratory. It was then immediately leased by the US<br />

Navy's Bureau of Ships - no less than three admirals be<strong>in</strong>g present at the official <strong>in</strong>auguration on 7th<br />

August 1944 (Williams, 1999) - <strong>and</strong> put to work <strong>in</strong> aid of the war effort, with armed guards patroll<strong>in</strong>g<br />

the campus. It cont<strong>in</strong>ued <strong>in</strong> service until 1959. An improved version of basically the same design was<br />

laid down <strong>in</strong> 1942, for <strong>in</strong>stallation at the US Naval Prov<strong>in</strong>g Ground, Dahlgren, VA. This was the<br />

Harvard Mark 2, or the "Dahlgren Calculator" (Freel<strong>and</strong>, 1947). The basic technology was unchanged,<br />

but enough improvements were <strong>in</strong>corporated to push performance up to around 30 simple additions<br />

per second (that is to say, it was about ten times as fast as the Mark 1, but a lot noisier). It conta<strong>in</strong>ed<br />

Revised August 5, 2008 Page 46 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

13,000 high specification multiple-contact relays (at $15 apiece), <strong>and</strong> could do float<strong>in</strong>g po<strong>in</strong>t arithmetic.<br />

It was also built for greater ease of ma<strong>in</strong>tenance - many key components were modular <strong>and</strong> could be<br />

exchanged with m<strong>in</strong>imal fuss <strong>in</strong> the event of failure (Freel<strong>and</strong>, 1947). A third mach<strong>in</strong>e <strong>in</strong> the series<br />

was completed <strong>in</strong> 1949, <strong>and</strong> <strong>in</strong>corporated magnetic drum storage <strong>and</strong> a stored program, <strong>and</strong> thus<br />

marked a major modernisation. The technical platform was mixed valve <strong>and</strong> relay (5000 <strong>and</strong> 2000<br />

respectively). A fourth mach<strong>in</strong>e, the Harvard Mark 4, went live <strong>in</strong> 1952, <strong>and</strong> was even more modern,<br />

but by then Harvard had lost its IBM back<strong>in</strong>g, <strong>and</strong> the runn<strong>in</strong>g was be<strong>in</strong>g made elsewhere. The Mark 4<br />

was nevertheless one of the first deployments of a newer form of computer memory device, "the<br />

ferrite toroid s<strong>in</strong>gle-bit flip-flop" (more on which shortly, <strong>in</strong> the section on The Whirlw<strong>in</strong>d Project).<br />

Here is an analysis of the first two Harvard mach<strong>in</strong>es' strengths <strong>and</strong> weaknesses, measured aga<strong>in</strong>st<br />

the criteria of modernity discussed so far .....<br />

Electronic rather than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

No - electromechanical Yes No - decimal (a hangover<br />

from the days of the desk<br />

calculator, <strong>and</strong> a major<br />

design weakness)<br />

General Purpose<br />

Stored Program<br />

Revised August 5, 2008 Page 47 of 190<br />

General purpose, with<strong>in</strong><br />

the limitations of its<br />

rudimentary <strong>in</strong>struction<br />

set, but not stored<br />

program.<br />

3 - The Bell Telephone Laboratories Mach<strong>in</strong>es<br />

Bell Labs began their <strong>in</strong>volvement with computers follow<strong>in</strong>g Stibitz's experiments with b<strong>in</strong>ary add<strong>in</strong>g<br />

circuitry <strong>in</strong> 1937 (see Part 2), <strong>and</strong> although they started after Aiken their mach<strong>in</strong>es were much smaller<br />

<strong>and</strong> thus a lot quicker <strong>in</strong>to service. Samuel B. Williams led their Model 1 Relay Calculator project (aka<br />

the "Complex Number Computer"), <strong>and</strong> had the product ready for action <strong>in</strong> January 1940. It was<br />

publicly demonstrated <strong>in</strong> September 1940, be<strong>in</strong>g operated over a teletypewriter l<strong>in</strong>k. It was not<br />

programmable, however, <strong>and</strong> this defect was remedied as an adjunct to Bell's work on flak systems <strong>in</strong><br />

the Model 2 Relay Calculator (or "Relay Interpolator"), a tape-controlled device with self-check<strong>in</strong>g<br />

arithmetic. This became operational <strong>in</strong> September 1943 at the US National Defence Research Council,<br />

where it was <strong>in</strong>itially used to produce lifelike test data for Bell's AA Predictor No. 9. The mach<strong>in</strong>e<br />

conta<strong>in</strong>ed 500 relays, <strong>and</strong> rema<strong>in</strong>ed <strong>in</strong> use until 1961. Cesareo (1946) details its biqu<strong>in</strong>ary add<strong>in</strong>g<br />

circuits, if <strong>in</strong>terested. The Model 3 Relay Calculator (or "Ballistic Computer") was started <strong>in</strong> 1942,<br />

completed <strong>in</strong> June 1944, conta<strong>in</strong>ed 1300 relays, <strong>and</strong> rema<strong>in</strong>ed <strong>in</strong> use until 1958. It was purposedesigned<br />

to speed the analysis of test fir<strong>in</strong>g data. Juley (1947) describes it as another teletypewriter<br />

tape mach<strong>in</strong>e, <strong>and</strong> identifies four separate <strong>in</strong>put tapes, one conta<strong>in</strong><strong>in</strong>g coded data from c<strong>in</strong>e film of the<br />

target position, the second conta<strong>in</strong><strong>in</strong>g the gun control parameters under test, the third conta<strong>in</strong><strong>in</strong>g<br />

reference data, <strong>and</strong> the fourth (which was read as a cont<strong>in</strong>uous loop), conta<strong>in</strong><strong>in</strong>g the master control<br />

<strong>in</strong>structions, or program. Biqu<strong>in</strong>ary notation was used as before. The Model 4 Relay Calculator was<br />

basically similar to the Model 3. The Model 5 Relay Calculator (or "General Purpose Relay<br />

Calculator") was, as its name suggests, a truly general purpose computer, complete with conditional<br />

logic branch<strong>in</strong>g. The Model 5 was a two-off project, one mach<strong>in</strong>e be<strong>in</strong>g produced for the National<br />

Advisory Committee on Aeronautics, Langley Field, VA, <strong>and</strong> the other for the US Ballistic Research<br />

Lab, Aberdeen, MD (henceforth "BRL"). The mach<strong>in</strong>e was started <strong>in</strong> 1944, completed <strong>in</strong> 1946<br />

(Langley Field) <strong>and</strong> 1947 (BRL), conta<strong>in</strong>ed 9000 relays, <strong>and</strong> weighed about ten tons. It was relatively<br />

slow, but generally reliable <strong>and</strong> required m<strong>in</strong>imal changeover time <strong>in</strong> that the use of tapes allowed<br />

runs to be prepared offl<strong>in</strong>e.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The limit<strong>in</strong>g factor <strong>in</strong> all these mach<strong>in</strong>es was still the technology. Circuits were h<strong>and</strong>-built <strong>and</strong> h<strong>and</strong>soldered<br />

out of <strong>in</strong>dividual capacitors, valves, <strong>and</strong> resistors, mounted on a metal chassis. The<br />

mach<strong>in</strong>es worked, but only after a fashion - they were big, heavy, got very hot, <strong>and</strong> kept break<strong>in</strong>g<br />

down as fuses blew, switches failed, <strong>and</strong> valves burned out. The next breakthrough came <strong>in</strong> 1947,<br />

when John Bardeen, Walter H. Bratta<strong>in</strong>, <strong>and</strong> William Shockley - more Bell Labs researchers - brought<br />

together a number of earlier discoveries <strong>and</strong> <strong>in</strong>vented the "transistor", a development for which they<br />

were awarded the 1956 Nobel Prize for Physics .....<br />

Critical Invention - The Transistor (1947): A transistor is a "cold-runn<strong>in</strong>g" electronic switch. In its<br />

orig<strong>in</strong>al form it consisted of a "semiconduct<strong>in</strong>g" - that is to say, unidirectional - crystal of germanium,<br />

onto which was placed a metal contact. This "po<strong>in</strong>t contact" device made use of fundamental<br />

properties of this type of <strong>in</strong>terface, namely that electrons are drawn away from the contact more easily<br />

<strong>in</strong> the conduct<strong>in</strong>g medium than <strong>in</strong> the non-conduct<strong>in</strong>g crystal. Such units could therefore be <strong>in</strong>stalled<br />

<strong>in</strong> electronic circuits <strong>in</strong> place of valve diodes, where they would rectify AC the same way, but with no<br />

need either (a) for a heat<strong>in</strong>g current, or (b) for a glass capsule. They therefore allowed the work of<br />

the thermionic valve to be done at fractional cost, size, <strong>and</strong> power. A different layout followed<br />

shortly, <strong>in</strong> which two po<strong>in</strong>t contacts were applied to one face of the crystal, <strong>and</strong> a flat contact on the<br />

opposite face. This served <strong>in</strong> place of valve triodes, allow<strong>in</strong>g one part of a circuit to switch the current<br />

flow<strong>in</strong>g <strong>in</strong> another part.<br />

4 - The Moore School's ENIAC <strong>and</strong> EDVAC<br />

"There are 10 types of people <strong>in</strong> the world - those who underst<strong>and</strong> b<strong>in</strong>ary, <strong>and</strong> those who do not"<br />

(Anonymous Internet wag, October 2002.)<br />

As with the British codebreak<strong>in</strong>g mach<strong>in</strong>es, the major historical step away from electromechanical<br />

architectures <strong>in</strong> the US came <strong>in</strong> 1943. This was when the Moore School of Electrical Eng<strong>in</strong>eer<strong>in</strong>g at<br />

the University of Pennsylvania built the Electronic Numerical Integrator <strong>and</strong> Calculator (or ENIAC).<br />

Somewhat ironically, the project only came about because the Moore School had acquired one of<br />

Bush's analog differential analysers, <strong>and</strong> this brought them to the attention of the technical staff at<br />

BRL, who had more sums to do than their own differential analyser would cope with. Lieutenant Paul<br />

N. Gillon, the officer <strong>in</strong> charge of computation at BRL, therefore requisitioned time on the Moore<br />

School mach<strong>in</strong>e, <strong>and</strong> Lieutenant Herman H. Goldst<strong>in</strong>e was assigned to the Moore School as liaison<br />

officer <strong>and</strong> project coord<strong>in</strong>ator. This gave Goldst<strong>in</strong>e access to two differential analysers, one at BRL,<br />

<strong>and</strong> a bigger one at Moore (Moye, 1996), but still the backlog of ballistics computation work was pil<strong>in</strong>g<br />

up.<br />

Enter John William Mauchly (1907-1980), a C<strong>in</strong>c<strong>in</strong>nati physicist, <strong>and</strong> John Presper Eckert (1919-<br />

1995), a Philadelphia electrical eng<strong>in</strong>eer. Mauchly <strong>and</strong> Eckert were Moore School lecturers, <strong>and</strong> it so<br />

happened that the quirky performance of the analog systems had been irritat<strong>in</strong>g the both of them as<br />

well. Indeed, Goldst<strong>in</strong>e's arrival co<strong>in</strong>cided with a paper Mauchly had written <strong>in</strong> August 1942, propos<strong>in</strong>g<br />

a digital electronic computer. Goldst<strong>in</strong>e knew a bit about mathematics himself, <strong>and</strong> was so impressed<br />

with Mauchly's ideas that he immediately sought the necessary fund<strong>in</strong>g from the ordnance department<br />

budget. Moore School professor John Grist Bra<strong>in</strong>erd (1904-1988) presented the bus<strong>in</strong>ess case to<br />

BRL's comm<strong>and</strong><strong>in</strong>g officer, Colonel Leslie E. Simon, <strong>and</strong> his senior scientific advisors, <strong>and</strong> was not<br />

beyond us<strong>in</strong>g a little non-military camouflage to help his case, deliberately describ<strong>in</strong>g the proposed<br />

hardware as an "electronic diff. analyser", <strong>and</strong> so confus<strong>in</strong>g digital differenc<strong>in</strong>g with analog<br />

differentiation (W<strong>in</strong>egrad, 1996).<br />

Revised August 5, 2008 Page 48 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Bra<strong>in</strong>erd was successful, <strong>and</strong> the contract for ENIAC was duly signed <strong>in</strong> June 1943. The project<br />

proceeded under the codename "Project PX". Bra<strong>in</strong>erd was appo<strong>in</strong>ted project manager, Eckert chief<br />

eng<strong>in</strong>eer, <strong>and</strong> Mauchly pr<strong>in</strong>cipal consultant (Moye, 1996). Others <strong>in</strong>volved were Arthur W. Burks,<br />

Thomas K. Sharpless, <strong>and</strong> Robert F. Shaw. Eckert's <strong>in</strong>itial role was to <strong>in</strong>crease the average life<br />

expectancy of the electronic valves which were go<strong>in</strong>g to be required, because the fact that large<br />

numbers of them were go<strong>in</strong>g to be used meant that the f<strong>in</strong>al system was otherwise at risk of be<strong>in</strong>g<br />

permanently out of service.<br />

ASIDE: The problem of valve burn-out, it will be recalled, had been Zuse's worry back <strong>in</strong> 1938, when<br />

he elected to keep the Z3 project electromechanical - see Part 2. However Tommy Flowers' advice on<br />

the Colossus development had been that the majority of valve failures took place when they were<br />

warm<strong>in</strong>g up, <strong>and</strong> that systems which could be switched on <strong>and</strong> left on were much less vulnerable.<br />

That <strong>and</strong> high specification manufactur<strong>in</strong>g brought performance up to acceptable st<strong>and</strong>ards.<br />

Eckert was also responsible, he later recalled, for test<strong>in</strong>g whether the Pennsylvania mice liked the<br />

taste of the electrical <strong>in</strong>sulation on his cable stock. The types they refused to chew when half-starved<br />

were the ones which got used, on the grounds that the mice would be less <strong>in</strong>cl<strong>in</strong>ed to build their nests<br />

<strong>in</strong>side the completed mach<strong>in</strong>e later on. Construction began <strong>in</strong> June 1944, f<strong>in</strong>al assembly took place <strong>in</strong><br />

autumn 1945, the mach<strong>in</strong>e went live <strong>in</strong> February 1946, <strong>and</strong> was delivered to BRL <strong>in</strong> January 1947<br />

(Moye, 1996). It weighed <strong>in</strong> at 30 tons, conta<strong>in</strong>ed 18,000 thermionic valves, <strong>and</strong> its comput<strong>in</strong>g power<br />

was used, yet aga<strong>in</strong>, to prepare military ballistics tables. It also assisted the nuclear weapons<br />

programme (although it took time off <strong>in</strong> 1949 to compute to a record 2035 places of decimals). Input<br />

was on IBM 80-column cards, <strong>and</strong>, s<strong>in</strong>ce this was commonly available technology, it allowed the<br />

necessary data to be shipped <strong>in</strong> <strong>and</strong> out as trays of Hollerith cards (on one occasion, around half a<br />

million of them, direct from the nuclear physicists at Los Alamos). Each memory unit had its own<br />

external neon light, so that the electronic state of the processor could be visually assessed by the<br />

operator, <strong>and</strong> the mach<strong>in</strong>e could be run <strong>in</strong> s<strong>in</strong>gle-<strong>in</strong>struction mode so that progression through a<br />

program could be step-by-step monitored if needed. Modular construction allowed critical circuit<br />

components to be replaced <strong>in</strong> m<strong>in</strong>utes, thus help<strong>in</strong>g to achieve a mean time between failures of 5.6<br />

hours (Muuss, 1992/2002).<br />

Thanks to its electronics, the ENIAC was nearly 2000 times as fast as the ASCC, lead<strong>in</strong>g Eckert,<br />

rather disparag<strong>in</strong>gly, to dismiss the rival Harvard mach<strong>in</strong>es as just "fancy tabulators". Around 5000<br />

simple additions were possible per second (compared to the Mark 1's three). Moye (1996) expla<strong>in</strong>s<br />

that ENIAC could do <strong>in</strong> 30 seconds what took the Bush differential analyser 15 m<strong>in</strong>utes (far less<br />

accurately) <strong>and</strong> a skilled mathematician 20 hours; one commentator even po<strong>in</strong>ted out that it was<br />

faster than the projectiles it was track<strong>in</strong>g. The system was decommissioned <strong>in</strong> 1955. [To see the<br />

word<strong>in</strong>g of the US War Department's public announcement of the project <strong>in</strong> 1946, click here.]<br />

Here is an analysis of the ENIAC's strengths <strong>and</strong> weaknesses, measured aga<strong>in</strong>st the criteria of<br />

modernity discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

Revised August 5, 2008 Page 49 of 190<br />

General Purpose<br />

Stored Program


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Yes Yes No - decimal, 10<br />

places of.<br />

Revised August 5, 2008 Page 50 of 190<br />

General purpose, but<br />

not stored program.<br />

The ENIAC profile table still conta<strong>in</strong>s two significant NO entries - it computed <strong>in</strong> decimal rather than <strong>in</strong><br />

b<strong>in</strong>ary, <strong>and</strong> it had no memory to spare for program storage. In the world of computer design, these are<br />

both signs of considerable immaturity, but the decimal issue represented by far the greater practical<br />

barrier, for it is an example of how "functional fixedness" can impede technological <strong>in</strong>novation. As with<br />

the Harvard Mark 1, the ENIAC's designers thought <strong>in</strong> decimal, <strong>and</strong> so presumed that their creation<br />

should do likewise. "Proper" computers, on the other h<strong>and</strong>, were already comput<strong>in</strong>g <strong>in</strong> b<strong>in</strong>ary rather<br />

than decimal. Wynn-Williams had seen this, Zuse <strong>and</strong> Stibitz had seen this, <strong>and</strong> so too had Atanasoff,<br />

but the Harvard <strong>and</strong> Moore School teams had simply built decimal logic circuits out of b<strong>in</strong>ary basics,<br />

<strong>and</strong>, for technical reasons beyond the scope of this paper, that was actually a circuit designer's<br />

nightmare.<br />

ASIDE: Upon learn<strong>in</strong>g after the war that the Americans had used 18,000 valves <strong>in</strong> their ENIAC, Zuse<br />

is reputed to have shaken his head <strong>and</strong> asked what on earth they had all been for. He <strong>and</strong> Schreyer<br />

had studied valve-based logic circuits <strong>in</strong> 1936 (see Part 2), <strong>and</strong> knew that a b<strong>in</strong>ary system of ENIAC's<br />

overall capability should need less than 3000 valves, that is to say, ENIAC was an order of magnitude<br />

larger than it strictly needed to be. This is a measure of the <strong>in</strong>herent <strong>in</strong>efficiency of try<strong>in</strong>g to do<br />

decimal computation with essentially b<strong>in</strong>ary hardware.<br />

In March 1946, a dispute broke out between Eckert <strong>and</strong> Mauchly on the one h<strong>and</strong>, <strong>and</strong> the University<br />

of Pennsylvania on the other, as to who should own the rights to the ENIAC patents. As a result,<br />

Eckert <strong>and</strong> Mauchly resigned from the Moore School <strong>and</strong> formed the Electronic Control Company,<br />

to be renamed the Eckert-Mauchly Computer Corporation <strong>in</strong> December 1947. Neither the Moore<br />

School, nor Eckert <strong>and</strong> Mauchly, fully recovered from this split.<br />

The decimal-b<strong>in</strong>ary issue was not fully resolved until 1946, when the Hungarian-American John von<br />

Neumann (1903-1957) jo<strong>in</strong>ed the Moore School team, just as they began work on the Electronic<br />

Discrete Variable Automatic Computer, or EDVAC, the ENIAC's replacement. Von Neumann had<br />

visited the ENIAC development <strong>in</strong> August 1944, as part of his fact-f<strong>in</strong>d<strong>in</strong>g duties as academic advisor<br />

to a number of US government agencies, <strong>and</strong> had followed this up with a paper extoll<strong>in</strong>g the virtues of<br />

all th<strong>in</strong>gs b<strong>in</strong>ary <strong>in</strong> 1945 (von Neumann, 1945/1982).<br />

Now the beauty of b<strong>in</strong>ary is that it simultaneously eases data transmission <strong>and</strong> manipulation. In b<strong>in</strong>ary<br />

comput<strong>in</strong>g mach<strong>in</strong>es, <strong>in</strong>formation is stored <strong>in</strong> "b<strong>in</strong>ary digits" (or "bits" for short) [the term "bit" was<br />

<strong>in</strong>troduced <strong>in</strong> the early 1950s by the Institute of Advanced Studies' John Tukey (see next section but<br />

one)]. Conceptually, a bit is either a nought or a one, but physically it can be any convenient local<br />

state with<strong>in</strong> the underly<strong>in</strong>g hardware, typically a voltage be<strong>in</strong>g high or low, a switch be<strong>in</strong>g open or shut,<br />

an area of magnetic medium be<strong>in</strong>g magnetised (that is to say, "written to") or not magnetised ("not<br />

written to"), a hole punched or not punched <strong>in</strong>to a Hollerith card or length of teletypewriter tape, or<br />

whatever. Such changes of state got referred to as "flip-flopp<strong>in</strong>g", <strong>and</strong> any mechanism which could be<br />

used to do it got called a "flip-flop". As a computer designer, therefore, you could store as many bits<br />

of <strong>in</strong>formation as you could build flip-flops.<br />

The time was now right to share a few of the secrets, <strong>and</strong> the Moore School therefore took the very<br />

farsighted step of ensur<strong>in</strong>g that everyone <strong>in</strong> the rapidly burgeon<strong>in</strong>g <strong>in</strong>dustry would all be s<strong>in</strong>g<strong>in</strong>g from<br />

the same hymn book. Between 8th July <strong>and</strong> 31st August 1946, they ran a 48-lecture course entitled


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"Theory <strong>and</strong> Techniques for Design of Electronic Digital Computers". There were 28 officially named<br />

attendees, <strong>in</strong>clud<strong>in</strong>g Maurice V<strong>in</strong>cent Wilkes (Cambridge), <strong>and</strong> Bletchley Park's Irv<strong>in</strong>g J. ("Jack")<br />

Good <strong>and</strong> D. Rees (both by then at the University of Manchester), <strong>and</strong> they were taught by experts<br />

drawn from the Harvard <strong>and</strong> Moore School teams.<br />

EDVAC's sponsor was the BRL at Aberdeen, but without Mauchly <strong>and</strong> Eckert it was a slow <strong>and</strong><br />

troubled development. The mach<strong>in</strong>e was eventually assembled <strong>in</strong> August 1949, but cont<strong>in</strong>ued to<br />

suffer significant teeth<strong>in</strong>g troubles until October 1951. It sported 5000 valves, <strong>and</strong> was fitted with 128<br />

mercury delay l<strong>in</strong>es [see next section], each capable of hold<strong>in</strong>g eight 44-bit words. Eckert expla<strong>in</strong>ed<br />

the project problems this way: "Other people tried to build the mach<strong>in</strong>e that I didn't build, <strong>and</strong> they<br />

managed to foul it up <strong>and</strong> it never got really built decently" (Netl<strong>in</strong>go, onl<strong>in</strong>e). Nevertheless, it<br />

achieved an impressive mean time between failures of around 8 hours (Muuss, 1992/2002). Here is<br />

an analysis of the EDVAC's strengths <strong>and</strong> weaknesses, measured aga<strong>in</strong>st the criteria of modernity<br />

discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

Yes Yes Yes Yes<br />

Revised August 5, 2008 Page 51 of 190<br />

General Purpose<br />

Stored Program<br />

Note that we now have a run of four straight yesses across the EDVAC's key po<strong>in</strong>ts profile, as a result<br />

of which many commentators rate it as the class-def<strong>in</strong><strong>in</strong>g modern computer - the first work<strong>in</strong>g "Eckertvon<br />

Neumann mach<strong>in</strong>e" (see next section but two). The EDVAC should also get the credit for<br />

<strong>in</strong>clud<strong>in</strong>g the first workable "Operat<strong>in</strong>g System" (see Part 4), <strong>and</strong> for solv<strong>in</strong>g the problem of program<br />

"branch<strong>in</strong>g", known officially as "conditional control" .....<br />

Key Development - Conditional Control: This is a facility whereby one mach<strong>in</strong>e <strong>in</strong>struction moves<br />

not to the immediate next but to the beg<strong>in</strong>n<strong>in</strong>g of a logically related series of <strong>in</strong>structions further down<br />

or further up the program. This gives the programmer the ability to apply a degree of modularity to the<br />

totality of his logic. It is a vital part of effective programm<strong>in</strong>g, <strong>and</strong> will be further discussed <strong>in</strong> Part 5<br />

<strong>and</strong> Part 6.<br />

5 - The National Physical Laboratory Projects<br />

Background: Brita<strong>in</strong>'s National Physical Laboratory (NPL) was founded <strong>in</strong> 1902, <strong>and</strong> from its<br />

workshops at Tedd<strong>in</strong>gton, Middlesex, was <strong>in</strong>volved <strong>in</strong> the calibration <strong>and</strong> test<strong>in</strong>g of scientific <strong>and</strong> civil<br />

eng<strong>in</strong>eer<strong>in</strong>g projects for a century. Dur<strong>in</strong>g the war, it took part <strong>in</strong> many top secret research <strong>and</strong><br />

development projects, <strong>in</strong>clud<strong>in</strong>g Barnes Wallis's bounc<strong>in</strong>g bomb, aerodynamics, <strong>and</strong> ship design. In<br />

the late 1940s, the Director of the NPL was Sir Charles Galton Darw<strong>in</strong> (1887-1962; gr<strong>and</strong>son of the<br />

famous naturalist), <strong>and</strong> the Super<strong>in</strong>tendent of the Mathematics Division was John R. Womersley<br />

(1907-1958).<br />

Many Colossus personnel were transferred to the NPL after the war, <strong>in</strong>clud<strong>in</strong>g Alan Tur<strong>in</strong>g <strong>in</strong> October<br />

1945 to lead their computerisation efforts. By 1946 Tur<strong>in</strong>g had compiled plans for a mach<strong>in</strong>e which<br />

was gr<strong>and</strong>ly <strong>in</strong>tended to resolve, given the right programm<strong>in</strong>g <strong>and</strong> sufficient run time, any computable<br />

problem. It was thus a physical realisation of his hypothetical "Tur<strong>in</strong>g Mach<strong>in</strong>e", <strong>and</strong> was orig<strong>in</strong>ally


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>in</strong>tended to be bigger <strong>in</strong> terms of process<strong>in</strong>g power than all the US mach<strong>in</strong>es put together. The NPL,<br />

equally gr<strong>and</strong>ly, believed that if Brita<strong>in</strong> was go<strong>in</strong>g to have a large computer of its own to rival the<br />

American ones, then Tedd<strong>in</strong>gton was "the obvious place for it" (Womersley, 1946). Tur<strong>in</strong>g presented<br />

his proposals <strong>in</strong> a 1945 design draft entitled "A Proposal for Development <strong>in</strong> the Mathematics Division<br />

[of the NPL] of an Automatic Comput<strong>in</strong>g Eng<strong>in</strong>e (ACE)".<br />

ASIDE - System Acronyms: Comput<strong>in</strong>g has a long tradition of the contrived computer acronym.<br />

Unlike ENIAC <strong>and</strong> EDVAC, the ACE was deliberately greater than the sum of its <strong>in</strong>itials. There are<br />

similar "<strong>in</strong> jokes" with LEO, the Lyons mach<strong>in</strong>e, the fact that ACE was followed by DEUCE, <strong>and</strong> the<br />

fact that many nuclear weapons calculations dur<strong>in</strong>g the 1950s were carried out, literally, by a MANIAC.<br />

The project did not make much progress, however, primarily because it was technically overambitious.<br />

The design called for a number of huge technical steps forward (not least a number of<br />

parallel processors <strong>and</strong> a convoluted <strong>in</strong>struction set), <strong>and</strong> was accord<strong>in</strong>gly go<strong>in</strong>g to require more staff<br />

than were available (Flowers, for example, decl<strong>in</strong>ed an offered post because he was busy repair<strong>in</strong>g<br />

the nation's war-damaged telephone system). By December 1946, th<strong>in</strong>gs had got so bad that the NPL<br />

directors called upon one of the delegates to the Moore summer school, Cambridge's Maurice Wilkes,<br />

for an op<strong>in</strong>ion on the project's viability, <strong>and</strong> he wisely suggested that a scaled down version of the<br />

system be put together to test the basics (Wilkes, 1946). This was called the Pilot ACE.<br />

In 1948, Tur<strong>in</strong>g transferred to Max Newman's laboratory at Manchester, <strong>and</strong> the Pilot ACE cont<strong>in</strong>ued<br />

<strong>in</strong> development for two more years under James H. Wilk<strong>in</strong>son <strong>and</strong> E.A. Newman, <strong>and</strong> executed its<br />

first program on 10th May 1950 (mak<strong>in</strong>g it, they claim, the fourth group <strong>in</strong> the world to deliver a stored<br />

program electronic digital computer), <strong>and</strong> was publicly demonstrated <strong>in</strong> December that same year. It<br />

conta<strong>in</strong>ed a mere 800 valves, could perform 16,000 simple additions per second <strong>in</strong> optimal conditions<br />

(mak<strong>in</strong>g it very fast for its day), <strong>and</strong> <strong>in</strong>put <strong>and</strong> output were on punched cards. The mach<strong>in</strong>e also had<br />

available 18 delay l<strong>in</strong>es (eleven slow ones, each capable of stor<strong>in</strong>g 32 32-bit words, <strong>and</strong> seven<br />

smaller but faster) .....<br />

Key Development - Delay L<strong>in</strong>es: This was an apparatus capable of ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g an electrical pulse<br />

tra<strong>in</strong> <strong>in</strong>def<strong>in</strong>itely, by constantly us<strong>in</strong>g it to repropagate itself. The British National Physical Laboratory<br />

(see next section) commissioned Dollis Hill's Flowers <strong>and</strong> Coombs to do some basic research here <strong>in</strong><br />

June 1946, <strong>and</strong> they had a prototype 1000-bit delay l<strong>in</strong>e work<strong>in</strong>g <strong>in</strong> January 1947. The most common<br />

form was the "mercury acoustic delay l<strong>in</strong>e", an elongated bath of mercury, some one to two metres<br />

long, with a crystal oscillator at both ends. The pulse tra<strong>in</strong> was <strong>in</strong>put to the oscillator at one end, <strong>and</strong><br />

thereby generated a match<strong>in</strong>g pressure wave (push or no-push) with<strong>in</strong> the mercury. This was then<br />

detected by the oscillator at the far end, <strong>and</strong> converted back <strong>in</strong>to electrical pulses. Typically about<br />

sixteen 35-bit words would be <strong>in</strong> transit between the oscillators at any one time, arriv<strong>in</strong>g at around one<br />

bit per microsecond. The processor had to wait for the desired word to arrive at the far end before it<br />

could retrieve it, which was a major source of microdelay. Delay l<strong>in</strong>es were used on the EDVAC, Pilot<br />

ACE, EDSAC, BINAC, <strong>and</strong> UNIVAC systems, <strong>and</strong> can be described as reliable but slow.<br />

Another GCCS veteran, Treorchy-born Donald W. Davies (1924-2000), jo<strong>in</strong>ed the project as a<br />

mathematician <strong>in</strong> September 1947, <strong>and</strong> made important contributions to the f<strong>in</strong>al design. He also<br />

coded an early noughts-<strong>and</strong>-crosses computer game before go<strong>in</strong>g on to become a major force <strong>in</strong><br />

packet-switch<strong>in</strong>g data transmissions (an ancestor of today's Internet). Pilot ACE was decommissioned<br />

<strong>in</strong> June 1956, <strong>and</strong> its ma<strong>in</strong> components are <strong>in</strong> the Science Museum. Work on the larger follow-up<br />

mach<strong>in</strong>es, DEUCE, Full ACE, <strong>and</strong> the American ACE-clone, the Bendix G15, is described <strong>in</strong> Part 4.<br />

The NPL was also <strong>in</strong>volved <strong>in</strong> one of the early defence computers, MOSAIC.<br />

Revised August 5, 2008 Page 52 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

6 - The IAS Mach<strong>in</strong>e <strong>and</strong> the "Eckert-von Neumann" Architecture<br />

Hav<strong>in</strong>g <strong>in</strong>fluenced the design of the Moore School's EDVAC, von Neumann returned to Pr<strong>in</strong>ceton <strong>and</strong><br />

set up a project there <strong>in</strong> March 1946, sponsored by the US's newly formed Office of Naval Research.<br />

The <strong>in</strong>tention was to build the best that could be built <strong>in</strong> terms of performance <strong>and</strong> reliability. It was<br />

named the IAS mach<strong>in</strong>e, after the host<strong>in</strong>g Institute of Advanced Studies. The project was led by von<br />

Neumann, <strong>and</strong> implemented the basic design he had been preach<strong>in</strong>g s<strong>in</strong>ce 1944 (see under ENIAC<br />

above). The result<strong>in</strong>g hardware sported 3000 valves, <strong>and</strong> adopted a b<strong>in</strong>ary process<strong>in</strong>g with a parallel<br />

bus. It could store 2048 40-bit words on magnetic drum <strong>and</strong> 1024 words <strong>in</strong> electronic form. It was fast,<br />

be<strong>in</strong>g capable of 30,000 simple <strong>in</strong>structions per second (or 1000 complex <strong>in</strong>structions such as<br />

division). One of their team, a programmer named John Wilder Tukey (1915-2000), is famous for<br />

hav<strong>in</strong>g co<strong>in</strong>ed the terms "bit" (a contraction of "b<strong>in</strong>ary digit") <strong>and</strong> "software".<br />

Alert readers will have noted how John von Neumann's name has occurred several times so far.<br />

Basically, this is because he had established a considerable reputation as a mathematical genius<br />

before the war. He had jo<strong>in</strong>ed the staff at Pr<strong>in</strong>ceton University <strong>in</strong> 1930, <strong>and</strong> <strong>in</strong> 1933 had became one<br />

of the six mathematics professors at their newly founded Institute for Advanced Studies. He was thus<br />

automatically <strong>in</strong>volved <strong>in</strong> any computer development carried out at Pr<strong>in</strong>ceton, <strong>and</strong>, by virtue of his<br />

em<strong>in</strong>ence, as advisor to a host of projects elsewhere (not least, the Manhattan Project). He also<br />

taught the young English postgraduate Alan Tur<strong>in</strong>g between 1936 <strong>and</strong> 1938, before the latter returned<br />

to Brita<strong>in</strong> to work on the British codebreak<strong>in</strong>g effort.<br />

Above all, von Neumann had used the war years to crystalise a particular technical vision of how<br />

digital computers ought to work, <strong>and</strong> <strong>in</strong> the clos<strong>in</strong>g months of the war he drew up the plans for what<br />

came to be called the "von Neumann architecture" for a "general purpose computer" (GPC). His<br />

proposals were published <strong>in</strong> Goldst<strong>in</strong>e <strong>and</strong> von Neumann (1945), von Neumann (1945), <strong>and</strong> Burks,<br />

Goldst<strong>in</strong>e, <strong>and</strong> von Neumann (1946), <strong>and</strong> did much to foster the necessary common underst<strong>and</strong><strong>in</strong>g<br />

<strong>and</strong> st<strong>and</strong>ardisation of approach.<br />

ASIDE: The technical vision was not uniquely von Neumann's, but only he comb<strong>in</strong>ed the<br />

underst<strong>and</strong><strong>in</strong>g with a position of sufficient <strong>in</strong>fluence to do someth<strong>in</strong>g about it (Zuse, by contrast, was<br />

probably technically ahead <strong>in</strong> 1946, but was work<strong>in</strong>g on a shoestr<strong>in</strong>g <strong>in</strong> a country ravaged by war). In<br />

the rema<strong>in</strong>der of this paper, we are go<strong>in</strong>g to follow Maurice Wilkes' argument (Hipwell, 1999) that<br />

ENIAC's Presper Eckert contributed at least as much real substance to this architecture as the more<br />

theoretical von Neumann. He therefore prefers the term "Eckert-von Neumann architecture".<br />

In the event, there was little disagreement over von Neumann's proposed macro-architecture,<br />

because <strong>in</strong> terms of its ma<strong>in</strong> modules it was essentially little different to Babbage's Analytical Eng<strong>in</strong>e,<br />

a century beforeh<strong>and</strong> [see Part 1]. To qualify as an "Eckert-von Neumann mach<strong>in</strong>e", a computer has<br />

to have a number of particular qualities:<br />

it needs to be electronic not electromechanical<br />

it needs to be digital not analog<br />

it needs a b<strong>in</strong>ary micro-architecture, not decimal<br />

it needs to be functionally organised so as to have separate modules for (1) memory, (2) control<br />

unit, (3) calculation, <strong>and</strong> (4) communication with the outside world (ie. <strong>in</strong>put/output, or "I/O" for<br />

short), all <strong>in</strong>terconnected by a wir<strong>in</strong>g loom known as the "bus" (a term derived from the "bus-bars"<br />

used to carry signals around the old electromechanical switch<strong>in</strong>g gear).<br />

Revised August 5, 2008 Page 53 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

it needs to run b<strong>in</strong>ary stored programs from memory, access<strong>in</strong>g b<strong>in</strong>ary data temporarily <strong>in</strong> that<br />

same memory (from which it follows that the control unit must be able to tell the one type of<br />

content from the other - or else).<br />

These were the design concepts put across at the 1946 Moore School summer school, <strong>and</strong> they<br />

<strong>in</strong>fluenced the design of every mach<strong>in</strong>e then <strong>in</strong> the pipel<strong>in</strong>e except the decimal computer ENIAC,<br />

which was already too near completion to do anyth<strong>in</strong>g about. Specifically, it evolved <strong>in</strong>to Williams <strong>and</strong><br />

Kilburn's Manchester Mark 1, the NPL's Pilot ACE, Eckert <strong>and</strong> Mauchley's BINAC, the Institute of<br />

Advanced Studies' mach<strong>in</strong>e, <strong>and</strong> Wilkes' EDSAC. In short, the Eckert-von Neumann architecture<br />

shaped the computer as we know it today. It is therefore necessary to look <strong>in</strong> greater detail at the<br />

functional components, because a large proportion of modern computer jargon dates from these<br />

mach<strong>in</strong>es - click to be transferred to the associated subfile.<br />

7 - The Eng<strong>in</strong>eer<strong>in</strong>g Research Associates Mach<strong>in</strong>es<br />

Eng<strong>in</strong>eer<strong>in</strong>g Research Associates (ERA) was formed <strong>in</strong> January 1946 by a team of experts from the<br />

American wartime cryptanalysis effort. They were led by Howard T. Engstrom (1902-1962), previously<br />

a Yale mathematics professor, <strong>and</strong> William C. Norris (1911-). The company was based <strong>in</strong> St. Paul,<br />

MN, <strong>and</strong> did well thanks to the US military's cont<strong>in</strong>u<strong>in</strong>g need for code-break<strong>in</strong>g number crunch<strong>in</strong>g. In<br />

fact, at a time when some of the Moore School <strong>and</strong> Harvard developments were struggl<strong>in</strong>g, ERA were<br />

soon "one of the most advanced computer companies <strong>in</strong> the world" (source). Their largest project<br />

dur<strong>in</strong>g this period was the 1947 "Task 13" project, another early attempt at a general purpose stored<br />

program computer. Gray (1999/2003 onl<strong>in</strong>e) is the most accessible source on the result<strong>in</strong>g ERA 1101.<br />

The early work was subsequently scaled up as the Atlas ma<strong>in</strong>frame, <strong>and</strong> ownership transferred <strong>in</strong><br />

1952 when ERA merged <strong>in</strong>to the Rem<strong>in</strong>gton-R<strong>and</strong> Corporation. As expla<strong>in</strong>ed <strong>in</strong> Part 4 (Section 1.3),<br />

the Atlas then formed the basis of the UNIVAC 1103 production mach<strong>in</strong>e. ERA's senior staff were<br />

never entirely happy as part of Rem<strong>in</strong>gton, <strong>and</strong> <strong>in</strong> 1957 Norris led a m<strong>in</strong>or exodus to set up the<br />

Control Data Corporation.<br />

8 - The St<strong>and</strong>ards Bureau Mach<strong>in</strong>es<br />

The American National Bureau of St<strong>and</strong>ards (NBS) also became <strong>in</strong>volved <strong>in</strong> early computer<br />

development. This came about thanks to their prior <strong>in</strong>terest <strong>in</strong> the production of mathematical tables -<br />

experience which meant they had to work very closely with military research units dur<strong>in</strong>g the war. This<br />

cooperation cont<strong>in</strong>ued after the war, <strong>and</strong> <strong>in</strong> 1947 the Office of Naval Research sponsored the<br />

"National Applied Mathematics Laboratories" (NAML) as the division of NBS responsible for advis<strong>in</strong>g<br />

government agencies on comput<strong>in</strong>g issues. This brought with it a research fund<strong>in</strong>g role, <strong>and</strong> resulted<br />

<strong>in</strong> two computer development projects. The first contract went <strong>in</strong> October 1948 to the Institute for<br />

Numerical Analysis at the University of California, Los Angeles (UCLA), under the direction of wartime<br />

code-breaker Harry D. Huskey, <strong>and</strong> the other went to its headquarters laboratories <strong>in</strong> Wash<strong>in</strong>gton, DC,<br />

under the direction of Samuel N. Alex<strong>and</strong>er .....<br />

BIOGRAPHICAL ASIDE - HARRY D. HUSKEY: [Compiled from a number of Internet sources.] Harry<br />

D. Huskey (1916-) became <strong>in</strong>volved <strong>in</strong> ENIAC <strong>in</strong> 1944, when it was about half built, <strong>and</strong> worked on<br />

<strong>in</strong>put <strong>and</strong> output devices for the mach<strong>in</strong>e. When the ENIAC team started to split up, he accepted an<br />

<strong>in</strong>vitation from the UK to jo<strong>in</strong> the ACE project at the NPL [see Section 5], where he was <strong>in</strong>strumental<br />

<strong>in</strong> <strong>in</strong>itiat<strong>in</strong>g the construction of a test model. On return<strong>in</strong>g to the USA <strong>in</strong> 1948, he jo<strong>in</strong>ed the NBS,<br />

which then pursued two different l<strong>in</strong>es of development: the serial SEAC <strong>and</strong> the parallel SWAC.<br />

Huskey designed SWAC <strong>in</strong> 1950-53. He moved to UC Berkeley <strong>in</strong> 1957 <strong>and</strong> <strong>in</strong> 1966 founded the<br />

Computer Science Department at UC Santa Cruz. After SWAC, Huskey designed a "m<strong>in</strong>icomputer"<br />

built by Bendix as their G15.<br />

Revised August 5, 2008 Page 54 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

BIOGRAPHICAL ASIDE - SAMUEL N. ALEXANDER: From the Charles Babbage Institute website:<br />

"Alex<strong>and</strong>er received his A.B. <strong>and</strong> B.S. from the University of Oklahoma <strong>in</strong> 1931, <strong>and</strong> earned his M.S.<br />

from the Massachusetts Institute of Technology <strong>in</strong> 1933. He was a laboratory eng<strong>in</strong>eer for Simplex<br />

Wire & Cable Company, a physicist <strong>in</strong> electronic <strong>in</strong>strumentation for the Navy, <strong>and</strong> senior project<br />

eng<strong>in</strong>eer for Bendix Aviation Corporation, before com<strong>in</strong>g to the National Bureau of St<strong>and</strong>ards <strong>in</strong> 1946.<br />

There he was chief of the Electronic Computer Laboratory, 1946-1954; head of Data Process<strong>in</strong>g<br />

Systems Division, 1954-1964; <strong>and</strong> head of the Information Technology Division, 1964 until his death<br />

<strong>in</strong> 1967. He worked on development of <strong>in</strong>put-output devices for use with electronic computers <strong>and</strong><br />

wrote specifications for <strong>and</strong> supervised the procurement of the UNIVAC computer. When delivery of<br />

this computer was delayed by design problems, he was assigned to direct the design <strong>and</strong> assembly of<br />

the NBS Interim Computer, later named SEAC".<br />

Due to the widely separated geographical locations of the two development sites, the systems<br />

became known as St<strong>and</strong>ards Western Automatic Computer (SWAC) <strong>and</strong> St<strong>and</strong>ards Eastern<br />

Automatic Computer (SEAC) respectively. SWAC was a serial process<strong>in</strong>g mach<strong>in</strong>e fitted with 40<br />

Williams-Kilburn electrostatic storage tubes, giv<strong>in</strong>g a total memory capacity of 256 40-bit words.<br />

Back<strong>in</strong>g storage was on an 8192 word magnetic drum. The system rema<strong>in</strong>ed <strong>in</strong> use until 1962. SEAC<br />

was basically an EDVAC clone (Huskey, 1980), <strong>and</strong> thus a serial process<strong>in</strong>g mach<strong>in</strong>e. Its memory<br />

<strong>in</strong>itially consisted of 3072 bytes of mercury delay l<strong>in</strong>e storage (Kirsch, 2003 onl<strong>in</strong>e). Be<strong>in</strong>g a simpler<br />

design, <strong>and</strong> prioritised as a stop gap mach<strong>in</strong>e to compensate for delays on the UNIVAC project, it was<br />

ready earlier than SWAC, go<strong>in</strong>g operational <strong>in</strong> May 1950 (Ibid.). Urban (2001/2003 onl<strong>in</strong>e) offers<br />

some <strong>in</strong>formative <strong>and</strong> enterta<strong>in</strong><strong>in</strong>g rem<strong>in</strong>iscences.<br />

9 - The Whirlw<strong>in</strong>d Project<br />

At MIT, meanwhile, their summer school delegates had gone straight to work on a mach<strong>in</strong>e called<br />

"Whirlw<strong>in</strong>d". This work was carried out under the aegis of Professor Gordon S. Brown (1907-1996),<br />

then the world authority on the theory of servomechanisms (see, for example, Brown <strong>and</strong> Campbell,<br />

1948), whose Servomechanisms Laboratory had already spent the war years on the sort of analog<br />

computation, power-assisted, fire control mechanisms which had transformed the fire control <strong>in</strong>dustry<br />

from ready reckoner to lethal science. The sponsor, once aga<strong>in</strong>, was the Office of Naval Research.<br />

Now it so happened that one of Brown's 1944 projects had been the US Navy's ASCA flight simulation<br />

system. This was be<strong>in</strong>g developed to an analog computer specification, with the recently graduated<br />

Jay Wright Forrester (1918-) <strong>in</strong> charge of the comput<strong>in</strong>g aspects, <strong>and</strong>, by a fortunate co<strong>in</strong>cidence,<br />

Forrester had on his team a young eng<strong>in</strong>eer named Perry Crawford. Crawford had written his master's<br />

thesis on the topic of digital fire control systems, <strong>and</strong> accord<strong>in</strong>g to Forrester himself was the person<br />

who first called his attention to the possibility of digital computation. Forrester accord<strong>in</strong>gly proposed<br />

that Whirlw<strong>in</strong>d should do the ASCA process<strong>in</strong>g digitally, rather than electromechanically, <strong>and</strong> work<br />

began aga<strong>in</strong>st the revised digital specification <strong>in</strong> early 1946. It then cont<strong>in</strong>ued as a series of<br />

<strong>in</strong>cremental developments until a system was ready for acceptance trials <strong>in</strong> early 1950. The <strong>in</strong>itial<br />

specification was for a ten-ton mach<strong>in</strong>e offer<strong>in</strong>g 32 different op codes. The Williams-Kilburn Tube (see<br />

next section but one) was for rapid access memory until that technology was replaced <strong>in</strong> 1953.<br />

Gordon Welchman, late of Bletchley Park, assisted the application development team between 1948<br />

<strong>and</strong> 1951. One of the first systems programmers was Jack Gilmore, who has some brief<br />

rem<strong>in</strong>iscences on l<strong>in</strong>e.<br />

The Whirlw<strong>in</strong>d project is rightly famous for hav<strong>in</strong>g <strong>in</strong>troduced ferrite core RAM, <strong>and</strong> for promot<strong>in</strong>g the<br />

use of subrout<strong>in</strong>es. The ferrite story began <strong>in</strong> 1949, when a Harvard researcher named An Wang<br />

Revised August 5, 2008 Page 55 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

(1920-1990) developed the ferrite toroid s<strong>in</strong>gle bit flip-flop, <strong>and</strong> cont<strong>in</strong>ued <strong>in</strong> 1951 when an MIT<br />

researcher used these units to build a workable "core memory" .....<br />

Critical Invention - The Ferrite Toroid (1949) <strong>and</strong> Ferrite Core <strong>Memory</strong> (1951): Wang's <strong>in</strong>vention<br />

was a t<strong>in</strong>y ferrite toroid. Ferrite is a clay-iron oxide mix, baked as a ceramic. It therefore has good<br />

magnetic properties. Before fir<strong>in</strong>g, the mixture can readily be pressed <strong>in</strong>to shape. A toroid is the<br />

technical name for the shape of a doughnut, so it has a central hole through which a th<strong>in</strong> wire can be<br />

passed. The passage of a current through the wire will then affect the magnetic state of the ferrite,<br />

<strong>and</strong> the magnetic state of the ferrite will affect the pass<strong>in</strong>g current. This therefore offered a<br />

conceptually neat way of l<strong>in</strong>k<strong>in</strong>g two electrical states (On/Off) with two magnetic states (On/Off), or, to<br />

put it another way, of stor<strong>in</strong>g electrical pulses <strong>in</strong> ferrite on dem<strong>and</strong>, <strong>and</strong> retriev<strong>in</strong>g them as electrical<br />

pulses when needed. Wang filed for a patent on 21st October 1949 (granted 17th May 1955), but his<br />

<strong>in</strong>vention fell short of RAM as we know it today, largely because Wang himself did not fully realise the<br />

implications of what he had done. This required a second advance, namely of wir<strong>in</strong>g the ferrite toroids<br />

from two directions at once, that is to say, of pass<strong>in</strong>g two wires through each toroid so that they ended<br />

up strung together like the knots ("nodes") on a fish<strong>in</strong>g net. The technique was developed by MIT's<br />

Whirlw<strong>in</strong>d team <strong>in</strong> 1951, <strong>and</strong> a matrix of 16,384 toroids was fitted to the Whirlw<strong>in</strong>d <strong>in</strong> August 1953 [for<br />

a picture, click here]. The technology rema<strong>in</strong>ed <strong>in</strong> use until the mid-1970s, when <strong>in</strong>tegrated circuits<br />

allowed much greater m<strong>in</strong>iaturisation.<br />

Waldrop (2001) po<strong>in</strong>ts out that Whirlw<strong>in</strong>d was not designed for calculat<strong>in</strong>g per se. It was built as an<br />

electronic flight simulator, "a mach<strong>in</strong>e for which there was never an 'answer', just a constantly<br />

chang<strong>in</strong>g sequence of pilot actions <strong>and</strong> simulated aircraft responses" (p73). In consequence, the<br />

mach<strong>in</strong>e rates as the first major real-time digital computer. Forrester subsequently spent a number of<br />

years network<strong>in</strong>g a large number of Whirlw<strong>in</strong>d clones <strong>in</strong>to a giant comm<strong>and</strong> <strong>and</strong> control system known<br />

as SAGE, which effectively was US strategic air defence between 1963 <strong>and</strong> 1983.<br />

10 - The IBM SSEC<br />

The Selective Sequence Electronic Calculator (SSEC) was IBM's first <strong>in</strong>-house digital comput<strong>in</strong>g<br />

project, <strong>and</strong> it owes much of its success to the fact that it was conceived <strong>in</strong> a moment of anger. Pugh<br />

(1984) suggests that IBM's Thomas J. Watson Sr was so deeply angered by the lack of credit given to<br />

IBM dur<strong>in</strong>g the development of the Harvard Mark 1 that he authorised the follow-up project <strong>in</strong>-house.<br />

The project began <strong>in</strong> March 1945, <strong>and</strong> was led by Wallace J. Eckert, orig<strong>in</strong>ally a Columbia University<br />

astronomer. Faced with some difficult astronomical calculations dur<strong>in</strong>g the 1930s, Eckert had pushed<br />

IBM's tabulat<strong>in</strong>g equipment to, <strong>and</strong> beyond, its limits, so that by 1934 it could carry out multiplications<br />

<strong>and</strong> subtractions as well as additions, <strong>and</strong> could do so, moreover, <strong>in</strong> simple controlled sequences.<br />

When Watson wanted someone good, <strong>and</strong> someone non-Harvard, Eckert got the job. The<br />

specifications were ready <strong>in</strong> January 1946, <strong>and</strong> at Watson's direct <strong>in</strong>sistence outperformed everyth<strong>in</strong>g<br />

Harvard was work<strong>in</strong>g on. The mach<strong>in</strong>e was ready <strong>in</strong> July 1947, was publicly announced on 27th<br />

January 1948, <strong>and</strong> consisted of 21,500 relays <strong>and</strong> 12,500 valves. It had eight 20-decimal digit<br />

registers, <strong>and</strong> could perform about 250 simple additions per second. It was replaced <strong>in</strong> 1952 by the<br />

IBM701 series (see Part 4). Apart from anyth<strong>in</strong>g else, the SSEC earned some of its fame from the fact<br />

that Watson sited its computer hall at 590 Madison Avenue, New York, where it was deliberately<br />

visible from the street [picture]. As a result, the SSEC rapidly became the popular image of what<br />

computers ought to look like.<br />

11 - The Manchester University Mach<strong>in</strong>es<br />

Some of the Bletchley Park team, <strong>in</strong>itially Newman, Good, <strong>and</strong> Rees, but eventually Tur<strong>in</strong>g himself,<br />

together with some of the TRE people, notably Frederic (later Sir Frederic) Call<strong>and</strong> Williams (1911-<br />

Revised August 5, 2008 Page 56 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1977), Thomas ("Tom") Kilburn (1921-2001), <strong>and</strong> Geoff Tootill, ended up after the war at Manchester<br />

University. Newman, Good, <strong>and</strong> Rees were the first to arrive <strong>in</strong> around October 1945, <strong>and</strong><br />

strengthened the Department of Mathematics. Good <strong>and</strong> Rees were amongst the delegates to the<br />

1946 Moore School summer school, <strong>and</strong>, upon their return, the team sketched out the design for a<br />

second British Tur<strong>in</strong>g mach<strong>in</strong>e (to complement Tur<strong>in</strong>g's own proposed Tur<strong>in</strong>g mach<strong>in</strong>e at the<br />

NPL). Williams arrived <strong>in</strong> January 1947 as Professor of "Electrotechnics", <strong>and</strong> Kilburn <strong>and</strong> Tootill<br />

(<strong>in</strong>itially on secondment from TRE) jo<strong>in</strong>ed later. Us<strong>in</strong>g TRE surplus equipment, the team started to put<br />

together a Small-Scale Experimental Mach<strong>in</strong>e - the SSEM, or "Baby".<br />

ASIDE: Burton (2003 personal communication) attributes the design of the SSEM to Kilburn, assisted<br />

by Tootill, <strong>and</strong> po<strong>in</strong>ts out that the motivation was as much the <strong>in</strong>vestigation of storage technology as<br />

computation.<br />

The ma<strong>in</strong> SSEM build took place dur<strong>in</strong>g 1947, <strong>and</strong> the mach<strong>in</strong>e ran its first program 21st June 1948. It<br />

conta<strong>in</strong>ed some 500 valves, could process seven different <strong>in</strong>structions, <strong>and</strong> could access up to 1024<br />

bits of r<strong>and</strong>omly accessible <strong>in</strong>formation on what has come to be known as a Williams-Kilburn<br />

[Cathode Ray] Tube .....<br />

Key Development - Williams-Kilburn [Cathode Ray] Tube: This was a cathode ray tube (CRT)<br />

(just like those used <strong>in</strong> televisions), which made use of the one-second-or-so residual electrostatic<br />

charge left on the screen follow<strong>in</strong>g each pass<strong>in</strong>g of the electron beam [for technical details, see the<br />

Manchester University website]. Appropriately equipped with sensors, CRTs could thus operate as<br />

fast "r<strong>and</strong>om access" devices. The technology was subsequently used on the IAS mach<strong>in</strong>e, the<br />

Manchester Mark 1, <strong>and</strong> the Whirlw<strong>in</strong>d project (until it developed ferrite core RAM <strong>in</strong> 1953), <strong>and</strong> can<br />

be described as fast but not particularly reliable. Impressed by the speed factor as a market<strong>in</strong>g<br />

advantage <strong>in</strong> their confrontation with Rem<strong>in</strong>gton-R<strong>and</strong>, IBM did much to improve the reliability of CRT<br />

technology, <strong>and</strong> <strong>in</strong>stalled the technology <strong>in</strong> the highly successful IBM701 series (see Part 4).<br />

The Baby was the world's first stored program mach<strong>in</strong>e (beat<strong>in</strong>g BINAC - see below - by n<strong>in</strong>e months),<br />

<strong>and</strong> Kilburn wrote the first program. Tootill's technical notebook is now partly onl<strong>in</strong>e, <strong>and</strong> shows some<br />

of the possible operations [page 28 is from 19th June 1948, <strong>and</strong> gives a particularly good idea of the<br />

sort of programm<strong>in</strong>g <strong>in</strong>volved]. The system was demonstrated to Sir Ben Lockspeiser, Chief Scientist<br />

at the M<strong>in</strong>istry of Supply, <strong>in</strong> October 1948, <strong>and</strong> he was so impressed that government fund<strong>in</strong>g was<br />

made available via Ferranti Limited for a scaled up version (Lav<strong>in</strong>gton, 1980/2002 onl<strong>in</strong>e). This was<br />

known as the "Ferranti Mark 1".<br />

ASIDE: There is some confusion <strong>in</strong> the literature as to the evolutionary tree lead<strong>in</strong>g from SSEM to the<br />

Ferranti Mark 1, especially when the name "Manchester Mark 1" is seen. If <strong>in</strong>terested <strong>in</strong> the exact l<strong>in</strong>e<br />

of <strong>in</strong>heritance, see the University of Manchester's own material on SSEM, Manchester Mark 1, <strong>and</strong><br />

Ferranti Mark 1.<br />

Tur<strong>in</strong>g jo<strong>in</strong>ed the Mathematics Department as reader <strong>in</strong> 1948, whilst among the younger members of<br />

the electrotechnics team were the Cwmamman-born Gordon Eric ("Tommy") Thomas (1928-), the<br />

Pontypridd-born David B.G. ("Dai") Edwards (1928-), Alec Rob<strong>in</strong>son, Richard Grimsdale, <strong>and</strong> J.C.<br />

("Cliff") West. Tommy Thomas's website is full of <strong>in</strong>formative fact <strong>and</strong> anecdote, <strong>and</strong> shows that the<br />

Internet is no barrier to the properly tra<strong>in</strong>ed old-timer. The Mark 1 also had access to more permanent<br />

storage on a magnetic drum.<br />

Revised August 5, 2008 Page 57 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Development - Magnetic Drum: This was a non-ferrous cyl<strong>in</strong>der, coated with magnetic medium,<br />

<strong>and</strong> rotated aga<strong>in</strong>st a row of magnetic read-write heads connected to the <strong>in</strong>put-output controller. It<br />

could thus be used a temporary storage for one or more rotations of the drum dur<strong>in</strong>g program<br />

execution, or as back<strong>in</strong>g storage between programs. Drums were used on the Manchester Mark 1 [for<br />

pictures, click here], <strong>and</strong> the Whirlw<strong>in</strong>d project (although aga<strong>in</strong> only until it developed ferrite core RAM<br />

<strong>in</strong> 1953).<br />

12 - The Cambridge University EDSAC <strong>and</strong> the Lyons LEO<br />

Cambridge University's attempt at an Eckert-von Neumann mach<strong>in</strong>e was led by Maurice Wilkes. The<br />

mach<strong>in</strong>e <strong>in</strong> question was the Electronic Delay Storage Automatic Calculator, or EDSAC. Work<br />

began as soon as Wilkes returned from the Moore School summer school, <strong>and</strong> the team <strong>in</strong>cluded J.<br />

Bennett, W. Renwick, R. Piggott, S.A. Barton, David J. Wheeler, <strong>and</strong> (later) Stan Gill. The<br />

development lifecycle was carefully managed, <strong>and</strong> the mach<strong>in</strong>e went live just under three years later,<br />

on 6th May 1949. It was based around 32 r<strong>and</strong>om access mercury delay l<strong>in</strong>es, each hold<strong>in</strong>g 16 35-bit<br />

words, could execute around 750 simple additions per second, <strong>and</strong> was used to support departmental<br />

research across the university. Here is the complete set of EDSAC "order codes", as laid down <strong>in</strong><br />

Wilkes <strong>and</strong> Renwick (1950/1982). Note (a) how <strong>in</strong>put <strong>and</strong> output feed <strong>in</strong> <strong>and</strong> out of memory (the<br />

"storage locations" mentioned), <strong>and</strong> (b) how memory is manipulated by accumulators <strong>and</strong> registers.<br />

This is still how computers do their work. The hard part is do<strong>in</strong>g it all <strong>in</strong> the right order, <strong>and</strong> that is<br />

where computer programmers (<strong>and</strong> lots <strong>and</strong> lots of very expensive time for test<strong>in</strong>g) come <strong>in</strong>.<br />

A n = Add the number <strong>in</strong> storage location n <strong>in</strong>to the accumulator.<br />

S n = Subtract the number <strong>in</strong> storage location n from the accumulator.<br />

H n = Transfer the number <strong>in</strong> storage location n <strong>in</strong>to the multiplier register.<br />

V n = Multiply the number <strong>in</strong> storage location n by the number <strong>in</strong> the multiplier register <strong>and</strong> add <strong>in</strong>to<br />

the accumulator.<br />

N n = Multiply the number <strong>in</strong> storage location n by the number <strong>in</strong> the multiplier register <strong>and</strong> subtract<br />

from the accumulator.<br />

T n = Transfer the contents of the accumulator to storage location n <strong>and</strong> clear the accumulator.<br />

U n = Transfer the contents of the accumulator to storage location n <strong>and</strong> do not clear the accumulator.<br />

C n = Collate the number <strong>in</strong> storage location n with the number <strong>in</strong> the multiplier register, ie. add a '1'<br />

<strong>in</strong>to the accumulator <strong>in</strong> digital positions where both numbers have a '1', <strong>and</strong> a '0' <strong>in</strong> other digital<br />

positions.<br />

R 2 n-2 = Shift the number <strong>in</strong> the accumulator n places to the right; ie multiply it by 2 -n .<br />

L 2 n-2 = Shift the number <strong>in</strong> the accumulator n places to the left; ie multiply it by 2 n .<br />

E n = If the number <strong>in</strong> the accumulator is greater than or equal to zero execute next the order which<br />

st<strong>and</strong>s <strong>in</strong> storage location n, otherwise proceed serially.<br />

Revised August 5, 2008 Page 58 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

G n = If the number <strong>in</strong> the accumulator is less than zero execute next the order which st<strong>and</strong>s <strong>in</strong><br />

storage location n, otherwise proceed serially.<br />

I n = Read the next row of holes on the tape <strong>and</strong> place the result<strong>in</strong>g 5 digits <strong>in</strong> the least significant<br />

places of storage location n.<br />

O n = Pr<strong>in</strong>t the character now set up on the teletypewriter <strong>and</strong> replace it with the character<br />

represented by the five most significant digits <strong>in</strong> storage location n.<br />

F n = Place the five digits which represent the character next to be pr<strong>in</strong>ted by the teletypewriter <strong>in</strong> the<br />

five most significant digits <strong>in</strong> storage location n.<br />

X = Round off the number <strong>in</strong> the accumulator to 16 b<strong>in</strong>ary digits.<br />

Y = Round off the number <strong>in</strong> the accumulator to 34 b<strong>in</strong>ary digits.<br />

Z = stop the mach<strong>in</strong>e <strong>and</strong> r<strong>in</strong>g the warn<strong>in</strong>g bell.<br />

Wilkes <strong>and</strong> Renwick cont<strong>in</strong>ue:<br />

"Ord<strong>in</strong>ary 5-hole punched tape of the k<strong>in</strong>d used <strong>in</strong> telegraphy is used for <strong>in</strong>put. Each row of holes<br />

represents a 5-digit b<strong>in</strong>ary number <strong>and</strong> the basic <strong>in</strong>put operation is to transfer this number to the<br />

store." (Wilkes <strong>and</strong> Renwick, 1950/1982, p418.)<br />

Wilkes is often credited with the <strong>in</strong>vention of "Assembly Code", the generic name for software which<br />

translates human-readable <strong>in</strong>structions <strong>in</strong>to mach<strong>in</strong>e <strong>in</strong>structions [more on this <strong>in</strong> Part 4 (Section 3.2)].<br />

EDSAC was replaced <strong>in</strong> 1957 by EDSAC II.<br />

Here is an analysis of the EDSAC's strengths <strong>and</strong> weaknesses, measured aga<strong>in</strong>st the criteria of<br />

modernity discussed so far .....<br />

Electronic rather<br />

than<br />

Electromechanical<br />

Digital rather than<br />

Analog<br />

B<strong>in</strong>ary rather than<br />

Decimal<br />

Yes Yes Yes Yes<br />

Revised August 5, 2008 Page 59 of 190<br />

General Purpose<br />

Stored Program<br />

The EDSAC was also the prototype for the Lyons Electronic Office ("LEO") series of production<br />

mach<strong>in</strong>es. Aris (2000) beg<strong>in</strong>s this story <strong>in</strong> 1923, when J. Lyons <strong>and</strong> Company, tea merchants <strong>and</strong><br />

caterers, took on a Cambridge University mathematics graduate named John Simmons <strong>in</strong> order to<br />

br<strong>in</strong>g some scientific rigour <strong>in</strong>to the design <strong>and</strong> operation of its corporate processes. Slowly Lyons<br />

became one of Brita<strong>in</strong>'s best managed companies, <strong>and</strong> experts <strong>in</strong> what was then known as "O <strong>and</strong> M"<br />

(= organisation <strong>and</strong> methods) or "OR" (= operational research). This exposed them to the tabulat<strong>in</strong>g<br />

<strong>and</strong> calculat<strong>in</strong>g equipment of the time, <strong>and</strong> they began to <strong>in</strong>corporate this <strong>in</strong> very creative ways <strong>in</strong>to<br />

their corporate systems. Indeed Simmons's motto was that an organisation's records ought to show its<br />

managers what needed to be done next, not what had already been done.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Simmons was jo<strong>in</strong>ed <strong>in</strong> 1936 by David Cam<strong>in</strong>er (1915-), who by the late 1940s had risen to manager<br />

of the Systems Research Office, "a forward-look<strong>in</strong>g team, some twenty strong, consider<strong>in</strong>g new<br />

systems approaches <strong>and</strong> new technologies" (Aris, 2000, p5), <strong>and</strong> it was aga<strong>in</strong>st this background of<br />

discipl<strong>in</strong>ed risk-tak<strong>in</strong>g that two of the company's directors, Thomas R. Thompson (d.1972) <strong>and</strong> Oliver<br />

St<strong>and</strong><strong>in</strong>gford, went off on a fact-f<strong>in</strong>d<strong>in</strong>g tour of comput<strong>in</strong>g <strong>in</strong>stallations <strong>in</strong> the US. What they wanted to<br />

know was whether the new breed of computers was go<strong>in</strong>g to replace punched card tabulators, <strong>and</strong><br />

what <strong>in</strong>fluence they were go<strong>in</strong>g to have on office automation. They consulted with established experts<br />

such as Goldst<strong>in</strong>e, <strong>and</strong> upon their return prepared a computerisation proposal which would cost Lyons<br />

£100,000 up front, but deliver some £50,000 annual sav<strong>in</strong>gs <strong>in</strong> adm<strong>in</strong>istrative <strong>and</strong> clerical effort. This<br />

was the first attempt at electronic office automation <strong>in</strong> the civilian world, <strong>and</strong> Lyons helped defray what<br />

was at that time a major <strong>in</strong>vestment risk by allocat<strong>in</strong>g a further £3000 to the EDSAC team <strong>in</strong><br />

Cambridge for technical advice. Lyons advertised for a project leader, <strong>and</strong> <strong>in</strong> January 1949 recruited<br />

an ex-TRE electronics eng<strong>in</strong>eer named John M.M. P<strong>in</strong>kerton (1919-1997). No <strong>in</strong>superable problems<br />

were encountered, <strong>and</strong> the mach<strong>in</strong>e - to all <strong>in</strong>tents <strong>and</strong> purposes an EDSAC clone - ran its first<br />

program on 5th September 1951 (Bird, 1994). In 1949, P<strong>in</strong>kerton devised the typical broughtforward/carried-forward<br />

batch process<strong>in</strong>g rout<strong>in</strong>e for payroll applications, <strong>and</strong> with the aid of Cam<strong>in</strong>er<br />

computerised a number of vital management systems. Cam<strong>in</strong>er boldly raised his team of<br />

programmers <strong>in</strong>-house. In other words, he made the s<strong>in</strong>ce-often-challenged value judgement that it<br />

was better to know the company <strong>and</strong> learn how to program, than the other way round. The company's<br />

payroll system first ran live <strong>in</strong> early 1954 (Cam<strong>in</strong>er, 2001, onl<strong>in</strong>e), <strong>and</strong> its stock replenishment system<br />

was sophisticated enough to allow "weather-sensitive logistics", <strong>in</strong>creas<strong>in</strong>g the number of salads<br />

supplied on hot days <strong>and</strong> the number of steak <strong>and</strong> kidney pudd<strong>in</strong>gs on cold!<br />

The LEO 1 conta<strong>in</strong>ed 5000 valves, <strong>and</strong> used mercury delay l<strong>in</strong>e storage. It also used three buffered<br />

<strong>in</strong>put channels, <strong>and</strong> two buffered output channels, enabl<strong>in</strong>g large blocks of data to be read or written<br />

at a time. In this way, the record for employee (n+1) would be on its way <strong>in</strong>to the mach<strong>in</strong>e while that<br />

for employee (n) was be<strong>in</strong>g processed <strong>and</strong> that for employee (n-1) was on its way out of the mach<strong>in</strong>e.<br />

[For some of P<strong>in</strong>kerton's detailed rem<strong>in</strong>iscences, click here; for Cam<strong>in</strong>er's, click here. Later versions<br />

of the mach<strong>in</strong>e, LEO 2 <strong>and</strong> LEO 3, are described <strong>in</strong> Part 4. The last British Telecom LEO 3-26 was<br />

withdrawn from service <strong>in</strong> 1980, a few weeks after the present author jo<strong>in</strong>ed them as a tra<strong>in</strong>ee<br />

systems analyst.]<br />

13 - BINAC <strong>and</strong> UNIVAC<br />

Hav<strong>in</strong>g resigned from the Moore School, Eckert <strong>and</strong> Mauchly's next projects were the UNIVAC for the<br />

commercial sector <strong>and</strong> the BINAC for the military. The BINAC development started first <strong>in</strong> response to<br />

an order from the Northrop Aviation Company for a small high reliability mach<strong>in</strong>e. The build lasted<br />

from October 1947 to August 1949, <strong>and</strong> the system was delivered <strong>in</strong> September 1949, mak<strong>in</strong>g it the<br />

first operational US stored program computer. It developed 3500 additions per second from a 700valve<br />

system with 512 30-bit registers, <strong>and</strong> boasted 16 order codes <strong>in</strong> its <strong>in</strong>struction set. Every critical<br />

module was tw<strong>in</strong>ned, so that each could check the output of the other, shutt<strong>in</strong>g down automatically<br />

should a discrepancy be detected. The mach<strong>in</strong>e was only five feet high <strong>and</strong> four feet long.<br />

In purely commercial terms, however, BINAC was a disaster, com<strong>in</strong>g <strong>in</strong> seriously over budget on what<br />

had been a fixed-price contract. The eventually more successful Universal Automatic Computer, or<br />

UNIVAC, development followed <strong>in</strong> 1948. This began life as a one-off for the US Census Bureau,<br />

under a contract signed <strong>in</strong> September 1946, but aga<strong>in</strong> development costs soon began to exceed the<br />

agreed price of $350,270, <strong>and</strong> <strong>in</strong> 1948 Eckert <strong>and</strong> Mauchly had no choice but to sell 40% of their<br />

company to American Totalisator Company <strong>in</strong> return for an <strong>in</strong>jection of capital. A subsequent deal <strong>in</strong><br />

Revised August 5, 2008 Page 60 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

November 1949 saw the company <strong>in</strong>corporated <strong>in</strong>to the Rem<strong>in</strong>gton-R<strong>and</strong> Corporation, who funded<br />

the rest of the development.<br />

The basic b<strong>in</strong>ary code used 6 substantive bits, giv<strong>in</strong>g it a repertoire of 64 different characters. There<br />

was also a seventh parity bit .....<br />

Key Development - Parity Bit: Parity bits are additional bits tagged on to the end of an otherwise<br />

already mean<strong>in</strong>gful bit sequence. They are set accord<strong>in</strong>g to a mathematical algorithm, <strong>and</strong> then<br />

regularly rechecked dur<strong>in</strong>g process<strong>in</strong>g. They are thus extremely effective ways of detect<strong>in</strong>g <strong>in</strong>cipient<br />

equipment failure or file corruption.<br />

UNIVAC delivered 2000 simple additions per second from a 5400 valve system with 1000 84-bit<br />

words <strong>in</strong> mercury delay l<strong>in</strong>e memory [pictures]. A total of 46 mach<strong>in</strong>es were produced before the<br />

range was replaced by the UNIVAC 2 (see Part 4). They were generally reliable <strong>and</strong> comparatively<br />

easy to program.<br />

14 - Hardware Summary Table, 1943-1950<br />

The EDSAC, LEO 1, <strong>and</strong> UNIVAC are convenient demarcation po<strong>in</strong>ts between comput<strong>in</strong>g's formative<br />

years <strong>and</strong> the early production years (covered <strong>in</strong> Part 4). Here is a progress summary table for those<br />

formative years. The material conta<strong>in</strong>ed is from many sources, <strong>in</strong>clud<strong>in</strong>g Berkeley (1949/1961),<br />

Wilkes (1956), Holl<strong>in</strong>gdale <strong>and</strong> Tootill (1965), Evans (1983), <strong>and</strong> a host of US <strong>and</strong> British Internet<br />

primary sources, <strong>in</strong>clud<strong>in</strong>g, sadly, many obituaries. The conclud<strong>in</strong>g entry - for UNIVAC - is repeated at<br />

the beg<strong>in</strong>n<strong>in</strong>g of the first table <strong>in</strong> Part 4, because it is a transitional mach<strong>in</strong>e.<br />

Name/<br />

Claim to Fame<br />

Relay Interpolator<br />

First use of biqu<strong>in</strong>ary<br />

notation for additional<br />

reliability<br />

The Bombe<br />

First series of UK<br />

electromechanical digital<br />

computers<br />

The Rob<strong>in</strong>sons<br />

First UK electronic<br />

digital computers<br />

Project Leader(s)/<br />

Purpose<br />

Samuel Williams,<br />

George Stibitz<br />

Ballistics computation<br />

for the AA Predictor No.<br />

9 (see Part 2).<br />

Max Newman, Tommy<br />

Flowers, Alan Tur<strong>in</strong>g,<br />

C.E. Wynn-Williams,<br />

Gordon Welchman,<br />

Jack Good (from 1941)<br />

Military code-break<strong>in</strong>g<br />

Max Newman, Tommy<br />

Flowers, Alan Tur<strong>in</strong>g,<br />

C.E. Wynn-Williams,<br />

Gordon Welchman,<br />

Jack Good (from 1941),<br />

Shaun Wylie (from<br />

Date/<br />

Sponsor<br />

Started 1941<br />

Operational September<br />

1943<br />

Decommissioned 1961<br />

Bell Telephone<br />

Laboratories, for the US<br />

National Defence<br />

Research Laboratories<br />

Started late 1939<br />

Operational late 1941<br />

Bletchley Park Military<br />

<strong>Intelligence</strong> Centre<br />

Started 1942<br />

Operational mid-1943<br />

Bletchley Park Military<br />

<strong>Intelligence</strong> Centre<br />

Remarks<br />

Also known as Bell Labs<br />

"Model 2 Relay<br />

Calculator". (The Model<br />

1 was described at the<br />

end of Part 2.)<br />

Once the prototype had<br />

proven itself, several<br />

hundred further<br />

mach<strong>in</strong>es were built by<br />

1945.<br />

Valve-based<br />

experimental mach<strong>in</strong>es,<br />

soon replaced by the<br />

Colossus series (see<br />

below).<br />

Revised August 5, 2008 Page 61 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1943)<br />

Military code-break<strong>in</strong>g<br />

Ballistic Computer Samuel Williams,<br />

George Stibitz<br />

Ballistics computation<br />

for the AA Predictor No.<br />

9 (see Part 2).<br />

Colossus 1<br />

First UK electronic<br />

digital computers<br />

Colossus 2<br />

First UK electronic<br />

digital computers<br />

ASCC (or "Harvard Mark<br />

I")<br />

Largest ever electromechanical<br />

calculator;<br />

digital rather than<br />

analog<br />

AA Predictor No. 9<br />

Third generation analog<br />

flak predictor<br />

Max Newman, Tommy<br />

Flowers, Alan Tur<strong>in</strong>g,<br />

C.E. Wynn-Williams,<br />

Gordon Welchman,<br />

Jack Good (from 1941),<br />

Donald Michie (from<br />

1942)<br />

Military code-break<strong>in</strong>g<br />

Max Newman, Tommy<br />

Flowers, Alan Tur<strong>in</strong>g,<br />

C.E. Wynn-Williams,<br />

Gordon Welchman,<br />

Jack Good (from 1941),<br />

Donald Michie (from<br />

1942), A.W.M. Coombs<br />

Military code-break<strong>in</strong>g<br />

Howard H. Aiken,<br />

Robert Campbell,<br />

Grace Hopper (from<br />

1942)<br />

Ballistics computation<br />

<strong>and</strong> other important war<br />

work.<br />

Started 1942<br />

Operational June 1944<br />

Bell Telephone<br />

Laboratories, for the US<br />

National Defence<br />

Research Laboratories<br />

Started January 1943<br />

Operational December<br />

1943<br />

Bletchley Park Military<br />

<strong>Intelligence</strong> Centre<br />

Started March 1944<br />

Operational June 1944<br />

Bletchley Park Military<br />

<strong>Intelligence</strong> Centre<br />

Started 1937;<br />

operational January<br />

1943 on-site at IBM,<br />

August 1944 at<br />

Harvard; further<br />

development to 1947<br />

(when replaced by<br />

Mark 2 - see below);<br />

dismantled for museum<br />

use 1959.<br />

Harvard University,<br />

largely funded by IBM<br />

Samuel Williams Started<br />

Operational 1943<br />

Bell Labs<br />

Also known as Bell Labs<br />

"Model 3 Relay<br />

Calculator".<br />

A further n<strong>in</strong>e mach<strong>in</strong>es<br />

were built by 1945.<br />

ASCC = Automatic<br />

Sequence-Controlled<br />

Calculator<br />

A work-horse, but not<br />

earth-shatter<strong>in</strong>gly<br />

<strong>in</strong>novative.<br />

Very successful analog<br />

system. It would still be<br />

another decade before<br />

digital systems started to<br />

compete for battlefield<br />

computation. It did,<br />

however, make<br />

considerable use of<br />

digital equipment for<br />

test<strong>in</strong>g purposes - see<br />

the entries for the Relay<br />

Revised August 5, 2008 Page 62 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Z4<br />

First complete<br />

programm<strong>in</strong>g language<br />

PLANKALKÜL<br />

Harvard Mark II<br />

First computer "bug"<br />

located 15th September<br />

1945 by Grace Hopper<br />

(a moth jammed <strong>in</strong>to<br />

one of the 13,000 or so<br />

component relays)<br />

ENIAC<br />

First purely electronic<br />

computer<br />

General Purpose Relay<br />

Calculator<br />

Early self-check<strong>in</strong>g<br />

system, <strong>and</strong> therefore<br />

comparatively reliable<br />

Whirlw<strong>in</strong>d 1<br />

First use of ferrite core<br />

memory; first real time<br />

comm<strong>and</strong> <strong>and</strong> control<br />

applications<br />

Konrad Zuse<br />

General purpose<br />

comput<strong>in</strong>g<br />

Howard Aiken, Grace<br />

Hopper (until 1949),<br />

Edmund C. Berkeley,<br />

Frederick Miller<br />

John Bra<strong>in</strong>erd, John<br />

Mauchly (until 1946),<br />

Presper Eckert (ditto),<br />

Herman Goldst<strong>in</strong>e,<br />

Arthur Burks, Thomas<br />

Sharpless, Robert<br />

Shaw<br />

Ballistics computation<br />

<strong>and</strong> other important war<br />

work.<br />

Bell Labs team, <strong>in</strong>cl.<br />

George Stibitz <strong>and</strong><br />

Samuel Williams<br />

Gordon Brown, Jay<br />

Forrester, Robert<br />

Everett, Perry<br />

Crawford, William<br />

Papian, Harlan<br />

Anderson (from 1952),<br />

Started 1941<br />

Completed 1946<br />

Konrad Zuse personally<br />

Started 1942<br />

Acceptance test<strong>in</strong>g July<br />

1947<br />

Delivered January 1948<br />

to the Naval Prov<strong>in</strong>g<br />

Ground, Dahlgren, VA<br />

Harvard Computation<br />

Labs<br />

Started May 1943;<br />

operational February<br />

1946; delivered to the<br />

Aberdeen Prov<strong>in</strong>g<br />

Ground, MD, January<br />

1947; recommissioned<br />

August 1947; further<br />

development until<br />

October 1955.<br />

Moore School of<br />

Electrical Eng<strong>in</strong>eer<strong>in</strong>g,<br />

University of<br />

Pennsylvania, for the<br />

Ballistics Research<br />

Labs, Aberdeen, MD<br />

Started 1944<br />

Two-off, one<br />

operational July 1946 at<br />

the National Advisory<br />

Committee for<br />

Aeronautics, Langley<br />

Field, VA, <strong>and</strong> the other<br />

February 1947 at the<br />

US Army's Ballistic<br />

Research Labs,<br />

Aberdeen, MD.<br />

Started 1944 as an<br />

analog flight simulator<br />

project; respecified for<br />

digital computation late<br />

1945-early 1946;<br />

operational June 1950;<br />

Interpolator <strong>and</strong> the<br />

Ballistic Computer<br />

above.<br />

Eckert <strong>and</strong> Mauchly fell<br />

out with the University of<br />

Pennsylvania <strong>in</strong> March<br />

1946, <strong>and</strong> left to form<br />

their own company.<br />

Also known as Bell Labs<br />

"Model 5 Relay<br />

Computer". These<br />

mach<strong>in</strong>es cost roughly<br />

$500,000 each.<br />

Anderson <strong>and</strong> Olsen left<br />

<strong>in</strong> 1957 to found the<br />

Digital Equipment<br />

Corporation (DEC) [for a<br />

fuller story, click here].<br />

Welchman had been one<br />

Revised August 5, 2008 Page 63 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

EDVAC<br />

First US large-scale von<br />

Neumann (ie. b<strong>in</strong>ary<br />

stored program)<br />

computer; came<br />

complete with a<br />

operat<strong>in</strong>g system<br />

IAS<br />

Early US stored<br />

program mach<strong>in</strong>e<br />

Pilot ACE<br />

Fastest ever processor<br />

Ken Olsen, Jack<br />

Gilmore (from 1950),<br />

Charles Adams, John<br />

Carr, Gordon<br />

Welchman (from 1948<br />

to 1951)<br />

Gunnery fire control;<br />

real-time simulation<br />

Moore School team,<br />

now <strong>in</strong>cl. John von<br />

Neumann, but no<br />

longer Eckert <strong>and</strong><br />

Mauchly, who had<br />

transferred to the<br />

UNIVAC project<br />

(above)<br />

John Von Neumann,<br />

Herman Goldst<strong>in</strong>e,<br />

Julian Bigelow (from<br />

January 1946); Willis<br />

Ware (until 1952); John<br />

Tukey; Ralph Slutz<br />

Click here for the story<br />

of Bigelow's dog!<br />

John Womersley, Alan<br />

Tur<strong>in</strong>g (until 1948), Jim<br />

fitted with 16kb ferrite<br />

core store August 1953<br />

(enough for 1024 16-bit<br />

words).<br />

MIT, for the US Navy<br />

Scop<strong>in</strong>g meet<strong>in</strong>g<br />

August 1944; design<br />

draft 1945; build started<br />

1946, but subject to<br />

repeated design<br />

upgrades as problems<br />

were solved <strong>and</strong> new<br />

techniques developed;<br />

assembled <strong>and</strong><br />

delivered while still nonoperational<br />

August<br />

1949; ran first program<br />

November 1951;<br />

operational April 1952;<br />

decommissioned<br />

December 1962.<br />

Moore School of<br />

Electrical Eng<strong>in</strong>eer<strong>in</strong>g,<br />

University of<br />

Pennsylvania, for the<br />

Ballistics Research<br />

Laboratory, Aberdeen<br />

Prov<strong>in</strong>g Ground, MD.<br />

Started March 1946<br />

Operational Spr<strong>in</strong>g<br />

1952<br />

Institute for Advanced<br />

Study, Pr<strong>in</strong>ceton<br />

University<br />

Specification work<br />

1946; development<br />

of the Bletchley Park<br />

orig<strong>in</strong>als.<br />

EDVAC = Electronic<br />

Discrete Variable<br />

Automatic Computer.<br />

This was not a<br />

particularly well<br />

managed project.<br />

ORDVAC (see Part 4)<br />

started many months<br />

later <strong>and</strong> nearly beat it<br />

<strong>in</strong>to service.<br />

The IAS was to all<br />

<strong>in</strong>tents <strong>and</strong> purposes a<br />

research mach<strong>in</strong>e. It had<br />

no fixed delivery date,<br />

<strong>and</strong> was constantly<br />

be<strong>in</strong>g t<strong>in</strong>kered with as<br />

new ideas - some good,<br />

some bad - came <strong>and</strong><br />

went. Thus although<br />

development began<br />

before EDSAC the<br />

mach<strong>in</strong>e did not become<br />

operational until after it.<br />

Eventually, however, it<br />

would sp<strong>in</strong> off a number<br />

of major clones.<br />

Huskey, an American on<br />

placement, returned to<br />

Revised August 5, 2008 Page 64 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

at the time, with a<br />

separate module for<br />

parallel computation of<br />

multiplications <strong>and</strong><br />

divisions.<br />

IBM SSEC<br />

First IBM <strong>in</strong>-house<br />

electronic digital<br />

computer.<br />

Baby<br />

First stored program;<br />

Williams tube storage.<br />

Harvard Mark III<br />

First major use of<br />

magnetic drum memory.<br />

Manchester Mark I<br />

First large-scale von<br />

Neumann computer; first<br />

Williams-Kilburn tube<br />

r<strong>and</strong>om access memory;<br />

first magnetic drum<br />

store; development<br />

prototype for Ferranti<br />

Mark 1 production series<br />

Wilk<strong>in</strong>son (from May<br />

1946), Edward A.<br />

Newman; G.G. Allway;<br />

Harry Huskey (from<br />

January 1947), Michael<br />

Woodger, Rob<strong>in</strong><br />

G<strong>and</strong>y, Donald Davies<br />

(from September 1947)<br />

Wallace Eckert, R.<br />

Seeber, Frank<br />

Hamilton, Wayne<br />

Brooke<br />

Frederick Williams,<br />

Tom Kilburn, Alec<br />

Rob<strong>in</strong>son, Geoff Tootill<br />

research prototype<br />

Howard Aiken, Grace<br />

Hopper (until 1949),<br />

Edmund C. Berkeley,<br />

An Wang (between<br />

1948 <strong>and</strong> 1951),<br />

Frederick Miller<br />

Frederick Williams,<br />

Tom Kilburn, Alan<br />

Tur<strong>in</strong>g (from September<br />

1948), Geoff Tootill<br />

(until January 1949),<br />

Alick Glennie, Jack<br />

Good (until 1948),<br />

David Rees (until<br />

1949), P.M.S.Blackett,<br />

David Edwards (from<br />

October 1948), Tommy<br />

Thomas (same), Alec<br />

Rob<strong>in</strong>son, Cliff West;<br />

Andrew Booth<br />

1949; pilot operations<br />

April 1950, then<br />

constantly improved<br />

until discarded 1958 <strong>in</strong><br />

favour of the full ACE<br />

(see Part 4).<br />

National Physical<br />

Laboratory<br />

Started March 1945;<br />

acceptance test<strong>in</strong>g late<br />

1947; operational<br />

January 1948;<br />

decommissioned<br />

August 1952<br />

IBM<br />

Started 1947<br />

Operational 21st June<br />

1948<br />

Manchester University<br />

Started 1947<br />

Operational March<br />

1951<br />

Harvard Computation<br />

Labs for the US Navy at<br />

Dahlgren, VA<br />

Started 1948; Pilot<br />

Operations April 1949;<br />

Fully operational<br />

October 1949;<br />

Replaced February<br />

1951 by a Ferranti Mark<br />

1<br />

Manchester University,<br />

with research fund<strong>in</strong>g<br />

from Ferranti <strong>and</strong> the<br />

Royal Society<br />

the US to manage the<br />

SWAC project, see<br />

below.<br />

SSEC = Selective<br />

Sequence Electronic<br />

Calculator<br />

Williams <strong>and</strong> Kilburn had<br />

worked together s<strong>in</strong>ce<br />

1942 on a number of<br />

military electronics<br />

projects. They moved to<br />

Manchester University <strong>in</strong><br />

1946. Tootill jo<strong>in</strong>ed as<br />

Kilburn's assistant <strong>in</strong><br />

1947.<br />

An Wang patented the<br />

ferrite toroid (see ma<strong>in</strong><br />

text) <strong>in</strong> 1949, left to<br />

found his own company,<br />

Wang Labs, <strong>in</strong> 1951, <strong>and</strong><br />

from 1965 was a major<br />

force <strong>in</strong> the pocket<br />

calculator market.<br />

Geoff Tootill left for<br />

Ferranti after the Baby<br />

had been born, <strong>and</strong><br />

established close liaison<br />

between that company<br />

<strong>and</strong> Manchester<br />

University<br />

EDSAC Maurice Wilkes, David Started 1947; EDSAC = Electronic<br />

Revised August 5, 2008 Page 65 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

First full-sized stored<br />

program computer; first<br />

bootstrap (fast start)<br />

rout<strong>in</strong>e; first subrout<strong>in</strong>es<br />

<strong>and</strong> reusable code;<br />

development prototype<br />

for J. Lyons <strong>and</strong><br />

Company's LEO<br />

production series.<br />

MOSAIC<br />

Early British use of<br />

valve-transistor mix.<br />

BINAC<br />

First tw<strong>in</strong>ned processor<br />

for greater reliability;<br />

early use of magnetic<br />

tape rather than<br />

punched cards; first US<br />

stored program<br />

computer.<br />

Wheeler, W. Renwick,<br />

S. Barton, G. Stevens,<br />

Stan Gill (from 1949)<br />

Dollis Hill eng<strong>in</strong>eers<br />

under A.W.M. Coombs<br />

Harvard Mark IV Howard Aiken, Grace<br />

Hopper (until 1949),<br />

Edmund C. Berkeley,<br />

An Wang (between<br />

1948 <strong>and</strong> 1951),<br />

Frederick Miller; Ken<br />

Iverson (programm<strong>in</strong>g)<br />

LEO 1<br />

Early use of buffered I/O<br />

channels; early UK use<br />

of transistors<br />

SEAC<br />

Probably the first US<br />

stored program<br />

computer to go fully<br />

operational<br />

operational May 1949;<br />

further development<br />

until 1953;<br />

decommissioned July<br />

1958, when replaced by<br />

EDSAC II<br />

Cambridge University,<br />

with some sponsorship<br />

from J. Lyons <strong>and</strong><br />

Company.<br />

Started 1947<br />

Operational 1954<br />

Dollis Hill, for the<br />

M<strong>in</strong>istry of Supply<br />

Eckert <strong>and</strong> Mauchly Started October 1947<br />

Program Test<strong>in</strong>g March<br />

1949<br />

Pilot operations August<br />

1949<br />

Delivered September<br />

1949<br />

Eckert-Mauchly<br />

Computer Corporation,<br />

Philadelphia, PA (on<br />

behalf of Northrop<br />

Aviation)<br />

John P<strong>in</strong>kerton, Ernest<br />

Lanaerts, David<br />

Cam<strong>in</strong>er<br />

General purpose<br />

commercial comput<strong>in</strong>g<br />

SWAC Harry Huskey<br />

Delivered 1952<br />

Harvard Computation<br />

Labs<br />

Started 1949<br />

Completed 1953<br />

J. Lyons <strong>and</strong> Co Ltd<br />

Sam Alex<strong>and</strong>er Operational May 1950<br />

US Bureau of<br />

St<strong>and</strong>ards,<br />

Wash<strong>in</strong>gton, DC<br />

US Bureau of<br />

Delay Storage Automatic<br />

Calculator<br />

The team subsequently<br />

published many of their<br />

ideas <strong>in</strong> the first textbook<br />

of programm<strong>in</strong>g, "The<br />

Preparation of Programs<br />

for an Electronic Digital<br />

Computer" (Wilkes,<br />

Wheeler, <strong>and</strong> Gill, 1951).<br />

BINAC = B<strong>in</strong>ary<br />

Automatic Computer. In<br />

purely commercial terms,<br />

this was little short of a<br />

disaster, forc<strong>in</strong>g Eckert<br />

<strong>and</strong> Mauchly to sell<br />

control of their company<br />

to the Rem<strong>in</strong>gton-R<strong>and</strong><br />

Corporation.<br />

Iverson subsequently<br />

developed the APL<br />

programm<strong>in</strong>g language.<br />

LEO = Lyons Electronic<br />

Office.<br />

SEAC = St<strong>and</strong>ards'<br />

Eastern Automatic<br />

Computer<br />

SWAC = St<strong>and</strong>ards'<br />

Western Automatic<br />

Revised August 5, 2008 Page 66 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

UNIVAC 1<br />

First use of magnetic<br />

tape as long-term<br />

storage; first stores<br />

system project (on the<br />

USAF mach<strong>in</strong>e from<br />

1952); first payroll<br />

project (on the General<br />

Electric mach<strong>in</strong>e from<br />

1953).<br />

John Mauchly <strong>and</strong><br />

Presper Eckert, Grace<br />

Hopper (from 1949)<br />

General Purpose<br />

Comput<strong>in</strong>g<br />

St<strong>and</strong>ards, Los<br />

Angeles, CA<br />

Started 1948<br />

Operational March<br />

1951<br />

Initially Eckert-Mauchly<br />

Computer Corporation,<br />

Philadelphia, for the US<br />

Census Bureau.<br />

Computer<br />

Part 4 - A Brief History of Comput<strong>in</strong>g Technology, 1951 to 1958<br />

UNIVAC = Universal<br />

Automatic Computer.<br />

Eckert <strong>and</strong> Mauchly's<br />

company was bought out<br />

by Rem<strong>in</strong>gton-R<strong>and</strong> <strong>in</strong><br />

1950. A total of 46<br />

mach<strong>in</strong>es were<br />

eventually built, sell<strong>in</strong>g at<br />

around $1M each.<br />

1 - Comput<strong>in</strong>g 1951-1958 - First Generation Hardware (US)<br />

After the top secret development effort of the 1940s [see Part 3], a number of civilian General<br />

Purpose Computers (GPCs) were delivered more or less simultaneously <strong>in</strong> the early 1950s, led by the<br />

Ferranti Mark I <strong>and</strong> the LEO I <strong>in</strong> February 1951, <strong>and</strong> followed closely by the US Census Bureau's<br />

UNIVAC <strong>in</strong> March 1951. The design pr<strong>in</strong>ciples were those of the 1950 Eckert-von Neumann mach<strong>in</strong>e<br />

[rem<strong>in</strong>der], <strong>and</strong> the technology was basically chassis-mounted valve-based circuitry - hot, heavy, <strong>and</strong><br />

unreliable. The stage was then set for a relentless expansion <strong>in</strong> commercial data process<strong>in</strong>g capacity<br />

as large corporations started to <strong>in</strong>stall Eckert-von Neumann derivatives - known nowadays as "First<br />

Generation" Computers - alongside their exist<strong>in</strong>g data tabulat<strong>in</strong>g mach<strong>in</strong>ery. As the decade<br />

progressed, a number of other GPCs emerged from the established centres of excellence, <strong>and</strong> the<br />

f<strong>in</strong>al list <strong>in</strong>cludes the IBM 701, the Harvard Mark IV, the Bell Labs Models V <strong>and</strong> VI, the NPL's DEUCE,<br />

Cambridge's EDSAC II, Manchester's Marks II through V, <strong>and</strong> the LEOs II <strong>and</strong> III; each faster, more<br />

reliable, <strong>and</strong> offer<strong>in</strong>g more memory than its series predecessor. But because the centres of<br />

excellence were themselves still learn<strong>in</strong>g, some surpris<strong>in</strong>gly fundamental <strong>in</strong>novations were still be<strong>in</strong>g<br />

made, <strong>and</strong> <strong>in</strong> due course these would usher <strong>in</strong> a newer generation of systems. The transistor was one<br />

such <strong>in</strong>novation, <strong>and</strong>, hav<strong>in</strong>g <strong>in</strong>vented the technology <strong>in</strong> the first place, Bell Labs were one of the first<br />

to experiment with transistorised digital circuitry, <strong>and</strong> their 1954 TRADIC conta<strong>in</strong>ed 700 po<strong>in</strong>t-contact<br />

germanium transistors. Manchester University did likewise with two small research mach<strong>in</strong>es, which<br />

they had runn<strong>in</strong>g <strong>in</strong> November 1953 <strong>and</strong> April 1955 respectively, <strong>and</strong> so, too, did the UK Atomic<br />

Energy Research Establishment, Harwell, with their 1955 CADET. Among the lesser <strong>in</strong>novations <strong>in</strong><br />

this period was the development of magnetic tape storage .....<br />

Key Innovation - Magnetic Tape: The first coated tape method of audio record<strong>in</strong>g was developed <strong>in</strong><br />

1927 by Fritz Pfleumer <strong>in</strong> Germany [timel<strong>in</strong>e for magnetic record<strong>in</strong>g technology]. The commercial<br />

development rights to Pfleumer's ideas were then acquired by AEG <strong>in</strong> 1932, <strong>and</strong> with assistance <strong>in</strong><br />

plastic film technology from BASF a modern format reel-to-reel tape recorder [picture] was ready for<br />

demonstration at the Berl<strong>in</strong> Radio Fair <strong>in</strong> 1935. This breakthrough for the broadcast<strong>in</strong>g <strong>and</strong> home<br />

enterta<strong>in</strong>ment <strong>in</strong>dustries was not lost on the emerg<strong>in</strong>g data process<strong>in</strong>g <strong>in</strong>dustry, <strong>and</strong> magnetic tape<br />

readers <strong>and</strong> writers were <strong>in</strong>cluded on the Eckert-Mauchly Computer Corporation's BINAC<br />

development <strong>in</strong> around 1949, <strong>and</strong> then on the 1951 UNIVAC, prov<strong>in</strong>g faster <strong>and</strong> more reliable than<br />

the earlier paper tape systems.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

part paper is to study the penetration of comput<strong>in</strong>g concepts <strong>in</strong>to cognitive theory, it is worth<br />

not<strong>in</strong>g at this juncture that magnetic tape storage has little explanatory or metaphoric value <strong>in</strong><br />

this respect. The essence of a tape as a tape is that it is dismountable, which biological<br />

memory most certa<strong>in</strong>ly is not, <strong>and</strong> the essence of the data stored upon it is that it is stored<br />

"serially", that is to say, there is no overrid<strong>in</strong>g logical sequence to the <strong>in</strong>dividual items stored<br />

nor is there any quick method of retriev<strong>in</strong>g a particular record from mid-file - you just have to<br />

start search<strong>in</strong>g at the beg<strong>in</strong>n<strong>in</strong>g <strong>and</strong> keep look<strong>in</strong>g until you chance upon it, which takes time.<br />

Biological memory, on the other h<strong>and</strong>, rema<strong>in</strong>s permanently onl<strong>in</strong>e, <strong>and</strong> seems to rely on two<br />

considerably more flexible storage techniques, namely (a) "sequential" storage, where the<br />

<strong>in</strong>dividual records either arise naturally <strong>in</strong>, or have been sorted <strong>in</strong>to, some clear logical<br />

sequence (time-stamped order, say), <strong>and</strong> (b) "r<strong>and</strong>om access" storage, where either an "<strong>in</strong>dex"<br />

or a "hash<strong>in</strong>g algorithm" [details] allows a target record to be retrieved from mid-file. We<br />

therefore see little mileage <strong>in</strong> the tape metaphor, although our f<strong>in</strong>al evaluation will not be<br />

available until 2004. >><br />

1.1 The MIT Systems<br />

Two of the very biggest <strong>in</strong>novations - ferrite core memory <strong>and</strong> the concept of real-time comput<strong>in</strong>g for<br />

comm<strong>and</strong> <strong>and</strong> control - came from MIT's Whirlw<strong>in</strong>d team. Whirlw<strong>in</strong>d's success for the US Navy <strong>in</strong> the<br />

1940s [rem<strong>in</strong>der], plus deteriorat<strong>in</strong>g relations with the then Soviet Union, prompted the USAF to<br />

commission an experimental air early-warn<strong>in</strong>g system from them. Whirlw<strong>in</strong>d showed that such a<br />

complex l<strong>in</strong>k<strong>in</strong>g of radar <strong>and</strong> comput<strong>in</strong>g systems was feasible on 20th April 1951, when it<br />

simultaneously tracked three separate aircraft from radar <strong>and</strong> computed their <strong>in</strong>terception parameters<br />

(Waldrop, 2001) [the hard part, apparently, lay <strong>in</strong> gett<strong>in</strong>g the <strong>in</strong>terceptors round beh<strong>in</strong>d their<br />

approach<strong>in</strong>g targets]. This demonstration resulted <strong>in</strong> massive government fund<strong>in</strong>g for air defence<br />

technology, <strong>and</strong> the result (although it was not fully operationally deployed until 1963) was SAGE (=<br />

Semi-Automatic Ground Environment), "a cont<strong>in</strong>ent-spann<strong>in</strong>g system of 23 Direction Centres [picture],<br />

each hous<strong>in</strong>g up to 50 human operators, plus two redundant real-time computers capable of track<strong>in</strong>g<br />

up to 400 airplanes at once" (ibid., p75). The mach<strong>in</strong>es themselves were massive Whirlw<strong>in</strong>d clones,<br />

code-numbered AN/FSQ-7, <strong>and</strong> each conta<strong>in</strong>ed more than 50,000 valves <strong>and</strong> ran "the largest<br />

computer program written up to that time" (source).<br />

BIOGRAPHICAL ASIDE - J.C.R. LICKLIDER: J.C.R. ("Lick") Licklider (1915-1990) was a<br />

psychologist-<strong>in</strong>-comput<strong>in</strong>g who made his name on the SAGE project. He had previously been with the<br />

Harvard Psychoacoustics Laboratory, where he had worked on measur<strong>in</strong>g <strong>and</strong> improv<strong>in</strong>g the<br />

<strong>in</strong>telligibility of the voice communication systems available to bomber crews. He was thus one of the<br />

found<strong>in</strong>g fathers of the signal-to-noise-ratio approach to perception which burst upon the<br />

psychological scene <strong>in</strong> the 1950s. He jo<strong>in</strong>ed MIT <strong>in</strong> 1950 to work on the human factors aspects of<br />

multiple ma<strong>in</strong>frame comput<strong>in</strong>g, <strong>and</strong> soon became conv<strong>in</strong>ced that it was only a matter of time <strong>and</strong><br />

good design before properly tra<strong>in</strong>ed operators would be able more or less to hold a conversation with<br />

their CPU. This was the birth of the "on-l<strong>in</strong>e transaction process<strong>in</strong>g" type of modern comput<strong>in</strong>g, as<br />

already profiled [rem<strong>in</strong>der]. In 1960, Licklider summarised these ideas <strong>in</strong> what is now seen as a<br />

classic paper, entitled "Man-Computer Symbiosis" (Licklider, 1960/2003 onl<strong>in</strong>e), <strong>in</strong> which he wrote ".....<br />

the result<strong>in</strong>g [man-computer] partnership will th<strong>in</strong>k as no bra<strong>in</strong> has thought <strong>and</strong> process data <strong>in</strong> a way<br />

not approached by the <strong>in</strong>formation-h<strong>and</strong>l<strong>in</strong>g mach<strong>in</strong>es we know today". In 1962, Licklider moved to<br />

the Pentagon's Advanced Research Projects Agency (ARPA), to cont<strong>in</strong>ue his work on distributed<br />

comm<strong>and</strong> <strong>and</strong> control systems, where he put forward detailed proposals to raise the connectivity of<br />

the various systems then <strong>in</strong> use, so that they could exchange data more easily. He left ARPA <strong>in</strong> 1963,<br />

leav<strong>in</strong>g these concepts to be fleshed out <strong>and</strong> made to work by his successor, Larry Roberts, under the<br />

name ARPANET [more on which <strong>in</strong> Part 5]. Licklider also contributed towards MIT's 1963 "Man <strong>and</strong><br />

Revised August 5, 2008 Page 68 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Computer" (or "MAC") project [more on which <strong>in</strong> Part 5], which eventually evolved <strong>in</strong>to the world's first<br />

"onl<strong>in</strong>e community" (Waldrop, 2001), <strong>and</strong> wrote a number of <strong>in</strong>fluential papers profil<strong>in</strong>g the sort of<br />

knowledge <strong>in</strong>terrogation software which Internet search eng<strong>in</strong>es have s<strong>in</strong>ce made commonplace.<br />

1.2 The IBM Systems<br />

As we have already seen <strong>in</strong> Part 1, Part 2, <strong>and</strong> Part 3, IBM had been the data process<strong>in</strong>g corporation<br />

half a century before b<strong>in</strong>ary electronics was <strong>in</strong>vented. By 1945, its punched card bus<strong>in</strong>ess had<br />

corporate customers worldwide, with storerooms full of data <strong>and</strong> process<strong>in</strong>g suites full of card sorters<br />

<strong>and</strong> tabulator-adders. Yet these punched card archives largely defied complex data analysis, because<br />

the tabulator-adders were basically little more than large desk calculators fitted with card readers -<br />

they were like fish out of water when given multiplications <strong>and</strong> divisions to carry out. IBM's strategy<br />

after the war was therefore to see to its customers first <strong>and</strong> to do pure R & D second. This, after all,<br />

had been the strategy which had made them number one <strong>in</strong> the first place, <strong>and</strong> their CEO, Thomas J.<br />

Watson, saw no reason why it should not keep them there. So they took the new-fangled digital<br />

circuitry <strong>and</strong> <strong>in</strong>stalled it <strong>in</strong> their tabulator-adders, thus turn<strong>in</strong>g them <strong>in</strong>to tabulator-multipliers such as<br />

the IBM 603 (1946) <strong>and</strong> IBM 604 (1948).<br />

As for the pure R & D, IBM had been there with its chequebook for the 1937-1943 Harvard Mark I<br />

development [rem<strong>in</strong>der], <strong>and</strong> had pushed through the 1947 SSEC [rem<strong>in</strong>der] with no little urgency<br />

once Watson had decided that digital comput<strong>in</strong>g skills were too strategically important not to have <strong>in</strong><br />

house. This was an <strong>in</strong>spired decision, <strong>and</strong> the SSEC experience immediately became the basis for<br />

the 1952 IBM 701 "Defence Calculator". This was a typical first generation computer, <strong>in</strong>itially designed<br />

for the US defence market, <strong>and</strong> around 25 times faster than the SSEC it replaced. What made this<br />

mach<strong>in</strong>e historically significant is the fact that it also span off to become IBM's first top-of-the-range<br />

production mach<strong>in</strong>e for the civilian market, sell<strong>in</strong>g to the US Weather Bureau, aerospace companies,<br />

<strong>and</strong> the like. The project was directed by Nathaniel Rochester <strong>and</strong> Jerrier Haddad [team bios], <strong>and</strong><br />

when the mach<strong>in</strong>e was formally announced on 29th April 1952 it came with enough CRT Ma<strong>in</strong><br />

<strong>Memory</strong> for 2048 36-bit words, plus drum <strong>and</strong> tape back<strong>in</strong>g store. N<strong>in</strong>eteen mach<strong>in</strong>es had been sold<br />

by the time it was replaced by the IBM 704 <strong>in</strong> 1955. The 704 was essentially a 701 upgraded to take<br />

the new <strong>and</strong> far more cost-effective ferrite core memory, <strong>and</strong> 123 of these were sold by the time it was<br />

replaced <strong>in</strong> turn by the IBM 7090 <strong>in</strong> 1960.<br />

The 701 was a large system, both physically <strong>and</strong> functionally, <strong>and</strong> with a price tag to match. However,<br />

thanks to the vision of one of its then junior eng<strong>in</strong>eers, Cuthbert C. Hurd (1911-1996), IBM<br />

management were persuaded to <strong>in</strong>clude a scaled down version - the IBM 650 - <strong>in</strong> their sales portfolio.<br />

This was a smaller mass-market mach<strong>in</strong>e, lack<strong>in</strong>g the expensive CRT RAM, but deliberately <strong>in</strong>tended<br />

to be compatible with their tabulat<strong>in</strong>g mach<strong>in</strong>e range. The 650s retailed at between $200,000 <strong>and</strong><br />

$400,000 accord<strong>in</strong>g to the precise configuration, <strong>and</strong> around 1800 of them were sold (Gray,<br />

1999/2003 onl<strong>in</strong>e).<br />

The IBM 650 was also honoured to be the first production mach<strong>in</strong>e to offer a r<strong>and</strong>om (or "direct")<br />

access disk memory option. To underst<strong>and</strong> the true significance of this particular <strong>in</strong>novation, we must<br />

rem<strong>in</strong>d ourselves that our previous mentions of r<strong>and</strong>om access have related to ma<strong>in</strong> memory (where<br />

the words had even stamped the <strong>in</strong>itials "RA" <strong>in</strong>to the acronym RAM). When it came to back<strong>in</strong>g store,<br />

however, the situation rema<strong>in</strong>ed that files of any size would have to be stored as a succession of<br />

contiguous records - perhaps key-sorted, perhaps not - on magnetic tape [see earlier <strong>in</strong>set]; ma<strong>in</strong><br />

memory could not (<strong>and</strong>, fifty years later, still cannot) hold more than a fraction of the total data<br />

available to the system. And the problem with magnetic tape, of course, was that as often as not<br />

Revised August 5, 2008 Page 69 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

several thous<strong>and</strong> feet of very delicate data <strong>and</strong> several m<strong>in</strong>utes of wait<strong>in</strong>g would be between you <strong>and</strong><br />

the record you were after.<br />

Now we have already seen how magnetic drum storage had been successfully implemented on the<br />

Harvard Mark 3 <strong>and</strong> the Manchester Mark I systems, <strong>and</strong> designers had already recognised that a<br />

sp<strong>in</strong>n<strong>in</strong>g disk would have advantages over a roll<strong>in</strong>g drum, if only the problems of size, cost, capacity,<br />

<strong>and</strong> reliability could be overcome .....<br />

Key Innovation - Magnetic Disk: Inspired by the shape <strong>and</strong> ease of manufacture of the gramophone<br />

record, the magnetic computer disk was a platter (or stack of platters) of non-ferrous material, th<strong>in</strong>ly<br />

coated with a magnetic oxide emulsion <strong>and</strong> accessed by a read-write head (or heads) mounted on the<br />

radius l<strong>in</strong>e. When <strong>in</strong>stalled as a "disk drive" computer peripheral, this technology allowed data to be<br />

stored <strong>in</strong> concentric circular "tracks", one beneath each position of the head(s). If you now took your<br />

giant tape file <strong>and</strong> wrote the records n-at-a-time onto as many tracks as it took, you could - provid<strong>in</strong>g<br />

you knew (or could <strong>in</strong> some way compute) the platter-track address - get hold of any one of them<br />

aga<strong>in</strong> <strong>in</strong> only a few tens of milliseconds, even if it were situated right at the end of the file.<br />

The search for workable disk technology began <strong>in</strong> earnest at IBM <strong>in</strong> 1952, under Arthur J. Critchlow<br />

[IBM fact sheet <strong>and</strong> pictures] <strong>and</strong> the story has recently been re-told by Rostky (1998/2004 onl<strong>in</strong>e).<br />

IBM announced the new technology on May 1955, <strong>and</strong> named it RAMAC. Each 50-platter drive stored<br />

what would today fit onto three st<strong>and</strong>ard floppy disks. It rema<strong>in</strong>s only to note that the direct access<br />

facility revolutionised both operat<strong>in</strong>g system design <strong>and</strong> application programm<strong>in</strong>g. To systems<br />

programmers direct access technology offered the sort of "pag<strong>in</strong>g" which would soon be used to<br />

deliver "virtual memory" systems [see Part 5; Section 1.2], <strong>and</strong> to applications programmers it offered<br />

not just disk-based files permanently onl<strong>in</strong>e, but also "<strong>in</strong>dexed sequential" organisation thereof<br />

capable of convert<strong>in</strong>g record key <strong>in</strong>to a disk address. It also, <strong>in</strong> 1961, assisted at the birth of the<br />

modern database.<br />

1.3 The Rem<strong>in</strong>gton/Sperry Systems<br />

IBM did not have th<strong>in</strong>gs entirely their own way, however, for they were fac<strong>in</strong>g <strong>in</strong>creas<strong>in</strong>g commercial<br />

competition <strong>in</strong> the early 1950s from the Rem<strong>in</strong>gton Corporation [rem<strong>in</strong>der]. In February 1950 <strong>and</strong><br />

December 1951, respectively, Rem<strong>in</strong>gton acquired the controll<strong>in</strong>g <strong>in</strong>terests <strong>in</strong> the Eckert-Mauchly<br />

Computer Corporation (EMCC), <strong>and</strong> Electronic Research Associates (ERA). EMCC, it will be recalled,<br />

was the company which the Johns Eckert <strong>and</strong> Mauchly had set up <strong>in</strong> 1946-7 to build BINAC <strong>and</strong><br />

UNIVAC [rem<strong>in</strong>der], <strong>and</strong> ERA was the company set up <strong>in</strong> 1946 by Howard T. Engstrom (1902-1962)<br />

<strong>and</strong> William C. Norris (1911-) to build the US Navy's 1947 "Task 13" mach<strong>in</strong>e (the mach<strong>in</strong>e which<br />

evolved <strong>in</strong>to the US National Security Agency's October 1950 Atlas 1101 computer) [rem<strong>in</strong>der]. And<br />

despite the fact that Rem<strong>in</strong>gton's own comput<strong>in</strong>g department, the EMCC people, <strong>and</strong> the ERA people<br />

were geographically separate units, <strong>and</strong> reta<strong>in</strong>ed a "high degree of autonomy, <strong>in</strong>deed rivalry" (Gray,<br />

2002/2003 onl<strong>in</strong>e), Rem<strong>in</strong>gton had a m<strong>in</strong>or star <strong>in</strong> EMCC's UNIVAC 1, which they duly capitalised<br />

upon by rebr<strong>and</strong><strong>in</strong>g a demilitarised variant of the Atlas 1101 [picture] as the UNIVAC 1101, complete<br />

with a parallel organised arithmetic unit. They also won a second National Security Agency contract<br />

for the Atlas II (1950-1953), an Air Force contract for the (three-off) UNIVAC 1102 (1952-1956), <strong>and</strong><br />

got government permission to market a civilian version of the Atlas II, to be called UNIVAC 1103<br />

(Gray, 2002/2003 onl<strong>in</strong>e).<br />

This was all cutt<strong>in</strong>g edge stuff, of course, <strong>and</strong> it was projects like these which attracted the likes of<br />

Seymour Cray (1925-1996) <strong>in</strong>to comput<strong>in</strong>g. Cray jo<strong>in</strong>ed ERA <strong>in</strong> 1951, <strong>and</strong> impressed management so<br />

much that <strong>in</strong> 1953 they appo<strong>in</strong>ted him Project Eng<strong>in</strong>eer for the 1103 (Breckenridge, 1996/2003<br />

Revised August 5, 2008 Page 70 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

onl<strong>in</strong>e). He rewarded their faith <strong>in</strong> him by turn<strong>in</strong>g the 1103A <strong>in</strong>to one of the most <strong>in</strong>novative mach<strong>in</strong>es<br />

of its day. One development <strong>in</strong> particular - a "program <strong>in</strong>terrupt" facility - was developed on an 1103A<br />

at the Lewis Research Centre, Clevel<strong>and</strong> (Gray, 2002/2003 onl<strong>in</strong>e), an outstation of the US National<br />

Advisory Committee on Aeronautics (NACA).<br />

Key Innovation - "Program Interrupts" (First Mention): Accord<strong>in</strong>g to Gray (2002/2003 onl<strong>in</strong>e), the<br />

1103A <strong>in</strong>terrupt facility "permitted the 1103A to <strong>in</strong>terrupt the process<strong>in</strong>g of one program to h<strong>and</strong>le<br />

another". This might be useful, for example, if an urgent job arose part-way through the execution of a<br />

much longer one, but where too much process<strong>in</strong>g had already been done just to ab<strong>and</strong>on it <strong>and</strong> start<br />

aga<strong>in</strong> later. To do this switchover safely, requires tak<strong>in</strong>g careful note of the position of the execut<strong>in</strong>g<br />

program, <strong>and</strong> then be<strong>in</strong>g able to re<strong>in</strong>state all the registers <strong>and</strong> Ma<strong>in</strong> <strong>Memory</strong> sett<strong>in</strong>gs to their pre<strong>in</strong>terrupt<br />

state afterwards, <strong>and</strong> this <strong>in</strong> turn requires sophisticated systems software <strong>and</strong> additional<br />

memory resources. We return to this topic <strong>in</strong> Part 5.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

..... <strong>and</strong> so on. The decimal po<strong>in</strong>t, <strong>in</strong> other words, is now free to "float" from wherever it started off<br />

until it arrives at its st<strong>and</strong>ardised new position, leav<strong>in</strong>g the power term to remember where it had been.<br />

The "precision" of a given system is the number of significant digits catered for <strong>in</strong> the mantissa. Thus<br />

the number 14741 <strong>in</strong> a precision-3 system (as shown above) loses the fourth <strong>and</strong> fifth significant digits<br />

<strong>and</strong> will be treated as 14700, <strong>and</strong> this means that we risk <strong>in</strong>troduc<strong>in</strong>g "round<strong>in</strong>g error" <strong>in</strong>to our<br />

arithmetic if we throw lots of significant digits at a mach<strong>in</strong>e which has not been set up with the<br />

precision necessary to h<strong>and</strong>le that number of digits safely. However, the advantage of scientific<br />

notation is that it greatly simplifies the task of computeris<strong>in</strong>g the multiplication process, because your<br />

two multiplic<strong>and</strong>s will now always lie between 1 <strong>and</strong> 9 (<strong>and</strong> can therefore easily be fixed po<strong>in</strong>t<br />

multiplied), <strong>and</strong> the power terms can be multiplied by add<strong>in</strong>g the two exponents. Thus a precision-2<br />

multiplication of 0.0201 by 35192 will proceed as follows .....<br />

(1) Convert each multiplic<strong>and</strong> to scientific notation, thus .....<br />

(2.0 x 10 -2 ) x (3.5 x 10 4 )<br />

(2) Do the multiplication as described above, giv<strong>in</strong>g .....<br />

7.0 x 10 -2 x 10 4<br />

(3) Calculate the new exponent as described above, giv<strong>in</strong>g .....<br />

7.0 x 10 2<br />

(4) Convert the answer back <strong>in</strong>to everyday form, giv<strong>in</strong>g .....<br />

Revised August 5, 2008 Page 72 of 190<br />

700<br />

As it happens, the arithmetically correct answer is 707.3592, so we are about 1% out, the difference<br />

aris<strong>in</strong>g from the aforementioned round<strong>in</strong>g error. It would therefore be wise to <strong>in</strong>crease our precision,<br />

<strong>and</strong> a precision-4 multiplication of the same two numbers duly gives a better approximation, namely<br />

707.3 [you actually need a precision-7 multiplication to remove the error altogether]. Unfortunately,<br />

round<strong>in</strong>g error is endemic <strong>in</strong> float<strong>in</strong>g po<strong>in</strong>t arithmetic, so for scientific applications the precision is<br />

nowadays set high at an IEEE-recommended 32 bits for "s<strong>in</strong>gle precision" work<strong>in</strong>g, or 64 bits for<br />

"double precision" work<strong>in</strong>g [details]; <strong>and</strong> even then th<strong>in</strong>gs can go wrong, as when an unexpected<br />

round<strong>in</strong>g error of this sort contributed to a failure <strong>in</strong> a Patriot missile launch dur<strong>in</strong>g the First Gulf War,<br />

result<strong>in</strong>g <strong>in</strong> a Scud strike on a US barracks, kill<strong>in</strong>g 28 servicemen [details]. As Goldberg (1991/2003<br />

onl<strong>in</strong>e) puts it, "squeez<strong>in</strong>g <strong>in</strong>f<strong>in</strong>itely many real numbers <strong>in</strong>to a f<strong>in</strong>ite number of bits requires an<br />

approximate representation", thus present<strong>in</strong>g the comput<strong>in</strong>g <strong>in</strong>dustry with the <strong>in</strong>trigu<strong>in</strong>g paradox that<br />

the faster you can do your calculations the more you need to worry whether one of these <strong>in</strong>herent<br />

<strong>in</strong>accuracies has taken place. [For a fuller <strong>in</strong>troduction to the <strong>in</strong>tricacies of float<strong>in</strong>g po<strong>in</strong>t arithmetic,<br />

complete with worked examples, click here.]


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

the result of the overall calculation by roughly estimat<strong>in</strong>g what the answer should be. In<br />

addition, the ability to use the "number l<strong>in</strong>e" may provide both conceptual (left) <strong>and</strong> visuospatial<br />

(right) support. Our full evaluation will not be available until 2004, but, <strong>in</strong> the meantime,<br />

<strong>in</strong>terested readers may f<strong>in</strong>d no little fasc<strong>in</strong>ation <strong>in</strong> the follow<strong>in</strong>g neuropsychological case<br />

study data .<br />

In 1955, Rem<strong>in</strong>gton merged with Sperry Gyroscopes to form the Sperry-R<strong>and</strong> Corporation, <strong>and</strong> <strong>in</strong><br />

1956 the 1103 was supplemented by the markedly smaller UNIVAC "File Computer". This mach<strong>in</strong>e<br />

got its name from another important <strong>in</strong>novation, namely the long-term storage of large commercial<br />

data files on magnetic drum, rather than on punched card - thus mount<strong>in</strong>g a direct assault on IBM's<br />

hitherto captive market. Not only could large bodies of commercial data now be rolled forward on a<br />

daily, weekly, monthly, or yearly basis, but it would henceforth no longer be necessary to trolley the<br />

files <strong>in</strong> <strong>and</strong> out of the mach<strong>in</strong>e each time they were needed.<br />

Key Innovation - Periodic Batch Process<strong>in</strong>g: Accountants <strong>and</strong> bankers have had to "carry forward"<br />

balances from the end of one account<strong>in</strong>g period to the beg<strong>in</strong>n<strong>in</strong>g of the next ever s<strong>in</strong>ce money was<br />

first <strong>in</strong>vented, <strong>and</strong> the basic pr<strong>in</strong>ciples of book-keep<strong>in</strong>g with<strong>in</strong> such an account<strong>in</strong>g period are laid out <strong>in</strong><br />

Luca Pacioli's "Summa de Arithmetica" (1493). [William Goetzmann, of the Yale School of<br />

Management, places the first recognisable bank <strong>in</strong> Uruk <strong>in</strong> Mesopotamia (modern Iraq) around 5,000<br />

years ago; click for details; picture ; for a delightful <strong>and</strong> totally fasc<strong>in</strong>at<strong>in</strong>g history of the profession of<br />

accountancy, click here.] The calculations, however, were done by h<strong>and</strong> until the advent of<br />

mechanical calculators towards the end of the 19th century [rem<strong>in</strong>der], <strong>and</strong> - if you were lucky enough<br />

to be able to afford it - were then semi-automated by the Hollerith style punched card <strong>in</strong>dustry of the<br />

early 20th century. Now the po<strong>in</strong>t about punched card process<strong>in</strong>g is that data flowed from storage<br />

po<strong>in</strong>t to storage po<strong>in</strong>t via mach<strong>in</strong>e after mach<strong>in</strong>e <strong>and</strong> through tray after tray, be<strong>in</strong>g merged, sorted,<br />

updated, copied, collated, resorted, etc. F<strong>in</strong>ance Departments suddenly had to be totally precise (a) <strong>in</strong><br />

how they allocated their records - the cards - <strong>in</strong>to files, <strong>and</strong> (b) how the files then metamorphosed as<br />

they passed through the various process<strong>in</strong>g stages. Fortunately, although the nature of the data<br />

varied widely accord<strong>in</strong>g to the nature of the bus<strong>in</strong>ess <strong>in</strong>volved, there were some clear basic patterns.<br />

By far the greatest volume of data was "transaction data", that is to say, <strong>in</strong>dividual records of<br />

<strong>in</strong>dividual happen<strong>in</strong>gs dur<strong>in</strong>g the period <strong>in</strong> question - <strong>in</strong>dividual sales, <strong>in</strong>dividual deliveries, <strong>in</strong>dividual<br />

money transfers, etc. However, this type of data only really meant anyth<strong>in</strong>g when seen <strong>in</strong> the context<br />

(a) of the situation at the end of the preced<strong>in</strong>g period (as set out <strong>in</strong> the open<strong>in</strong>g balances conta<strong>in</strong>ed <strong>in</strong><br />

some sort of permanently ma<strong>in</strong>ta<strong>in</strong>ed "master file"), <strong>and</strong> (b) of support<strong>in</strong>g detail such as rate books<br />

("reference data") <strong>and</strong> customer details (as set out <strong>in</strong> some sort of "customer file"). Thus the<br />

sequence of events <strong>in</strong> a typical 1920s stock system might be to open up a master file of open<strong>in</strong>g stock<br />

levels (conta<strong>in</strong><strong>in</strong>g one record card per item per location), <strong>and</strong> then to "tally forward" each stock level<br />

by the receipts, issues, <strong>and</strong> adjustments of that item conta<strong>in</strong>ed <strong>in</strong> one or more "transaction files". At<br />

period end, this tally forward would generate the theoretical carried forward stock levels, which could<br />

then be audited aga<strong>in</strong>st a physical stockcheck, if necessary. The experience of the Lyons Company's<br />

office systems guru, John Simmons, is probably <strong>in</strong>dicative. He had been appo<strong>in</strong>ted <strong>in</strong> 1923,<br />

remember, <strong>in</strong> order to br<strong>in</strong>g scientific rigour <strong>in</strong>to the design <strong>and</strong> operation of Lyons' corporate<br />

processes [to streaml<strong>in</strong>e, first <strong>and</strong> foremost; to automate if that helped streaml<strong>in</strong>e; <strong>and</strong> to computerise<br />

if that helped automate], <strong>and</strong> their 1949 LEO project [rem<strong>in</strong>der] succeeded <strong>in</strong> automat<strong>in</strong>g the batch<br />

process<strong>in</strong>g rout<strong>in</strong>e for payroll applications <strong>in</strong> December 1953 [more on this <strong>in</strong> Section 2.4].


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

diagrams to help expla<strong>in</strong> cognition, they are already st<strong>and</strong>ard practice (albeit they are not<br />

always very well done technically). We have written at length on this subject elsewhere, <strong>and</strong><br />

the subject can safely be approached from any of three directions, for the material constantly<br />

cross-refers.<br />

Lyons' <strong>and</strong> Sperry's pioneer<strong>in</strong>g work led to a grow<strong>in</strong>g confidence that large corporate files could be<br />

safely committed to a medium which was <strong>in</strong>herently unreadable by humans, <strong>and</strong> this was<br />

commercially highly significant because it enabled the new electronic systems to threaten the data<br />

tabulat<strong>in</strong>g <strong>in</strong>dustry <strong>in</strong> its own back yard; to offer an upgrade pathway for the literally thous<strong>and</strong>s of tons<br />

of legacy data still held on punched cards. The design spotlight therefore fell on such factors as<br />

storage capacity, process<strong>in</strong>g speed, <strong>and</strong> system reliability, <strong>and</strong> it soon became st<strong>and</strong>ard design<br />

practice to assess whether the file h<strong>and</strong>l<strong>in</strong>g <strong>and</strong> the number crunch<strong>in</strong>g aspects of a given process<br />

presented broadly balanced dem<strong>and</strong>s. If they did, then all was well, but if either was slow compared to<br />

the other, then you had to suspect a bottleneck of some sort .....<br />

Key Innovation - I/O vs CPU Bottlenecks: New term<strong>in</strong>ology soon emerged to describe the various<br />

problem scenarios. If a process struggled when read<strong>in</strong>g data <strong>in</strong> or when writ<strong>in</strong>g data out it was<br />

referred to as "peripheral bound", but if it struggled dur<strong>in</strong>g the number-crunch<strong>in</strong>g phase it was<br />

referred to as "processor bound". When the present author jo<strong>in</strong>ed British Telecom <strong>in</strong> 1980, he<br />

learned of "the Great ISOCC Tea Trolley Disaster" [English humour]. ISOCC was the BT computer<br />

system then responsible for charg<strong>in</strong>g for operator-connected calls. For a time, however, "telephone<br />

tickets" [picture] were be<strong>in</strong>g produced by the nation's telephone operators faster than the bill<strong>in</strong>g<br />

centres could process them; specifically, it took about 25 hours to process every day's <strong>in</strong>put slips, so<br />

the process<strong>in</strong>g backlog simply got longer by the day. We can no longer recall with certa<strong>in</strong>ty whether<br />

the problem lay <strong>in</strong> gett<strong>in</strong>g the data punched <strong>in</strong>to the mach<strong>in</strong>e (<strong>in</strong> which case the process would have<br />

been peripheral bound), or <strong>in</strong> carry<strong>in</strong>g out the necessary calculations once it had been (<strong>in</strong> which case<br />

it would have been processor bound), but it was probably the former.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

output processes away from the ma<strong>in</strong> computer, whose precious time must not be squ<strong>and</strong>ered on<br />

sluggish menial tasks. These are delegated to a subsidiary computer, the essential function of which<br />

is to transcribe <strong>in</strong>formation from one physical medium to another ....." (p239-240.)<br />

The upshot of all these problems was that Lyons <strong>and</strong> Sperry perfected some historically important<br />

methods of cop<strong>in</strong>g more effectively with peripheral bound processes by strategically plac<strong>in</strong>g additional<br />

memory resources about the system .....<br />

Key Innovation - "Buffers" <strong>and</strong> "Buffer<strong>in</strong>g": "Buffers" <strong>in</strong> general are simply areas of temporary<br />

storage somewhere <strong>in</strong> size between a register <strong>and</strong> a decent slice of Ma<strong>in</strong> <strong>Memory</strong>, <strong>and</strong> they are<br />

important because they allow "buffer<strong>in</strong>g", that is to say, "the temporary hold<strong>in</strong>g of <strong>in</strong>formation <strong>in</strong><br />

transit" (Purser, 1987, p312). Like any other form of digital storage, a buffer consists ultimately of a<br />

contiguous series of flip-flops, <strong>and</strong> the underly<strong>in</strong>g technology may vary from mach<strong>in</strong>e to mach<strong>in</strong>e. To<br />

underst<strong>and</strong> how buffer<strong>in</strong>g works, we need to rem<strong>in</strong>d ourselves (a) that Eckert-von Neumann GPCs<br />

[rem<strong>in</strong>der] habitually process their <strong>in</strong>put <strong>and</strong> output files through reserved record areas <strong>in</strong> Ma<strong>in</strong><br />

<strong>Memory</strong>, (b) that file read<strong>in</strong>g <strong>and</strong> writ<strong>in</strong>g are comparatively slow processes, <strong>and</strong> (c) that Lyons' <strong>and</strong><br />

Sperry's customers were try<strong>in</strong>g to funnel enormous volumes of data through card or magnetic tape<br />

readers. Bit Str<strong>in</strong>g Buffer<strong>in</strong>g: The Lyons <strong>and</strong> Sperry designers therefore added what was effectively<br />

a small free-st<strong>and</strong><strong>in</strong>g register between the relatively fast data bus <strong>and</strong> the relatively slow peripheral<br />

device controllers. As data arrived <strong>in</strong> the form of a slow stream of bits from a peripheral device, it was<br />

loaded <strong>in</strong>to an "<strong>in</strong>put buffer", <strong>and</strong> only when that buffer was full was the accumulated stream<br />

released - either at a higher serial rate, or <strong>in</strong> parallel - onto the bus to complete its journey to its<br />

dest<strong>in</strong>ation <strong>in</strong> CPU or Ma<strong>in</strong> <strong>Memory</strong>. This short delay left the CPU free to be gett<strong>in</strong>g on with<br />

someth<strong>in</strong>g else. A similarly arranged "output buffer" could buffer data en route from the output<br />

record area to an output device. P<strong>in</strong>kerton (1990/2003 onl<strong>in</strong>e) profiles the buffer<strong>in</strong>g system on the<br />

LEO as follows: "The buffers <strong>in</strong> each of the <strong>in</strong>put channels were all valve circuits <strong>and</strong> mercury delay<br />

l<strong>in</strong>es. They had little short tubes which assembled <strong>in</strong>dividual numbers <strong>and</strong> put them <strong>in</strong>to position, one<br />

after the other until they filled it up. The same th<strong>in</strong>g on the output side; some of the buffers were<br />

doubled on the <strong>in</strong>put though not on the output. The logic allowed four <strong>in</strong>put channels <strong>and</strong> four output<br />

channels ....." Ma<strong>in</strong> <strong>Memory</strong> Buffer<strong>in</strong>g: It is also possible to use Ma<strong>in</strong> <strong>Memory</strong> for buffer<strong>in</strong>g. This can<br />

be done by doubl<strong>in</strong>g (etc.) the number of Ma<strong>in</strong> <strong>Memory</strong> record blocks allocated to each file, <strong>and</strong> by<br />

then rout<strong>in</strong>ely load<strong>in</strong>g these one record ahead of the ongo<strong>in</strong>g process<strong>in</strong>g. This sort of "double<br />

buffer<strong>in</strong>g" <strong>in</strong>troduced a degree of record-level overlap <strong>in</strong>to the system, such that the <strong>in</strong>put delay for<br />

record co<strong>in</strong>cided with the process<strong>in</strong>g time for record , which, <strong>in</strong> turn, co<strong>in</strong>cided with the<br />

output delay for record . For very fast processes, "treble buffer<strong>in</strong>g" (etc.) could be resorted to,<br />

thus creat<strong>in</strong>g even more overlap. It follows that a given <strong>in</strong>put character was likely to have been<br />

buffered twice on its way to the CPU, once at the device stage, <strong>and</strong> then aga<strong>in</strong> at the Ma<strong>in</strong> <strong>Memory</strong><br />

stage. Instruction Buffer<strong>in</strong>g: We deal with another type of buffer - the "<strong>in</strong>struction buffer" - <strong>in</strong><br />

Section 2.3, under the head<strong>in</strong>g Pipel<strong>in</strong><strong>in</strong>g. "Store <strong>and</strong> Forward" Buffer<strong>in</strong>g: This is a form of<br />

buffer<strong>in</strong>g which occurs (<strong>in</strong> addition to all the others) at the subord<strong>in</strong>ate nodes <strong>in</strong> a communications<br />

network. It is needed whenever three or more computers have been <strong>in</strong>terconnected, <strong>and</strong> it allows<br />

transmissions to be stored temporarily at node #2 en route for node #3, should the l<strong>in</strong>e to node #3 be<br />

down or otherwise engaged, or should the CPU at node #3 be too busy to accept the <strong>in</strong>put<br />

immediately. Modern telecommunications - <strong>in</strong>clud<strong>in</strong>g the technology currently br<strong>in</strong>g<strong>in</strong>g you this page -<br />

devotes much of its attention to such problems, <strong>and</strong> network designers need to carry out a complex<br />

traffic queu<strong>in</strong>g analysis before decid<strong>in</strong>g how much buffer<strong>in</strong>g store to provide at each <strong>in</strong>termediate<br />

node.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Sperl<strong>in</strong>g (1960)] <strong>and</strong> (b) of saccade-based text process<strong>in</strong>g [see Gough (1972)] are both prime<br />

c<strong>and</strong>idates for it. It is also poorly h<strong>and</strong>led <strong>in</strong> matters of human communications, where the<br />

"store <strong>and</strong> forward" version of buffer<strong>in</strong>g is not catered for <strong>in</strong> any of the common forms of the<br />

"sociogram". This, as we have repeatedly argued elsewhere [eg. Smith (1997; Chapter 1)],<br />

seriously erodes the explanatory value of most modern cognitive models.<br />

2 - Comput<strong>in</strong>g 1951-1958 - First Generation Hardware (UK)<br />

The 1945 demobilisation took all but a select few of the British wartime eng<strong>in</strong>eers from their top secret<br />

work <strong>and</strong> returned them - tightly sworn to silence by the Official Secrets Act - to peacetime<br />

employment. We beg<strong>in</strong> this phase of our story with one of these demobilised boff<strong>in</strong>s, Andrew D. Booth,<br />

one of the pioneers of magnetic drum memory .....<br />

2.1 The Birkbeck <strong>and</strong> "British Hollerith" Mach<strong>in</strong>es<br />

Andrew D. Booth (1918-) was a Birkbeck College physicist who, as an employee of the British Rubber<br />

Producers Research Association, had been <strong>in</strong>volved <strong>in</strong> X-ray crystallography dur<strong>in</strong>g the war .....<br />

ASIDE: The British Rubber Producers Research Association (BRPRA) was founded <strong>in</strong> 1938 to<br />

promote formal scientific knowledge of said product. It set up research centres <strong>in</strong> both Malaya <strong>and</strong><br />

Welwyn Garden City, Hertfordshire [pictures], <strong>and</strong> one of its first researchers was Cardiff-born George<br />

Alan Jeffrey (1915-2000), later Professor of Crystallography at the University of Pittsburgh. Now the<br />

po<strong>in</strong>t about rubber is that it is a highly strategic commodity, perfectly capable of w<strong>in</strong>n<strong>in</strong>g or los<strong>in</strong>g wars.<br />

Without it, for example, you have no tyres for your vehicles or aeroplanes, no eng<strong>in</strong>e mount<strong>in</strong>gs, no oil<br />

seals, no hoses, no rubber d<strong>in</strong>ghies, etc. Strategically, therefore, you either have to own the hot<br />

places <strong>in</strong> the world where the product can be grown naturally, or you have to have the raw materials<br />

<strong>and</strong> <strong>in</strong>dustrial base to manufacture it synthetically. Either way, you need a first class team of<br />

physicists <strong>and</strong> chemists try<strong>in</strong>g to make the stuff longer last<strong>in</strong>g <strong>and</strong> constantly analys<strong>in</strong>g specimens cut<br />

from wrecked enemy equipment to see if they had managed to do the job better than you had (much<br />

of Jeffrey's war was spent X-ray<strong>in</strong>g slices of rubber cut from wrecked German aircraft). It was this<br />

strategic war work which the BRPRA was there to organise, <strong>and</strong>, humble though the job might sound,<br />

the rubber boff<strong>in</strong>s probably contributed every bit as much per capita to the war effort as did the<br />

codebreakers at Bletchley Park. It was Jeffrey who recruited Booth, <strong>and</strong> it was the fact that X-ray<br />

crystallography creates raw data like there is no tomorrow that led Booth to develop automatic<br />

calculat<strong>in</strong>g mach<strong>in</strong>ery as a laboratory aid to data analysis <strong>in</strong> much the same way that Wynn-Williams<br />

had scratched together his thyratron circuits at Cambridge <strong>in</strong> the early 1930s.<br />

Booth moved to Birkbeck College, University of London, after the war, <strong>and</strong> <strong>in</strong> 1946 his automatic<br />

calculat<strong>in</strong>g work brought him to the attention of the US National Defence Research Committee's chief<br />

"talent scout", Warren Weaver [bio follows <strong>in</strong> Section 4.1]. Weaver was <strong>in</strong>trigued by what he saw, <strong>and</strong><br />

put Booth forward for a study scholarship under John von Neumann at Pr<strong>in</strong>ceton's Institute of<br />

Advanced Studies [a cynic might ask <strong>in</strong> retrospect who was study<strong>in</strong>g whom]. Accompanied by his<br />

research assistant Kather<strong>in</strong>e H.V. Britten (whom he subsequently married), Booth was at Pr<strong>in</strong>ceton<br />

from March to September 1947, <strong>and</strong> upon his return to Brita<strong>in</strong> proceeded to build a small relay<br />

computer named the Automatic Relay Computer (ARC) (Lav<strong>in</strong>gton 1980/2003 onl<strong>in</strong>e). He<br />

demonstrated this mach<strong>in</strong>e to Weaver on 23rd May 1948 at BRPRA's Welwyn Garden City centre<br />

(Hutch<strong>in</strong>s, 1986/2003 onl<strong>in</strong>e), <strong>and</strong> we shall be f<strong>in</strong>d<strong>in</strong>g out what Weaver did next <strong>in</strong> Section 4.1. But<br />

what made the ARC more than just a British version of, say, the Bell Mark II relay computer [rem<strong>in</strong>der]<br />

was the fact that Booth had cleverly l<strong>in</strong>ked it to a simple magnetic drum memory .....<br />

Revised August 5, 2008 Page 76 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Innovation - Magnetic Drum Storage: The advantage of magnetic drum storage over tape lies<br />

<strong>in</strong> the fact that the storage surface rotates cont<strong>in</strong>uously aga<strong>in</strong>st a l<strong>in</strong>ear array of read-write heads<br />

[picture]. This means that your data is re-available to you once per revolution, unlike tape-borne data,<br />

where there is a lengthy re-w<strong>in</strong>d time between passes. The sequence of magnetically coded pulses<br />

recorded by any one head is known as a "track", <strong>and</strong> each stored bit offers itself back to the head for<br />

read<strong>in</strong>g <strong>and</strong>/or overwrit<strong>in</strong>g every few milliseconds [this rotational delay be<strong>in</strong>g known as its "latency"].<br />

The system has quite a history, <strong>in</strong> fact, for the idea of "roll<strong>in</strong>g up" your data storage <strong>in</strong> order to save<br />

space is as old as the scrolls of ancient times, <strong>and</strong> the idea of w<strong>in</strong>d<strong>in</strong>g data around a cyl<strong>in</strong>der, so that<br />

it spirals gradually from one end to the other, is clearly seen <strong>in</strong> both the Greek cryptographical system<br />

known as the scytale [rem<strong>in</strong>der] <strong>and</strong> Edison's famous cyl<strong>in</strong>der phonograph [picture]. It is therefore not<br />

surpris<strong>in</strong>g that when, <strong>in</strong> 1898, the Danish <strong>in</strong>ventor Valdemar Poulsen was look<strong>in</strong>g for somewhere to<br />

keep his magnetised wire record<strong>in</strong>gs, he chose a drum [picture]; nor that the computer pioneer John<br />

Atanasoff toyed with the drum concept <strong>in</strong> the late 1930s on the Atanasoff-Berry Computer [rem<strong>in</strong>der],<br />

albeit he ended up us<strong>in</strong>g surface capacitors as his storage substrate rather than a magnetic coat<strong>in</strong>g<br />

[picture] (Gray, 1999/2003 onl<strong>in</strong>e). What is not so clear is who first applied Pfleumer's ferrite emulsion<br />

as a magnetic lacquer coat<strong>in</strong>g to a drum, <strong>and</strong> the first clear suggestion to this effect seems to have<br />

been <strong>in</strong> an MIT master's thesis by one Perry Crawford.<br />

BIOGRAPHICAL ASIDE [INCOMPLETE] - PERRY O. CRAWFORD (? - ?): Accord<strong>in</strong>g to Jay<br />

Forrester, the Whirlw<strong>in</strong>d Project Director, it was Crawford who first called his attention to the<br />

possibility of digital computation (Forrester, 1988/2003 onl<strong>in</strong>e), this hav<strong>in</strong>g been the subject of his MIT<br />

master's thesis dur<strong>in</strong>g the period 1939? to 1942?. M<strong>in</strong>dell (2002) mentions Crawford as hav<strong>in</strong>g<br />

succeed<strong>in</strong>g Claude Shannon as postgraduate student at MIT, sometime around 1940, <strong>and</strong> it was <strong>in</strong><br />

the period 1940 to 1942 that Crawford developed his ideas on the use of digital methods to fire control<br />

problems. Dur<strong>in</strong>g 1942 to 1945 Crawford served (as an attached civilian) with the navy's Special<br />

Devices Centre, later at S<strong>and</strong>s Po<strong>in</strong>t, Long Isl<strong>and</strong>, build<strong>in</strong>g flight simulators <strong>and</strong> tra<strong>in</strong><strong>in</strong>g devices <strong>and</strong><br />

com<strong>in</strong>g up with the name "Whirlw<strong>in</strong>d" <strong>in</strong>to the barga<strong>in</strong>. In October 1945 he went to work for the<br />

Special Services Division of the Office of Naval Research. Crawford left the navy <strong>in</strong> 1952, <strong>and</strong> moved<br />

to IBM, where he became <strong>in</strong>volved <strong>in</strong> the SABRE project [see Part 5]. He was still around to be<br />

<strong>in</strong>terviewed <strong>in</strong> 1995 (by M<strong>in</strong>dell), but seems to have published little.<br />

Booth experimented with the drum concept <strong>in</strong> his Birkbeck College laboratory <strong>in</strong> 1946-1947, <strong>and</strong><br />

passed on the details to the Manchester University team who added it to their Baby [rem<strong>in</strong>der] (Booth,<br />

1995/2003 onl<strong>in</strong>e). On balance, however, it is probably fairer to credit the first large scale <strong>in</strong>vestment<br />

<strong>in</strong> drum technology neither to MIT nor Birkbeck, but to ERA's John Coombs, as part of the US Navy's<br />

Project Goldberg, also <strong>in</strong> around 1946. ERA used a 5" drum revolv<strong>in</strong>g at 3000 rpm, <strong>and</strong> set their<br />

pack<strong>in</strong>g density at 230 bits per <strong>in</strong>ch [source]. The literature also mentions an 8" drum developed <strong>in</strong><br />

1948 by the University of California at Berkeley (Spice, 2001/2003 onl<strong>in</strong>e) <strong>and</strong> record<strong>in</strong>g at 800 bits<br />

per <strong>in</strong>ch, <strong>and</strong> other units on the Harvard Mark III <strong>and</strong> the SEAC.<br />

After mak<strong>in</strong>g his name with the ARC, Booth moved up to thermionic valves, try<strong>in</strong>g out his circuitry <strong>in</strong> a<br />

1949 prototype mach<strong>in</strong>e called the Simple Electronic Computer (SEC). When he was happy that he<br />

knew what he was do<strong>in</strong>g, he followed this up with a number of larger, but still drum-equipped,<br />

mach<strong>in</strong>es <strong>in</strong> his 415-valved APE*C Series, where the APEC st<strong>and</strong>s for "All Purpose Electronic<br />

Computer" <strong>and</strong> the asterisk <strong>in</strong>dicates the particular commercial sponsor at the time. Thus the APERC<br />

was delivered to the British Rayon Research Association, the APEHC was delivered to the British<br />

Tabulat<strong>in</strong>g Mach<strong>in</strong>e Company ("H" because BTM were the holders of the Hollerith licence <strong>in</strong> Brita<strong>in</strong>),<br />

the APENC was delivered to a Norwegian sponsor, <strong>and</strong> the APEXC was his own Birkbeck mach<strong>in</strong>e.<br />

The APEHC was BTM's first excursion <strong>in</strong>to electronic computation, <strong>and</strong> they quickly reworked it <strong>in</strong><br />

Revised August 5, 2008 Page 77 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

house as the HEC. They then - goaded no doubt by IBM's success with its electronic multipliers [see<br />

Section 1.2] - used the HEC experience to build punched card processors of their own, such as the<br />

BTM 541 (1953) <strong>and</strong> BTM 555 (1957) . The HEC was also the <strong>in</strong>spiration for the BTM 1200 (1954)<br />

<strong>and</strong> BTM 1201 (1957) computers, <strong>and</strong> thus <strong>in</strong>directly for the ICT 1300-series <strong>and</strong> ICL 1900-series<br />

ma<strong>in</strong>frames which followed them.<br />

2.2 The Last of the Boff<strong>in</strong>s<br />

So what of the boff<strong>in</strong>s who had been kept on after the war <strong>in</strong> the secretive government <strong>and</strong> military<br />

research stations we heard so much about <strong>in</strong> Part 3. Well basically we spoke of four such sites -<br />

Bletchley Park, the National Physical Laboratory (NPL), Dollis Hill, <strong>and</strong> the Research Establishment at<br />

Malvern, Worcestershire, so there are only four stories to tell, <strong>and</strong> we shall take them <strong>in</strong> order of<br />

mention.<br />

After the war, the GCCS at Bletchley Park cont<strong>in</strong>ued to develop its Colossus mach<strong>in</strong>es, sold an<br />

unspecified number to friendly foreign governments [which is one of the reasons their existence was<br />

not acknowledged for such a long time], <strong>and</strong> rema<strong>in</strong>ed active <strong>in</strong> the security bus<strong>in</strong>ess for many years.<br />

In the end, however, the unit was relocated <strong>and</strong> the site itself has recently become a museum [to see<br />

what Hut 4 is do<strong>in</strong>g nowadays (31st May 2003), click here]. But GCCS made no further computers [or,<br />

if it did, they are still classified], <strong>and</strong> so it now moves outside the remit of this paper.<br />

We left the NPL <strong>in</strong> 1949, struggl<strong>in</strong>g to get their cool but decidedly complicated Pilot ACE up <strong>and</strong><br />

runn<strong>in</strong>g [rem<strong>in</strong>der]. In 1948, Tur<strong>in</strong>g had been transferred to Max Newman's laboratory at Manchester,<br />

<strong>and</strong> the Pilot ACE cont<strong>in</strong>ued <strong>in</strong> development for two more years under James H. Wilk<strong>in</strong>son <strong>and</strong> E.A.<br />

("Ted") Newman. It executed its first program on 10th May 1950 (mak<strong>in</strong>g the NPL, they claim, the<br />

fourth group <strong>in</strong> the world to deliver a stored program electronic digital computer), <strong>and</strong> was publicly<br />

demonstrated <strong>in</strong> December that same year. The NPL then transferred the production rights <strong>in</strong> Pilot<br />

ACE to the English Electric Company [company history], the then owners of the Marconi <strong>in</strong>terests,<br />

who tidied it up a bit before putt<strong>in</strong>g it to market as the Digital Electronic Universal Comput<strong>in</strong>g<br />

Eng<strong>in</strong>e (DEUCE), eventually deliver<strong>in</strong>g more than 30 mach<strong>in</strong>es at around £50,000 apiece [source]. A<br />

full (84-page!) technical specification of the DEUCE is available onl<strong>in</strong>e. The NPL's (Full) ACE was<br />

ready <strong>in</strong> 1958, still with delay-l<strong>in</strong>e storage, whereupon it was decided that there was no longer any<br />

role for government owned ma<strong>in</strong>frame development. Full ACE thus marked the end of the NPL's<br />

<strong>in</strong>volvement <strong>in</strong> ma<strong>in</strong>stream computer development, so it, too, now moves outside the remit of this<br />

paper.<br />

ASIDE: Rumour - probably not totally without foundation - has it that the Royal Aircraft Establishment<br />

actually bought two DEUCEs, so that they could run their really important programs on both of them,<br />

only trust<strong>in</strong>g the results if both mach<strong>in</strong>es came up with the same answer (Kershaw, 1994/2003<br />

onl<strong>in</strong>e)! For more on Pilot ACE, see Newman (1994/2003 onl<strong>in</strong>e), <strong>and</strong> for DEUCE, see Fisher (2003<br />

onl<strong>in</strong>e).<br />

As for the Post Office boff<strong>in</strong>s at Dollis Hill - that is to say, Tommy Flowers, A.W.M. Coombs, <strong>and</strong> their<br />

respective teams [rem<strong>in</strong>der] - their fate is easy to relate because as telecommunications eng<strong>in</strong>eers <strong>in</strong><br />

the first place they simply reverted to their former existences. Nevertheless there were occasional<br />

opportunities for off-site adventure, as when Coombs was called <strong>in</strong> to assist at .....<br />

..... the War Department's own high-tech <strong>in</strong>stallation at Malvern, home, as we mentioned briefly <strong>in</strong> Part<br />

3, of two of Brita<strong>in</strong>'s early defence computers. The first of these was a derivative of Pilot ACE called<br />

MOSAIC, sponsored by the M<strong>in</strong>istry of Supply for missile track<strong>in</strong>g applications. This was a 6000-valve,<br />

Revised August 5, 2008 Page 78 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

2000-transistor, serial process<strong>in</strong>g mach<strong>in</strong>e built between 1947 <strong>and</strong> 1954 by the Post Office's A.W.M.<br />

Coombs <strong>and</strong> team (Lav<strong>in</strong>gton, 1980/2003 onl<strong>in</strong>e), <strong>and</strong> its Ma<strong>in</strong> <strong>Memory</strong> comprised 1024 40-bit words<br />

<strong>in</strong> mercury delay l<strong>in</strong>es ("nearly a ton" of the stuff, accord<strong>in</strong>g to Lav<strong>in</strong>gton). The second British defence<br />

computer was a more technically adventurous parallel process<strong>in</strong>g mach<strong>in</strong>e called TREAC. This was<br />

designed <strong>in</strong> 1947 by Albert M. Uttley, went operational <strong>in</strong> 1953, <strong>and</strong> used a 512-word Williams-Kilburn<br />

system for fast store. The Australian Computer Museum also rem<strong>in</strong>d us of the work of Trevor Pearcey<br />

(1919-1998), a TRE veteran who <strong>in</strong> 1946 emigrated to Australia, where he designed the 1949<br />

Australian CSIRAC computer, s<strong>in</strong>ce claimed as the fifth stored program computer to be completed.<br />

Key Innovation - Serial vs Parallel Process<strong>in</strong>g: To do th<strong>in</strong>gs "<strong>in</strong> series" is to do them one after<br />

another. To do th<strong>in</strong>gs "<strong>in</strong> parallel" is to do them simultaneously. Serial computers therefore execute<br />

their data moves <strong>and</strong> their arithmetical operations one after another, whilst parallel computers do<br />

them simultaneously. As orig<strong>in</strong>ally conceived, parallel process<strong>in</strong>g computers used one wire per bit<br />

when mov<strong>in</strong>g whole words of data at a time between their registers <strong>and</strong> their logic gates, whilst serial<br />

computers used one wire only, <strong>and</strong> moved one bit at a time. The parallel mach<strong>in</strong>es were accord<strong>in</strong>gly<br />

much faster, but much more electrically complicated. EDSAC's Maurice Wilkes expla<strong>in</strong>ed the<br />

differences this way .....<br />

"The most obvious division of comput<strong>in</strong>g mach<strong>in</strong>es is between those which are serial <strong>in</strong> operation <strong>and</strong><br />

those which are parallel [but] the subject is an endless one <strong>in</strong> that many different variants of each k<strong>in</strong>d<br />

of mach<strong>in</strong>e are possible. I do not consider that the question of whether it is better to build a serial or a<br />

parallel mach<strong>in</strong>e will ever be f<strong>in</strong>ally answered; each type has its advantages, <strong>and</strong> the f<strong>in</strong>al decision will<br />

always be dependent on the designer's personal preferences, <strong>and</strong> to some extent on his terms of<br />

reference. Also, as time goes on, the balance of advantage <strong>and</strong> disadvantage will sw<strong>in</strong>g as<br />

improvements are made <strong>in</strong> this or that component, or as entirely new components become available.<br />

Certa<strong>in</strong> fundamental comparisons between serial <strong>and</strong> parallel mach<strong>in</strong>es can, however, be drawn<br />

readily enough. The arithmetic unit of a parallel mach<strong>in</strong>e tends to be much larger than the arithmetic<br />

unit of a serial mach<strong>in</strong>e, s<strong>in</strong>ce a separate flip-flop or equivalent circuit element must be provided to<br />

accommodate each digit <strong>in</strong> the various registers. Moreover, s<strong>in</strong>ce addition of the digits takes place<br />

simultaneously, or nearly so, a separate adder must be provided for each digit. The disparity<br />

<strong>in</strong>creases as the fundamental number length is <strong>in</strong>creased. The control, on the other h<strong>and</strong>, is much<br />

simpler <strong>in</strong> a parallel mach<strong>in</strong>e. In the first place the necessity for the generation of a set of digit pulses<br />

does not arise, <strong>and</strong> secondly, the tim<strong>in</strong>g is much simpler, s<strong>in</strong>ce a number can be moved, or an<br />

addition performed, by the application of a s<strong>in</strong>gle pulse to a set of gates ....." (Wilkes, 1956, p66)<br />

What we are look<strong>in</strong>g at, therefore, are alternative ways of organis<strong>in</strong>g a s<strong>in</strong>gle CPU - serial for cheap<br />

but slow, or parallel for complicated <strong>and</strong> expensive but fast; it is just another design decision to be<br />

made <strong>in</strong> the early stages of a mach<strong>in</strong>e development project.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

task, but until you know which modules count as Control Units [<strong>and</strong> that is a philosophical<br />

problem as much as an eng<strong>in</strong>eer<strong>in</strong>g one] you cannot be sure what these resources are each<br />

contribut<strong>in</strong>g, or, <strong>in</strong>deed, to what extent they are <strong>in</strong> fact co-operat<strong>in</strong>g. Moreover, because each<br />

component CPU can be serial or parallel with<strong>in</strong> itself, you can theoretically have PDP <strong>in</strong> a<br />

network of simultaneously active serial CPUs, albeit this would be slower than PDP <strong>in</strong> a<br />

network of simultaneously active parallel mach<strong>in</strong>es. You could even have PDP <strong>in</strong> a part-serial,<br />

part parallel, process<strong>in</strong>g network. Our full evaluation of the literature perta<strong>in</strong><strong>in</strong>g to this issue<br />

will not be available until 2004, but there is much to learn <strong>in</strong> the meantime from the literature<br />

on bra<strong>in</strong> <strong>in</strong>jury. See, for example, our timel<strong>in</strong>e notes on the n<strong>in</strong>eteenth century neurologists<br />

Dax <strong>and</strong> Lordat, or the debate between the localisers <strong>and</strong> the globalists [timel<strong>in</strong>e; glossary].<br />

Note especially that both the hierarchical block diagram of Kussmaul (1878) <strong>and</strong> the<br />

transcod<strong>in</strong>g block diagram of Charcot (1883) both derive from this type of evidence, <strong>and</strong><br />

therefore so, too, do modern derivatives thereof, namely Norman (1990) <strong>and</strong> Ellis <strong>and</strong> Young<br />

(1988) respectively. >><br />

2.3 The NRDC Mach<strong>in</strong>es<br />

Another cluster of first generation computers evolved out of the tripartite collaboration of Manchester<br />

University, the Ferranti Company, <strong>and</strong> Elliott Brothers, <strong>and</strong> the coord<strong>in</strong>at<strong>in</strong>g force here was the<br />

Government's scientific fund<strong>in</strong>g office, the National Research <strong>and</strong> Development Corporation (NRDC)<br />

[not to be confused with the American NDRC mentioned <strong>in</strong> Section 2.1 above <strong>and</strong> seen aga<strong>in</strong> <strong>in</strong><br />

Section 4.1]. This organisation was set up <strong>in</strong> 1949 by the then Trade M<strong>in</strong>ister Harold Wilson (later<br />

Prime M<strong>in</strong>ister between 1964 <strong>and</strong> 1970, <strong>and</strong> 1974 to 1976), under the direction of John Anthony<br />

Hard<strong>in</strong>ge Giffard (1908-2000), Third Earl of Halsbury, <strong>in</strong> an entirely laudable attempt to stretch the<br />

British taxpayer's return on state-funded research. This meant co-ord<strong>in</strong>at<strong>in</strong>g the work of the rema<strong>in</strong><strong>in</strong>g<br />

defence establishments with <strong>in</strong>terested parties throughout <strong>in</strong>dustry <strong>and</strong> academia, <strong>and</strong> the newly born<br />

comput<strong>in</strong>g <strong>in</strong>dustry was high on the NRDC's list of strategic priorities.<br />

ASIDE: In a blister<strong>in</strong>g appraisal of the whole NRDC experience, Hendry (1989) expla<strong>in</strong>s how most of<br />

the companies the government helped had gone out of bus<strong>in</strong>ess by the mid-1960s [<strong>and</strong> the survivors<br />

- as we shall be see<strong>in</strong>g <strong>in</strong> Part 5 - have either gone s<strong>in</strong>ce, or are pretty sick]. For a number of reasons,<br />

some scream<strong>in</strong>gly obvious but others quite subtle, the NRDC tended to "help to no advantage". It<br />

transpired that neither government gifts, nor advantageous development loans (nor, <strong>in</strong>deed, rov<strong>in</strong>g<br />

facilitators) were particularly effective <strong>in</strong>struments of public policy. "At no time," Hendry concludes,<br />

"did the aid given or offered to any firm make any perceptible difference to that firm's bus<strong>in</strong>ess<br />

strategy" (p168). In the ten years to 1959, the NRDC distributed just short of £1 million <strong>in</strong> cash, <strong>and</strong><br />

underwrote loans for a further £1.25 million. This compares with US military patronage for the US<br />

computer <strong>in</strong>dustry dur<strong>in</strong>g the same period of "over $1 billion" (p161). For his part, Lord Halsbury<br />

described the whole experience as rather like "push<strong>in</strong>g mules uphill" (Halsbury, 1991, p272), <strong>and</strong> had<br />

little positive to say about the quality of the decision mak<strong>in</strong>g <strong>in</strong> the companies he had been try<strong>in</strong>g to<br />

assist. The Ferranti company was founded by Sebastian Ziani de Ferranti (1864-1930) <strong>in</strong> 1889 <strong>in</strong><br />

London, to manufacture electrical generat<strong>in</strong>g equipment. Dur<strong>in</strong>g the First World War they produced<br />

munitions, <strong>and</strong> <strong>in</strong> the 1920s moved <strong>in</strong>to radio <strong>and</strong> consumer electricals. The radio experience then<br />

stood them <strong>in</strong> good stead come the 1930s, when the RAF needed re-equipp<strong>in</strong>g, <strong>and</strong> aga<strong>in</strong> when the<br />

radar contracts started to come through shortly afterwards.<br />

So let us start with the collaboration between Manchester University - whose Mark 1 we have already<br />

spoken about <strong>in</strong> detail [rem<strong>in</strong>der] - <strong>and</strong> the local Ferranti works at Moston (later West Gorton),<br />

Manchester. The strategy here had already been hammered out at an NRDC meet<strong>in</strong>g on 14th<br />

December 1949, <strong>and</strong> <strong>in</strong>volved Ferranti prepar<strong>in</strong>g the Manchester Mark I for market as the Ferranti<br />

Revised August 5, 2008 Page 80 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Mark I, thus free<strong>in</strong>g up the academics to push ahead with further technical developments. Manchester<br />

University therefore began the decade by gett<strong>in</strong>g on with the Manchester Mark II, alias "MEG". This<br />

<strong>in</strong>corporated a number of relatively m<strong>in</strong>or developments, but when it first operated <strong>in</strong> May 1954 was<br />

nevertheless 20 times faster than the Mark I, thanks primarily to hav<strong>in</strong>g changed from serial to parallel<br />

logic (Lav<strong>in</strong>gton, 1978/2003 onl<strong>in</strong>e). This, too, was eventually marketed by Ferranti, as the "Mercury",<br />

<strong>and</strong> sold fairly successfully <strong>in</strong> competition with the IBM 704, because despite be<strong>in</strong>g a lot slower it was<br />

also a lot cheaper (ibid.). The university then moved on to the Manchester Mark III, an experimental<br />

transistorised mach<strong>in</strong>e, which contributed greatly to the 1956 (six-off) Metropolitan Vickers MV950,<br />

which has been claimed as the first operational transistorised computer. [We shall be deal<strong>in</strong>g with<br />

Manchester's later mach<strong>in</strong>es, the second generation MUSE <strong>and</strong> Atlas, <strong>in</strong> Part 5].<br />

Other work, meanwhile, had been go<strong>in</strong>g on <strong>in</strong> London <strong>and</strong> the Home Counties, the <strong>in</strong>dustrial player<br />

here be<strong>in</strong>g Elliott Brothers .....<br />

HISTORICAL ASIDE: Elliott Brothers were founded by William Elliott <strong>in</strong> 1795 to supply Royal Navy<br />

officers with precision technical <strong>in</strong>struments, <strong>and</strong> had then simply grown with the technology to<br />

provide many of the Royal Navy's fire control systems dur<strong>in</strong>g the analog comput<strong>in</strong>g era [see Part 2],<br />

not to mention supply<strong>in</strong>g some of the parts for Babbage's orig<strong>in</strong>al Difference Eng<strong>in</strong>e (Clarke, 1975).<br />

After World War Two, they were keen not to lose this market<strong>in</strong>g foothold, <strong>and</strong> <strong>in</strong> 1946 established a<br />

digital comput<strong>in</strong>g research unit of their own at Borehamwood, Hertfordshire. They selected John F.<br />

Coales (1907-1999), who had just spent the entire war on Elliott's gunnery radars, to run this unit, <strong>and</strong><br />

their first major project was to develop a state-of-the-art computerised naval anti-aircraft fire control<br />

system, codenamed MRS. The broad specification here was for "ship-borne radar [Elliott's specialism,<br />

remember] [to] lock on to a target at about eight miles <strong>and</strong> then track it <strong>and</strong> supply aim<strong>in</strong>g <strong>in</strong>formation<br />

to a ship's guns" (Lav<strong>in</strong>gton, 2000, pp8-9). A large number of R & D staff were duly taken on, <strong>and</strong> the<br />

computer which resulted was the Elliott 152 [picture], with logic circuits designed by Charles E. Owen<br />

(details <strong>in</strong> Clarke, 1975). The 152 "executed several <strong>in</strong>struction streams <strong>in</strong> parallel from an<br />

electrostatic read-only memory" (Lav<strong>in</strong>gton, 2000, p11). Government contracts be<strong>in</strong>g what they are,<br />

however, m<strong>in</strong>ds soon changed, <strong>and</strong> MRS was cancelled <strong>in</strong> 1949, threaten<strong>in</strong>g to put over half of<br />

Elliott's researchers out of a job (Hendry, 1989) .....<br />

Now it so happened that the collapse of the MRS project co<strong>in</strong>cided roughly with the <strong>in</strong>augural meet<strong>in</strong>g<br />

of the NRDC, so it made good political sense for the government to try to keep Coales' team together.<br />

The NRDC therefore chose Elliott to turn its now idle 152 <strong>in</strong>to a medium-sized computer to<br />

complement the larger Manchester mach<strong>in</strong>es, issu<strong>in</strong>g the first of a number of contracts <strong>in</strong> September<br />

1950. The result, <strong>in</strong> 1953, was the Elliott 401, the prototype of a series of five <strong>in</strong>creas<strong>in</strong>gly<br />

sophisticated "400-Series" mach<strong>in</strong>es. The 401 was designed by Andrew St. Johnston as a valvebased<br />

computer with delay l<strong>in</strong>e <strong>and</strong> magnetic disc memory, <strong>and</strong> ran its first program <strong>in</strong> March 1953. It<br />

had a front-load<strong>in</strong>g modular design [picture] for ease of ma<strong>in</strong>tenance, achieved high availability<br />

figures, <strong>and</strong> actually rema<strong>in</strong>ed <strong>in</strong> use until 1965. [For more on the 401, see Lav<strong>in</strong>gton (2000). The<br />

mach<strong>in</strong>e itself is now preserved at the Science Museum, London.]<br />

Key Innovation - Magnetic Disk Storage: One of the 401 <strong>in</strong>novations was the first magnetic disk.<br />

This was designed by Chris Phillips as a more compact <strong>and</strong> easier to eng<strong>in</strong>eer form of magnetic<br />

medium than the magnetic drum. However, the functional pr<strong>in</strong>ciples - track-based storage, access<br />

latency, etc - were the same as for the drum.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The 401 was followed <strong>in</strong> 1955 by the 402 <strong>and</strong> 403 production mach<strong>in</strong>es, the 403 be<strong>in</strong>g historically<br />

noteworthy because it fielded an early version of "pipel<strong>in</strong><strong>in</strong>g" .....<br />

Key Innovation - "Pipel<strong>in</strong><strong>in</strong>g" <strong>and</strong> Related Concepts (First Mention): "Pipel<strong>in</strong><strong>in</strong>g" is a technique<br />

"whereby multiple <strong>in</strong>structions are overlapped <strong>in</strong> execution" (Patterson <strong>and</strong> Hennessy, 1996, p125).<br />

We have already seen how the buffer concept allowed a temporary memory resource to be used to<br />

speed up I/O [see Section 1.3]. The Elliott 403 designers simply applied a similar concept to the<br />

<strong>in</strong>struction stream as well, arrang<strong>in</strong>g for the FETCH part of the basic FETCH-<strong>and</strong>-EXECUTE cycle<br />

[rem<strong>in</strong>der] to be a step ahead of the EXECUTEs. This was accomplished by provid<strong>in</strong>g an<br />

"Instruction Buffer", to conta<strong>in</strong> <strong>in</strong>struction <strong>in</strong> FETCH mode, while the Instruction Register<br />

[rem<strong>in</strong>der] conta<strong>in</strong>ed <strong>in</strong>struction <strong>in</strong> EXECUTE mode. Needless to say, when <strong>in</strong>struction had<br />

been successfully executed, an important decision needed to be made - had that <strong>in</strong>struction resulted<br />

<strong>in</strong> any form of program jump? If it had not, then the oper<strong>and</strong>s correspond<strong>in</strong>g to the presumed next<br />

<strong>in</strong>struction, that is to say, <strong>in</strong>struction <strong>in</strong> the Instruction Buffer, could safely be used, <strong>and</strong> were<br />

duly copied to the Instruction Register <strong>in</strong> a ready-to-execute state. If, on the other h<strong>and</strong>, a program<br />

jump had been requested, then the presumption had been wrong, <strong>and</strong> the contents of the Instruction<br />

Buffer were unsafe, had to be discarded, <strong>and</strong> a new FETCH operation done to <strong>in</strong>itiate the program<br />

branch. S<strong>in</strong>ce the safes were generally more frequent <strong>in</strong> practice than the unsafes, the technique<br />

delivered real sav<strong>in</strong>gs <strong>in</strong> speed of process<strong>in</strong>g. [We return to these concepts <strong>in</strong> Part 5, when deal<strong>in</strong>g<br />

with the IBM 7030 <strong>and</strong> CDC 6600.]<br />

The last of the Elliott 400-Series was the Elliott 405. This sold well both at home <strong>and</strong> <strong>in</strong>ternationally<br />

[possibly under the name NCR 304?], thanks to a licens<strong>in</strong>g agreement with the American NCR<br />

Corporation. [For more on the early Elliott range, click here or see Gabriel (1997/2003 onl<strong>in</strong>e), or<br />

Hoare (1981/2003 onl<strong>in</strong>e). Jack Smith (2001/2003 onl<strong>in</strong>e) provides a h<strong>and</strong>y memoir of how an Elliott<br />

403 contributed to the Australian weapons research programme. For the later "800-Series" mach<strong>in</strong>es,<br />

see Part 5.]<br />

Key Innovation - Direct <strong>Memory</strong> Access: The architecture devised for the Elliott 405 allowed its<br />

programmers to maximise CPU performance by re-rout<strong>in</strong>g much of its non-essential traffic around it<br />

rather than through it. Us<strong>in</strong>g an electronic equivalent of a city orbital [US = beltway], data en route<br />

from peripheral to Ma<strong>in</strong> <strong>Memory</strong> was given a direct access route, without go<strong>in</strong>g via the CPU (hence<br />

the epithet "direct"). This was implemented by giv<strong>in</strong>g each peripheral its own controller, with its own<br />

<strong>in</strong>struction set. This way of do<strong>in</strong>g th<strong>in</strong>gs immediately became an <strong>in</strong>dustry st<strong>and</strong>ard, <strong>and</strong> is nowadays<br />

known as "Direct <strong>Memory</strong> Access" (DMA) [further details].<br />

The success of the 400-series kept Elliott so busy dur<strong>in</strong>g the early 1950s that they even had to give<br />

some of their good ideas away. We refer here to the 1952 "Nicholas" - another Charles Owen design,<br />

with system software by George Felton - a mach<strong>in</strong>e which Elliott put together <strong>in</strong> a hurry to carry out <strong>in</strong>house<br />

data process<strong>in</strong>g. So successful did this prove, that the NRDC arranged for Ferranti's London<br />

works to turn it <strong>in</strong>to a marketable package, <strong>and</strong> the result - the "Pegasus" - ran its first program <strong>in</strong><br />

October 1955 <strong>and</strong> entered commercial service six months later (Lav<strong>in</strong>gton, 2000). It proved a highly<br />

reliable general purpose serial computer, <strong>and</strong> despite hav<strong>in</strong>g to make do with thermionic valves <strong>and</strong><br />

magnetic drum storage, its designers had devised a "powerful, straightforward" (p16) 49-item threeoper<strong>and</strong><br />

<strong>in</strong>struction set [detailed list<strong>in</strong>g] which made for very concise programm<strong>in</strong>g, although <strong>in</strong><br />

achiev<strong>in</strong>g this they had been assisted by one of the NRDC eng<strong>in</strong>eers, Christopher Strachey .....<br />

BIOGRAPHICAL ASIDE - CHRISTOPHER STRACHEY: [This from Campbell-Kelly's (1985) technical<br />

biography.] Christopher Strachey (1916-1975) was the son of a First World War cryptologist. He<br />

Revised August 5, 2008 Page 82 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

graduated <strong>in</strong> mathematics <strong>and</strong> physics at Cambridge, <strong>and</strong> ended up as a wartime radar eng<strong>in</strong>eer.<br />

Employed <strong>in</strong> 1939 by the St<strong>and</strong>ard Telephone <strong>and</strong> Cable Company on the development of thermionic<br />

valve technology, he had occasion to run complex calculations through a small differential analyser,<br />

<strong>and</strong> this aroused his <strong>in</strong>terest <strong>in</strong> comput<strong>in</strong>g. Upon his demobilisation <strong>in</strong> 1945, he obta<strong>in</strong>ed a position as<br />

a science teacher, firstly at St. Edmund's School, Canterbury, <strong>and</strong> later at the prestigious Harrow<br />

School, where a chance encounter with Norbert Wiener's recently published "Cybernetics" reawakened<br />

his <strong>in</strong>terest <strong>in</strong> comput<strong>in</strong>g. He therefore approached the National Physical Laboratory's Pilot<br />

ACE development team a few miles away across Middlesex, <strong>and</strong> by January 1951 was attempt<strong>in</strong>g to<br />

write programs <strong>in</strong> his spare time. Inspired by an article on computerised board games by the NPL's<br />

Donald Davies (Davies, 1950), he chose to attack the problem of gett<strong>in</strong>g a comput<strong>in</strong>g mach<strong>in</strong>e to play<br />

draughts. He did not quite succeed, but his program was promis<strong>in</strong>g enough to earn him a second<br />

attempt, this time on the Ferranti Mark I at Manchester University, <strong>and</strong> over the ensu<strong>in</strong>g months he<br />

improved the code so much that the university promised him a job as soon as f<strong>in</strong>ances allowed. In the<br />

event, however, he was poached by Lord Halsbury's newly created NRDC before this could happen,<br />

<strong>and</strong> jo<strong>in</strong>ed them <strong>in</strong> June 1952. He presented his draughts program at the Second ACM Conference <strong>in</strong><br />

Toronto <strong>in</strong> September 1952, <strong>and</strong> the consequent boost to his reputation then earned him a<br />

succession of rov<strong>in</strong>g placements <strong>in</strong> both North America <strong>and</strong> Brita<strong>in</strong>. This <strong>in</strong>cluded time on site <strong>in</strong> 1953<br />

evaluat<strong>in</strong>g progress of the Elliott 401, <strong>in</strong> 1954 improv<strong>in</strong>g the Ferranti Pegasus, <strong>and</strong> <strong>in</strong> 1958 help<strong>in</strong>g to<br />

develop the MUSE [more on which <strong>in</strong> Part 5]. He left the NRDC <strong>in</strong> 1959 to set up <strong>in</strong> private<br />

consultancy, <strong>and</strong> for six years toured the country, contribut<strong>in</strong>g to the development of third generation<br />

programm<strong>in</strong>g languages [see Part 6]. F<strong>in</strong>ally, he was headhunted <strong>in</strong> 1965 by Oxford University to<br />

direct their recently established Programm<strong>in</strong>g Research Group, <strong>and</strong> worked there until his death <strong>in</strong><br />

1975.<br />

One of the th<strong>in</strong>gs Strachey did for Pegasus was to help design an enlarged set of CPU registers, <strong>in</strong><br />

what is now known as a "general register" arrangement (Lav<strong>in</strong>gton, 2000). He began by look<strong>in</strong>g at<br />

the <strong>in</strong>efficiencies <strong>and</strong> <strong>in</strong>adequacies of earlier <strong>in</strong>struction sets <strong>and</strong> found that the chief time stealers -<br />

the "red tape" <strong>in</strong>structions - were control branches, data transfers, <strong>and</strong> h<strong>and</strong>l<strong>in</strong>g large data arrays. He<br />

therefore arranged a simultaneous upgrade of the logic circuitry, the register set, <strong>and</strong> the <strong>in</strong>struction<br />

set. A 39-bit word size was chosen, with<strong>in</strong> which was a six-bit op code field. This would theoretically<br />

have allowed up to 64 separate operations, but only 49 were <strong>in</strong>itially used. The operations were<br />

presented as eight blocks of eight, by sub-divid<strong>in</strong>g the op code <strong>in</strong>to two three-bit triplets, <strong>and</strong><br />

transliterat<strong>in</strong>g each of these <strong>in</strong>to octal [see detailed list<strong>in</strong>g, Column 4]. Thus 010011 was treated as<br />

010 (octal/decimal = 2) followed by 011 (octal/decimal = 3), <strong>and</strong> shown as 23 (decimal 19).<br />

TECHNICAL ASIDE - OCTAL: Octal is the base eight number<strong>in</strong>g system, which means that each left<br />

order <strong>in</strong>teger represents a power of eight higher than the one to its right. Only the digits 0 to 7<br />

<strong>in</strong>clusive are used, because the decimal 8 will always "carry one" - thus octal 7 plus octal 1 gives octal<br />

10 (decimal 8), <strong>and</strong> octal 777 (decimal 511) plus octal 1 gives octal 1000 (decimal 512).<br />

Programmers soon began to remember these numeric codes as "mnemonics" for the operations<br />

they controlled [more on which <strong>in</strong> Section 3.2]. Eight accumulator registers were built <strong>in</strong>to the CPU,<br />

numbered X0 to X7, with X0 always set to b<strong>in</strong>ary zero. These could be used for any relevant purpose,<br />

specifically <strong>in</strong>dex<strong>in</strong>g large data arrays, loop count<strong>in</strong>g, <strong>and</strong> hold<strong>in</strong>g <strong>in</strong>termediate values dur<strong>in</strong>g complex<br />

calculations. This is how array h<strong>and</strong>l<strong>in</strong>g worked .....<br />

Key Innovation - H<strong>and</strong>l<strong>in</strong>g Data Arrays: When allocat<strong>in</strong>g Ma<strong>in</strong> <strong>Memory</strong> for data storage, it<br />

frequently happens that a data item naturally occurs a number of times. Suppose, for example, that<br />

you needed to store for every one of a thous<strong>and</strong> employees. The trick here<br />

Revised August 5, 2008 Page 83 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

is to set up a contiguous "data array", that is to say, one thous<strong>and</strong> consecutive word addresses <strong>in</strong><br />

Ma<strong>in</strong> <strong>Memory</strong>. You can then select the particular occurrence you are momentarily <strong>in</strong>terested <strong>in</strong> by<br />

"<strong>in</strong>dex<strong>in</strong>g" that array with a bracketed suffix. Thus will get you<br />

record #8 when INDEX reads 7 (all computer counts start from zero, remember), record #652 when it<br />

reads 651, <strong>and</strong> so on (it will also blue screen on you if you are careless with your <strong>in</strong>dex<strong>in</strong>g <strong>and</strong> try to<br />

access a value less than zero or greater than 999).<br />

About 40 Pegasus mach<strong>in</strong>es were sold before the product l<strong>in</strong>e was discont<strong>in</strong>ued <strong>in</strong> 1962: the sixth off<br />

the production l<strong>in</strong>e helped Vickers Armstrong design the Concorde supersonic airl<strong>in</strong>er, <strong>and</strong> the 25th<br />

has been restored to work<strong>in</strong>g order <strong>and</strong> is on display <strong>in</strong> the Science Museum, London. "On the<br />

<strong>in</strong>ternational stage," writes Lav<strong>in</strong>gton (2000, p57), "the huge number of modern commodity computers<br />

with a general register-set architecture is testimony to the usefulness of Christopher Strachey's ideas<br />

for Pegasus". [For background detail on Pegasus, see Cooper (1990/2003 onl<strong>in</strong>e) or Lav<strong>in</strong>gton (2000).<br />

Donald Kershaw was a user of this kit, <strong>and</strong> provides some recollections onl<strong>in</strong>e (Kershaw, 2002<br />

onl<strong>in</strong>e).]<br />

2.4 EDSAC <strong>and</strong> EDSAC Clones<br />

We have already expla<strong>in</strong>ed <strong>in</strong> Part 3 how Cambridge University's EDSAC had come from beh<strong>in</strong>d <strong>in</strong><br />

the years 1946 to 1949 to put together the world first stored program computer [rem<strong>in</strong>der]. The<br />

mach<strong>in</strong>e cont<strong>in</strong>ued to be improved dur<strong>in</strong>g the early 1950s, <strong>and</strong> brought forth many <strong>in</strong>novations, not<br />

least microprogramm<strong>in</strong>g [more on which <strong>in</strong> Part 5] <strong>and</strong> assembler programm<strong>in</strong>g [see Section 3.2<br />

below]. For Cambridge University's official collection of rem<strong>in</strong>iscences from this period, click here.<br />

The EDSAC development which most concerns us at this juncture is Maurice Wilkes', David<br />

Wheeler's, <strong>and</strong> Stan Gill's work on "subrout<strong>in</strong>es", ca 1947. Smotherman (2002/2003 onl<strong>in</strong>e) reviews<br />

the early history of the subrout<strong>in</strong>e concept, <strong>and</strong> suggests that Ada, Countess of Lovelace, deserves<br />

first mention <strong>in</strong> that <strong>in</strong> 1842 she proposed reusable rout<strong>in</strong>es for Babbage's Analytical Eng<strong>in</strong>e<br />

[rem<strong>in</strong>der]. Alan Tur<strong>in</strong>g then proposed much the same for the Pilot ACE <strong>in</strong> 1946, followed by the<br />

EDSAC team <strong>in</strong> 1947. Konrad Zuse also deserves mention <strong>in</strong> that his Z4 was upgraded ca. 1950 to<br />

allow a s<strong>in</strong>gle subrout<strong>in</strong>e to be executed by mount<strong>in</strong>g it on a second tape reader. Here are the some<br />

of the technicalities .....<br />

Key Innovation - Subrout<strong>in</strong>es: Subrout<strong>in</strong>es are "self-conta<strong>in</strong>ed sequences of orders each of which<br />

performs a dist<strong>in</strong>ct part of the calculation <strong>in</strong> h<strong>and</strong>" (Wilkes, 1956, p86). More importantly, they allow a<br />

discrete operation to be developed once <strong>and</strong> then re-used as often as wanted, <strong>and</strong> as such they<br />

represent probably the greatest s<strong>in</strong>gle aid to programmer productivity ever devised. In practice,<br />

however, there are several ways of benefit<strong>in</strong>g from pre-written code. The first is to copy a trusted preexist<strong>in</strong>g<br />

program <strong>in</strong> its entirety <strong>and</strong> then edit it where necessary, the second is to edit <strong>in</strong> a block of<br />

<strong>in</strong>structions from such a program, <strong>and</strong> the third is to set a block of <strong>in</strong>structions up as a program-<strong>in</strong>m<strong>in</strong>iature<br />

- the "subrout<strong>in</strong>e" - <strong>and</strong> then formally transfer control to it. All three ways work, but only the<br />

subrout<strong>in</strong>e approach creates genu<strong>in</strong>ely reusable code. The transfer of control is known as mak<strong>in</strong>g a<br />

"call", <strong>and</strong> the eventual transfer back is known as a "return". Wilkes expla<strong>in</strong>s that it is frequently an<br />

eng<strong>in</strong>eer<strong>in</strong>g choice whether to perform a given operation via a subrout<strong>in</strong>e, or else to hardwire <strong>in</strong> some<br />

additional logic circuitry. As is often the case <strong>in</strong> such matters, there is a trade off between complexity<br />

(circuitry costs money to design <strong>and</strong> test) <strong>and</strong> speed (subrout<strong>in</strong>es add execution time), <strong>and</strong> it is the<br />

relative frequency of the task which often sw<strong>in</strong>gs the decision one way or the other. The EDSAC, for<br />

example, deliberately chose a slow subrout<strong>in</strong>e to perform division on the grounds that divisions were<br />

comparatively <strong>in</strong>frequent. Other "obvious examples of subrout<strong>in</strong>es suitable for <strong>in</strong>clud<strong>in</strong>g <strong>in</strong> a library are<br />

ones for calculat<strong>in</strong>g s<strong>in</strong>es, cos<strong>in</strong>es, exponentials, <strong>and</strong> similar functions" (ibid.).<br />

Revised August 5, 2008 Page 84 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Key Innovation - "Return Codes": One of the complications <strong>in</strong>troduced by subrout<strong>in</strong>es is that the<br />

call<strong>in</strong>g program must be sensitive to the possibility that the called subrout<strong>in</strong>e might fail <strong>in</strong> some way.<br />

Such a failure will often "crash" or "loop" the entire mach<strong>in</strong>e, but if it does not, then it falls to the call<strong>in</strong>g<br />

program NOT to carry on <strong>in</strong> what is then probably a corrupt state. The way around this is (a) for the<br />

call<strong>in</strong>g program to precede the call with the sett<strong>in</strong>g of a "return code" data field to a non-zero value<br />

(to be <strong>in</strong>terpreted as "failure"), (b) for the last <strong>in</strong>struction <strong>in</strong> the called program to set that same field to<br />

zero (to be <strong>in</strong>terpreted as "success"), <strong>and</strong> (c) for the first <strong>in</strong>struction <strong>in</strong> the call<strong>in</strong>g program after the<br />

return to test for zero or non-zero. If the subrout<strong>in</strong>e has worked, then the return code will have been<br />

set to zero, <strong>and</strong> the call<strong>in</strong>g program can proceed about its bus<strong>in</strong>ess. If the subrout<strong>in</strong>e has not worked,<br />

then the call<strong>in</strong>g program can branch to a pre-written soft abort control sequence. So successful did<br />

the return code idea work <strong>in</strong> practice, that designers soon <strong>in</strong>troduced a whole range of non-zero return<br />

codes (alternatively, "error codes" or "diagnostics"), each enabl<strong>in</strong>g a different type of failure to be<br />

accurately identified. Internet users see these every day, of course - click here for a non-existent<br />

Internet l<strong>in</strong>k, <strong>and</strong> note the result<strong>in</strong>g error code.<br />

EDSAC was also the <strong>in</strong>spiration for the Lyons Company's LEO I [rem<strong>in</strong>der], <strong>and</strong> here aga<strong>in</strong> the ma<strong>in</strong><br />

player was a demobilised wartime boff<strong>in</strong>, an ex-TRE electronics eng<strong>in</strong>eer named John M.M. P<strong>in</strong>kerton<br />

(1919-1997). P<strong>in</strong>kerton took charge of the project <strong>in</strong> January 1949, <strong>and</strong> the result<strong>in</strong>g EDSAC clone<br />

ran its first test program on 5th September 1951 (Bird, 1994), <strong>and</strong> its first bus<strong>in</strong>ess application - a<br />

bakeries valuation - on 29th November 1951 (L<strong>and</strong>, 1999/2003 onl<strong>in</strong>e). It then parallel ran its first live<br />

payroll on 24th December 1953, at which time its designers claimed that what took an experienced<br />

clerk eight m<strong>in</strong>utes could be done by the mach<strong>in</strong>e <strong>in</strong> 1.5 seconds (Bird, 2002). After careful crosscheck<strong>in</strong>g<br />

of manual <strong>and</strong> computer output, the manual system was withdrawn, <strong>and</strong> LEO ran<br />

unsupported on 12th February 1954 (Cam<strong>in</strong>er <strong>and</strong> L<strong>and</strong>, 2003). Apart from the immediate benefit to<br />

their Accounts Department, Cam<strong>in</strong>er <strong>and</strong> L<strong>and</strong> (2003) describe that date as mark<strong>in</strong>g "a world first". A<br />

more powerful mach<strong>in</strong>e, the LEO II was begun <strong>in</strong> 1954 <strong>and</strong> entered service <strong>in</strong> May 1957. Eleven of<br />

these mach<strong>in</strong>es were built, but only the last four were equipped with the more expensive ferrite core<br />

memory (Ferry, 2003). A third generation mach<strong>in</strong>e, the LEO III is mentioned <strong>in</strong> Part 5.<br />

3 - First Generation Software<br />

Alongside the electronics <strong>and</strong> eng<strong>in</strong>eer<strong>in</strong>g developments, the early 1950s also found a grow<strong>in</strong>g army<br />

of computer programmers struggl<strong>in</strong>g to keep their CPUs ga<strong>in</strong>fully employed. The problem here was<br />

essentially one of too good a press, for now that potential system sponsors knew how versatile the<br />

new digital mach<strong>in</strong>ery could be, they were rais<strong>in</strong>g requests for computer solutions faster than the<br />

necessary programs could be written. Unfortunately, the penny was also beg<strong>in</strong>n<strong>in</strong>g to drop as to how<br />

much time these programs could take to write; <strong>and</strong> worse, how difficult they then were to amend; <strong>and</strong><br />

worse still, how often customers would ask for such amendments. Thus .....<br />

"In June 1949 I realised that a good part of the rest of my life would be spent f<strong>in</strong>d<strong>in</strong>g errors <strong>in</strong> my own<br />

programs." (EDSAC's Maurice Wilkes, <strong>in</strong> Sabbagh, 1999.) [We believe (May 2003) that Wilkes is still<br />

alive, so it is clearly good to make lots of errors!]<br />

3.1 Application vs Operat<strong>in</strong>g Software<br />

To cope with this early "software backlog", the comput<strong>in</strong>g <strong>in</strong>dustry was forced to specialise on the<br />

programm<strong>in</strong>g side of th<strong>in</strong>gs the way it had specialised dur<strong>in</strong>g its formative years <strong>in</strong> the physics <strong>and</strong> the<br />

eng<strong>in</strong>eer<strong>in</strong>g, when valve men with solder<strong>in</strong>g irons produced the hardware <strong>and</strong> mathematicians<br />

decided how it should be used. It began hold<strong>in</strong>g summer schools (for example at Cambridge <strong>in</strong> 1950)<br />

<strong>and</strong> provid<strong>in</strong>g tra<strong>in</strong><strong>in</strong>g courses, <strong>and</strong> at first two, <strong>and</strong> then three, <strong>and</strong> then four, areas of specific<br />

Revised August 5, 2008 Page 85 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

expertise emerged. The first dist<strong>in</strong>ction to emerge was that between "computer hardware" - the<br />

physical mach<strong>in</strong>e - <strong>and</strong> "computer software" - the programs which had to be written to make the<br />

hardware productive [the word "software" itself was co<strong>in</strong>ed by John Tukey at Bell Labs]. The second<br />

dist<strong>in</strong>ction was then between "application software", programs which specifically addressed this or<br />

that real world problem, <strong>and</strong> "operat<strong>in</strong>g software" (sometimes "systems software"), programs<br />

which helped <strong>in</strong>terface these applications with the hardware <strong>in</strong> some st<strong>and</strong>ardised <strong>and</strong> user-friendly<br />

way. A computer's "Operat<strong>in</strong>g System", or "OS", became the software which was actually "closest<br />

to" the hardware, <strong>and</strong> what was happen<strong>in</strong>g <strong>in</strong> essence was that one program - the OS - ended up<br />

(thanks to yet more call-<strong>and</strong>-return branch<strong>in</strong>g) execut<strong>in</strong>g another - the application .....<br />

Key Innovation - Application Software: Applications are what you, the user, want to do with your<br />

computer. If you wanted to run an appo<strong>in</strong>tments system, for example, you would need a carefully<br />

designed <strong>and</strong> <strong>in</strong>terlock<strong>in</strong>g set of "applications", each address<strong>in</strong>g one aspect of the overall task of<br />

manag<strong>in</strong>g appo<strong>in</strong>tments. The dist<strong>in</strong>ct practical purpose of each program is known as its<br />

"functionality", <strong>and</strong> it is functionality which gives an application its bus<strong>in</strong>ess value. The sum total of<br />

<strong>in</strong>dividual applications is known as the "application system", <strong>and</strong> the programmers who specialise <strong>in</strong><br />

cod<strong>in</strong>g applications are known as "applications programmers". Applications programmers are<br />

assisted <strong>in</strong> their work by the "programm<strong>in</strong>g languages" available on their mach<strong>in</strong>es [see next<br />

section], <strong>and</strong> also by a deep underst<strong>and</strong><strong>in</strong>g of the real world they are try<strong>in</strong>g to computerise. In the<br />

event, the best programmers often turned out to be the worst at underst<strong>and</strong><strong>in</strong>g the real world, <strong>and</strong> so<br />

a separate breed of be<strong>in</strong>gs called "systems analysts" was recruited to do that part of the job for<br />

them, <strong>and</strong> hybrids of the two sorts of skills - those who can manage both real world <strong>and</strong> programm<strong>in</strong>g<br />

tasks - are called "analyst-programmers".<br />

Key Innovation - Operat<strong>in</strong>g Software: The key to underst<strong>and</strong><strong>in</strong>g operat<strong>in</strong>g software lies <strong>in</strong> grasp<strong>in</strong>g<br />

a s<strong>in</strong>gle basic fact, namely that a high proportion of any one program re-uses code already written<br />

(often at great cost) elsewhere. It therefore makes sense not just to provide the applications<br />

programmers with a library of tried <strong>and</strong> tested subrout<strong>in</strong>es, but also with a way of access<strong>in</strong>g these<br />

procedures from with<strong>in</strong> a programmer-friendly key<strong>in</strong>g environment. The operat<strong>in</strong>g system is the<br />

mechanism by which this is all achieved, <strong>and</strong> its st<strong>and</strong>ard functions <strong>in</strong>clude <strong>in</strong>terfac<strong>in</strong>g with the<br />

operator, manag<strong>in</strong>g the library procedures, manag<strong>in</strong>g the peripherals, display<strong>in</strong>g the contents of<br />

magnetic media, know<strong>in</strong>g what filenames have been allocated, know<strong>in</strong>g where on the available disks<br />

it has put each file (<strong>and</strong> the really clever operat<strong>in</strong>g systems are able to store a given file <strong>in</strong> a number<br />

of non-contiguous fragments, so that takes a lot of manag<strong>in</strong>g), manag<strong>in</strong>g disk I-O, issu<strong>in</strong>g warn<strong>in</strong>gs,<br />

help, <strong>and</strong> error messages, keep<strong>in</strong>g track of date <strong>and</strong> time, <strong>and</strong> mark<strong>in</strong>g same on the filestock so users<br />

know how old they are, <strong>and</strong> last (but by no means least) controll<strong>in</strong>g the execution of end-user<br />

programs. Some operat<strong>in</strong>g systems are easier to get along with than others. The worst ones are<br />

those <strong>in</strong>vented <strong>in</strong> the days before the general public were allowed to get their h<strong>and</strong>s on computers.<br />

The easy to use ones are called "user friendly", <strong>and</strong> the trend of late has been for them to become<br />

more <strong>and</strong> more user friendly as time goes by. Operat<strong>in</strong>g systems are written by boff<strong>in</strong>s <strong>and</strong><br />

ma<strong>in</strong>ta<strong>in</strong>ed by "systems programmers", who (because they are the only ones who underst<strong>and</strong> what<br />

they are do<strong>in</strong>g) get paid a lot more than applications programmers.<br />

Figure 1 shows where all these (very expensive) people fit with<strong>in</strong> a commercial comput<strong>in</strong>g<br />

<strong>in</strong>stallation .....<br />

Figure 1 - Key Roles <strong>in</strong> Corporate Comput<strong>in</strong>g: Here we see the basic structures <strong>and</strong><br />

Revised August 5, 2008 Page 86 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

personalities you would f<strong>in</strong>d <strong>in</strong> a typical computerised corporation. Two separate organisations<br />

are shown. On the left h<strong>and</strong> side of the diagram is a computer manufactur<strong>in</strong>g organisation<br />

(Ferranti, say). On the right h<strong>and</strong> side of the diagram is a client organisation, a purchaser-user<br />

of comput<strong>in</strong>g power. We have subdivided the client organisation so as to show its Comput<strong>in</strong>g<br />

Division (large panel, left, drawn over scale) separate from its end-user divisions (stacked<br />

panels, right, drawn under scale), <strong>and</strong> both subord<strong>in</strong>ate to the Corporate Executive (top<br />

centre). With<strong>in</strong> the Comput<strong>in</strong>g Division, we show Operations <strong>and</strong> Systems Development<br />

activities separately, albeit both share a common physical system (p<strong>in</strong>k panel). With<strong>in</strong> the<br />

Systems Development Department, the pr<strong>in</strong>cipal activity is the writ<strong>in</strong>g <strong>and</strong> test<strong>in</strong>g of application<br />

software for the future, whilst with<strong>in</strong> the Operations Department it is runn<strong>in</strong>g application<br />

software already formally authorised for live use. For the reasons set out <strong>in</strong> our e-learn<strong>in</strong>g<br />

unit on the "Operations, Ma<strong>in</strong>tenance <strong>and</strong> Audit" of IT systems, this separation of duties is<br />

vitally important. Indeed <strong>in</strong> most large organisations, the operations side of th<strong>in</strong>gs will be<br />

located <strong>in</strong> a purpose-built "Computer Centre", whilst the development side of th<strong>in</strong>gs rema<strong>in</strong>s<br />

a headquarters function.<br />

Note the many different specialists (red captions) dotted around the various departments. In<br />

the manufactur<strong>in</strong>g organisation, we f<strong>in</strong>d the boff<strong>in</strong>s who build the hardware <strong>and</strong> develop the<br />

operat<strong>in</strong>g software. Hardware boff<strong>in</strong>s improve circuitry <strong>and</strong> <strong>in</strong>vent memory mechanisms, etc.<br />

Software boff<strong>in</strong>s improve <strong>in</strong>struction sets, implement ever better pipel<strong>in</strong><strong>in</strong>g, etc. "Ma<strong>in</strong>tenance<br />

eng<strong>in</strong>eers" provide an agreed level of after-sales service (green arrow) <strong>in</strong> return for a<br />

consideration (p<strong>in</strong>k arrow). In the Operations Department, there are "operators" to tend the<br />

mach<strong>in</strong>e itself <strong>and</strong> "systems programmers" to keep it <strong>in</strong> tune. In the Systems Development<br />

Department, it is usual to f<strong>in</strong>d a number of "systems ma<strong>in</strong>tenance teams", each consist<strong>in</strong>g of<br />

the analysts <strong>and</strong> programmers familiar with a particular application system. There will usually<br />

also be an overarch<strong>in</strong>g "Systems Unit" [names vary] carry<strong>in</strong>g out more strategic <strong>in</strong>vestigation<br />

<strong>and</strong> design.<br />

Given the many specialisms, the need also arises for help desks <strong>and</strong> liaison officers (green<br />

captions). These <strong>in</strong>clude "operations support" people to liaise with the systems ma<strong>in</strong>tenance<br />

people <strong>in</strong> order (a) to schedule work on a day-to-day basis, <strong>and</strong> (b) to report <strong>and</strong> prioritise<br />

system errors. The ma<strong>in</strong>tenance team also have to liaise with the Systems Unit over the<br />

commission<strong>in</strong>g of broader system enhancements. [For more on the development lifecycle of a<br />

computer system, see our e-learn<strong>in</strong>g unit on "IT Project Management", <strong>and</strong> for more on the<br />

sort of systems disasters which result when people do not communicate effectively, see our IT<br />

disasters database.]<br />

Revised August 5, 2008 Page 87 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

3.2 Interpreters, Assemblers, Loaders <strong>and</strong> L<strong>in</strong>kers, <strong>and</strong> Compilers<br />

As far as software productivity is concerned, there has only ever been one problem <strong>and</strong> there has<br />

only ever been one solution to it. The problem is the unfriendl<strong>in</strong>ess of mach<strong>in</strong>e code, <strong>and</strong> the solution<br />

has been to distance programmers from its complexity as far as possible. Put simply, writ<strong>in</strong>g efficient<br />

mach<strong>in</strong>e code from scratch is onerous <strong>in</strong> the extreme, <strong>and</strong> try<strong>in</strong>g to work out how you did what you did<br />

at a later date is nigh on impossible. As a result, generation zero development teams devoted a lot of<br />

effort to simplify<strong>in</strong>g the process, <strong>and</strong> their answer was to write utility programs to st<strong>and</strong> between the<br />

programmers <strong>and</strong> the mach<strong>in</strong>e code. In their simplest form, such programs offered to translate from a<br />

relatively human-friendly vocabulary <strong>in</strong>to the decidedly human-unfriendly vocabulary of the mach<strong>in</strong>e's<br />

<strong>in</strong>struction set. These utilities were the first "programm<strong>in</strong>g languages", <strong>and</strong> they brought with them<br />

some important new term<strong>in</strong>ology .....<br />

Key Innovation - Programm<strong>in</strong>g Languages, "Source Code", <strong>and</strong> "Object Code": A programm<strong>in</strong>g<br />

language is a computer program capable of recognis<strong>in</strong>g selected human-mean<strong>in</strong>gful <strong>in</strong>put comm<strong>and</strong>s,<br />

<strong>and</strong> generat<strong>in</strong>g as output the logically correspond<strong>in</strong>g mach<strong>in</strong>e code <strong>in</strong>structions. The <strong>in</strong>put comm<strong>and</strong>s<br />

are known as the "source code", <strong>and</strong> source code - of essence - is far easier to read for its logical<br />

<strong>in</strong>tention than is mach<strong>in</strong>e code, both by the orig<strong>in</strong>al programmer dur<strong>in</strong>g development, <strong>and</strong> then by a<br />

ma<strong>in</strong>tenance programmer at a later date. The output is known as the "object code", <strong>and</strong> if the<br />

developers have done their job properly this will have been optimised for technical efficiency, as well<br />

as be<strong>in</strong>g st<strong>and</strong>ardised <strong>and</strong> bug-free. Special dummy source code <strong>in</strong>structions allow explanatory<br />

Revised August 5, 2008 Page 88 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

annotation to be added to the source program as aides memoires, but withheld from the mach<strong>in</strong>e<br />

code.<br />

Ideally, you want to be able to tell the mach<strong>in</strong>e someth<strong>in</strong>g you underst<strong>and</strong>, like <strong>and</strong> have it turn that<br />

<strong>in</strong>struction <strong>in</strong>to someth<strong>in</strong>g the mach<strong>in</strong>e's arithmetic unit will underst<strong>and</strong>, like<br />

. Unfortunately, the source <strong>in</strong>structions had to<br />

be kept short to save memory, <strong>and</strong> so were usually abbreviated to two- or three-character<br />

"mnemonics" such as M for MULTIPLY .....<br />

Key Innovation - Mnemonics: In everyday English, a mnemonic is a memory aid of some sort (such<br />

as "ROY G BIV" for the colours of the ra<strong>in</strong>bow, etc.). Because there is no po<strong>in</strong>t <strong>in</strong> hav<strong>in</strong>g source code<br />

at all unless it is dist<strong>in</strong>ctly memorable, mnemonic systems usually consist of a set of h<strong>and</strong>y verbal<br />

tags .....<br />

Example: We have already seen how Pegasus programmers took to identify<strong>in</strong>g their b<strong>in</strong>ary op codes<br />

by their octal couplets. Thus Pegasus op code mnemonic "four-one" [see Section 2.3] <strong>in</strong>structs the<br />

mach<strong>in</strong>e to add a particular given number to a particular accumulator. Not only is "four-one" easier to<br />

remember than the logically identical b<strong>in</strong>ary code "one-zero-zero-zero-zero-one", but it is also easier<br />

to convert back to b<strong>in</strong>ary than the decimal equivalent. Thus octal 4 gives you b<strong>in</strong>ary 100 <strong>and</strong> octal 1<br />

gives you b<strong>in</strong>ary 001, so octal four-one gives you 100001.<br />

The simplest form of translation utility works on a one-to-one basis, <strong>and</strong> would nowadays be termed<br />

an "Interpreter". However, this level of assistance was not a lot of use to generation zero mach<strong>in</strong>e<br />

code experts, <strong>and</strong> so was little used. Instead, the boff<strong>in</strong>s concentrated on a more powerful class of<br />

utilities known as "assembly languages", or "assemblers" for short .....<br />

Key Innovation - Assembly, Load<strong>in</strong>g, <strong>and</strong> L<strong>in</strong>k<strong>in</strong>g: "An assembler is a translator that translates<br />

source <strong>in</strong>structions (<strong>in</strong> symbolic language) <strong>in</strong>to target <strong>in</strong>structions (<strong>in</strong> mach<strong>in</strong>e language), on a one to<br />

one basis" (Salomon, 1993/2003 onl<strong>in</strong>e). Jack Gilmore wrote such a program for the Whirlw<strong>in</strong>d, us<strong>in</strong>g<br />

mnemonic codes, <strong>and</strong> allow<strong>in</strong>g decimal <strong>in</strong>put. The Assembly process then substituted one or more<br />

mach<strong>in</strong>e <strong>in</strong>structions for the mnemonic <strong>and</strong> turned the decimals <strong>in</strong>to b<strong>in</strong>ary. This was followed by<br />

SHORT-CODE, developed by John Mauchley, <strong>and</strong> A-0 developed by Grace Hopper. Wilkes (1956)<br />

claims "an assembly subrout<strong>in</strong>e" for the EDSAC <strong>in</strong> 1950.<br />

One po<strong>in</strong>t about simple assemblers was that the object code they produced was actually <strong>in</strong>complete.<br />

Specifically, it did not <strong>in</strong>clude the object code for library-held subrout<strong>in</strong>es. An additional process<strong>in</strong>g<br />

stage was therefore needed, called "load<strong>in</strong>g <strong>and</strong> l<strong>in</strong>k<strong>in</strong>g". This was/is an additional utility program<br />

which located the various object code modules <strong>and</strong> - after some careful address cross-calculations -<br />

concatenated them <strong>in</strong>to a s<strong>in</strong>gle executable object code program. When done properly, all subrout<strong>in</strong>e<br />

calls will branch <strong>and</strong> return to valid addresses.<br />

Further major weaknesses gradually became apparent. Firstly, because mach<strong>in</strong>e <strong>in</strong>structions are<br />

<strong>in</strong>dividually very simple actions, there often needs to be a one-to-many relationship between a<br />

mnemonic <strong>and</strong> its equivalent object code <strong>in</strong>structions. Secondly, the mach<strong>in</strong>e code from one source<br />

<strong>in</strong>struction often needs <strong>in</strong>terleav<strong>in</strong>g with the mach<strong>in</strong>e code from adjacent source <strong>in</strong>structions. For<br />

example, mnemonic-by-mnemonic execution may be ideal for <strong>in</strong>teract<strong>in</strong>g with a human operator, but it<br />

is totally unable to cope with <strong>in</strong>tentional program loops. And thirdly, assemblers were hardwarespecific.<br />

You could not write source code once, <strong>and</strong> have it assembled onto different computers. This<br />

Revised August 5, 2008 Page 89 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

is because the one-to-one relationship between source <strong>and</strong> object <strong>in</strong>struction tied the translation<br />

program <strong>in</strong>flexibly to the specific host's specific <strong>in</strong>struction set. This led to the development of more<br />

advanced, mach<strong>in</strong>e-<strong>in</strong>dependent, programm<strong>in</strong>g utilities called "compilers" .....<br />

Key Innovation - Compilers: A "compiler" is a package of utility programs, fronted by a powerful<br />

conversion rout<strong>in</strong>e, supported by all the necessary loaders <strong>and</strong> l<strong>in</strong>kers, <strong>and</strong> complete with copious<br />

error detection <strong>and</strong> optimisation rout<strong>in</strong>es. As such, they allow programmers to write neatly structured<br />

source code, rely<strong>in</strong>g heavily on subrout<strong>in</strong>es, <strong>and</strong> yet leave all the technical details to the compilation<br />

process. Where both the amount <strong>and</strong> the complexity of the object code per source <strong>in</strong>struction is high,<br />

the language is known as a "high level language". In 1951, R.A. ("Tony") Brooker was put <strong>in</strong> charge of<br />

Manchester Mark 1 software <strong>and</strong> by 1954 had produced the first recognisable compiler, namely the<br />

"Mark 1 Autocode". Compilers can conveniently be divided <strong>in</strong>to "scientific", where there the source<br />

approximates to formal mathematical representation, or "bus<strong>in</strong>ess-oriented", where the source<br />

approximates to everyday English. The st<strong>and</strong>ard example of the former is FORTRAN, <strong>and</strong> of the latter,<br />

COBOL. The way th<strong>in</strong>gs timed out, many first <strong>and</strong> second generation bus<strong>in</strong>ess systems were written<br />

at great cost <strong>in</strong> Assembler, only to f<strong>in</strong>d themselves "up for a re-write" ten years later when COBOL<br />

came along. In <strong>in</strong>vestment terms, this is not good commercial practice, <strong>and</strong> British <strong>in</strong>dustry (at least)<br />

was so eager to squeeze every drop of return out of its capital, that commercial systems written <strong>in</strong><br />

Assemblers dur<strong>in</strong>g the early 1960s were still around (as "legacy systems") nearly 30 years later. The<br />

present author did a st<strong>in</strong>t on a large Assembler ma<strong>in</strong>tenance project as late as 1988.<br />

In fact, the word "compiler" should be treated with some caution, because its mean<strong>in</strong>g drifted<br />

somewhat <strong>in</strong> the early years. Backus (1984) argues that many early "compilers" are better regarded<br />

as assemblers, for their most significant aspect is their mnemonic set, rather than any program<br />

structur<strong>in</strong>g functionality, while Hopper (1959) emphasises their role <strong>in</strong> manag<strong>in</strong>g subrout<strong>in</strong>es. We<br />

<strong>in</strong>clude a full (albeit short) Assembly program, <strong>and</strong> elements of a compiled program, <strong>in</strong> Part 6, where<br />

we shall also be look<strong>in</strong>g at how programm<strong>in</strong>g languages give programmers h<strong>and</strong>s-on control over<br />

their mach<strong>in</strong>e's short term memory resources.<br />

4 - First Generation <strong>Artificial</strong> <strong>Intelligence</strong><br />

Thus far, we have limited our consideration of software to military applications such as codebreak<strong>in</strong>g<br />

<strong>and</strong> ballistics, <strong>and</strong> to civilian applications such as payroll. However, a number of more adventurous<br />

applications had been bubbl<strong>in</strong>g under dur<strong>in</strong>g the late 1940s, <strong>and</strong> f<strong>in</strong>ally hit the headl<strong>in</strong>es <strong>in</strong> the early<br />

1950s. These were (1) mach<strong>in</strong>e translation, (2) semantic networks, (3) mechanised game play<strong>in</strong>g, (4)<br />

man-mach<strong>in</strong>e conversation, (5) "neurodal" networks, (6) robotics, (7) mach<strong>in</strong>e problem solv<strong>in</strong>g, <strong>and</strong><br />

(8) artificial consciousness. Taken together, these make up a doma<strong>in</strong> of enquiry we know today as<br />

"artificial <strong>in</strong>telligence" (AI), <strong>and</strong> <strong>in</strong> the rema<strong>in</strong>der of this section we look at each of these AI<br />

traditions <strong>in</strong> turn .....<br />

4.1 Mach<strong>in</strong>e Translation (MT)<br />

Hutch<strong>in</strong>s (1997/2003 onl<strong>in</strong>e) dates the idea that computers might be used to automate the process of<br />

natural language translation to two conversations which took place 20th June 1946 <strong>and</strong> 6th March<br />

1947 between the aforementioned Andrew D. Booth [see Section 2.1] <strong>and</strong> Warren Weaver (1894-<br />

1978), of the Rockefeller Foundation, <strong>and</strong> a letter dated 4th March 1947 from Weaver to the<br />

cyberneticist Norbert Wiener .....<br />

BIOGRAPHICAL ASIDE - WARREN WEAVER: Weaver was a University of Wiscons<strong>in</strong> mathematics<br />

professor, turned career philanthropist, turned wartime government advisor, turned "wartime 'Mr Fix-<br />

It'". He jo<strong>in</strong>ed the Rockefeller Foundation <strong>in</strong> 1932 as Director of the Division of Natural Sciences, did<br />

Revised August 5, 2008 Page 90 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

much of the facilitation dur<strong>in</strong>g the early construction of the giant 200-<strong>in</strong>ch Hale Telescope at the<br />

Mount Palomar Observatory [this project actually lasted 1928 to 1948, with a break dur<strong>in</strong>g World War<br />

Two - click here for the official history], <strong>and</strong> by the start of the war had established enough of a<br />

reputation as a loyal scientist to be appo<strong>in</strong>ted Director of the Control Systems Division of the newly<br />

formed US National Defence Research Committee (NDRC) [not to be confused with the British NRDC<br />

mentioned <strong>in</strong> Section 2.2]. Much like Pr<strong>in</strong>ceton's John von Neumann [rem<strong>in</strong>der], his role with<strong>in</strong> the<br />

NDRC made him a rov<strong>in</strong>g advisor-facilitator with responsibility for just about every mathematical<br />

aspect of the US war effort [mostly classified, of course], not least the transition from analog to digital<br />

computation (see M<strong>in</strong>dell, 2002). It also <strong>in</strong>volved him <strong>in</strong> at least one top secret mission across the<br />

Atlantic. After the war, Weaver became <strong>in</strong>terested <strong>in</strong> the concept of MT, <strong>and</strong> it was on one of his<br />

convenient Rockefeller Foundation visits that he met Booth, who, as we are about to see, shared his<br />

belief that MT was theoretically possible. He also went official second author on one of the major<br />

classics of modern <strong>in</strong>formation theory, namely Shannon <strong>and</strong> Weaver (1949).<br />

Follow<strong>in</strong>g Weaver's <strong>in</strong>spired <strong>and</strong> energetic str<strong>in</strong>g-pull<strong>in</strong>g, one of the first computers off the blocks was<br />

Booth's own ARC [see Section 2.1], <strong>and</strong> the formative event here seems to have been a chance<br />

professional exchange of m<strong>in</strong>ds between Booth <strong>and</strong> the Cambridge geneticist Richard H. Richens.<br />

Richens dates their first meet<strong>in</strong>g to 11th November 1947, <strong>and</strong> expla<strong>in</strong>s that it came about thanks to<br />

their shared <strong>in</strong>terest <strong>in</strong> punched card methods of process<strong>in</strong>g research data. Richens later expla<strong>in</strong>ed<br />

that .....<br />

"..... the idea of us<strong>in</strong>g punched cards for automatic translation arose as a sp<strong>in</strong>-off, fuelled by my<br />

realisation as editor of [the journal Plant Breed<strong>in</strong>g Abstracts] that l<strong>in</strong>guists conversant with the<br />

grammar of a foreign language <strong>and</strong> ignorant of the subject matter provided much worse translations<br />

that scientists conversant with the subject matter but hazy about the grammar." (Richens, 1984;<br />

private correspondence cited <strong>in</strong> Hutch<strong>in</strong>s 2000)<br />

The unlikely pair<strong>in</strong>g of the x-ray crystallographer with the drum storage system <strong>and</strong> the geneticist with<br />

punched card experience then set to work try<strong>in</strong>g to mechanise translation us<strong>in</strong>g a stored dictionary. In<br />

a jo<strong>in</strong>tly authored paper published a few years afterwards, they expla<strong>in</strong>ed what progress they had<br />

made so far, <strong>and</strong> made a number of predictions as to how they saw the new science develop<strong>in</strong>g .....<br />

"The most obvious way of us<strong>in</strong>g a comput<strong>in</strong>g mach<strong>in</strong>e for translation is to code each letter of a<br />

proposed dictionary word <strong>in</strong> 5-b<strong>in</strong>ary-digit form <strong>and</strong> to store the translation <strong>in</strong> that memory location<br />

hav<strong>in</strong>g the same digital value as the aggregate value of the dictionary word. Translation would then<br />

consist <strong>in</strong> cod<strong>in</strong>g the message word (a teletyper does this automatically) <strong>and</strong> then extract<strong>in</strong>g the<br />

translation <strong>in</strong> the same or next lower (digitally valued) storage position, the first giv<strong>in</strong>g exact<br />

translation <strong>and</strong> the second the stem translation with a rema<strong>in</strong>der."<br />

TECHNICAL ASIDE: This is our old friend the Baudot telegraph code aga<strong>in</strong> [rem<strong>in</strong>der; details], <strong>in</strong><br />

which the letters of the alphabet are given b<strong>in</strong>ary codes <strong>in</strong> the range 00000 (decimal 0) to 11111<br />

(decimal 31). The letters C-O-W, for example, would be given the follow<strong>in</strong>g codes .....<br />

C = 01110 (decimal 14)<br />

O = 11000 (decimal 24)<br />

W = 10011 (decimal 19)<br />

What the authors were suggest<strong>in</strong>g was that they should concatenate the three separate five-bit b<strong>in</strong>ary<br />

codes to give a 15-bit b<strong>in</strong>ary code (<strong>in</strong> this case, 011101100010011 or decimal 15,123). This code<br />

Revised August 5, 2008 Page 91 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

would then be automatically generated by typ<strong>in</strong>g the word "COW" at any st<strong>and</strong>ard teletype keyboard,<br />

<strong>and</strong> all that the computer needed to do was to store the translation of that word at storage address<br />

15,123 <strong>in</strong> the computer's memory. In practice, however, it was not that easy .....<br />

"Despite its simplicity, this scheme is quite impracticable with any exist<strong>in</strong>g storage device because the<br />

naive process of plac<strong>in</strong>g each dictionary word <strong>in</strong> a storage position equivalent to its own b<strong>in</strong>ary<br />

numerical version is grossly redundant."<br />

TECHNICAL ASIDE: The San Jose Scrabble Club lists 973 three-letter words <strong>in</strong> the English language,<br />

whilst there are 32,768 different 15-bit addresses between 000000000000000 <strong>and</strong> 111111111111111<br />

<strong>in</strong>clusive. Stor<strong>in</strong>g one <strong>in</strong> the other would therefore give you an unused memory factor of<br />

approximately 97%! This would be an unforgivable waste of resource even <strong>in</strong> the modern world of<br />

cheap memory, but <strong>in</strong> the 1940s would have been a total non-starter.<br />

"[..... so] to overcome this difficulty, a slightly more sophisticated approach has to be adopted.<br />

Dictionary words are stored <strong>in</strong> alphabetical order <strong>and</strong> <strong>in</strong> consecutive memory locations. Possibly these<br />

might be broken up <strong>in</strong>to <strong>in</strong>itial letter groups such that each group starts <strong>in</strong> a storage location <strong>in</strong>dicated<br />

by the b<strong>in</strong>ary coded form of its <strong>in</strong>itial [.....] The coded word to be translated is sent to an arithmetic<br />

register <strong>and</strong> is there compared, by subtraction, with the dictionary words. In this way, by means of the<br />

normal conditional control transfer order [ie. you only do it when the aforementioned subtraction gives<br />

zero, which will only happen when the two items are identical - Ed.], the dictionary stem<br />

correspond<strong>in</strong>g to the word can be obta<strong>in</strong>ed <strong>and</strong> its translation pr<strong>in</strong>ted. Next, the rema<strong>in</strong>der of the<br />

message word, left after subtraction of the stem, is shifted to occupy the extreme left-h<strong>and</strong> register<br />

position, <strong>and</strong> the comparison process is repeated, this time with the words of the end<strong>in</strong>g dictionary."<br />

(Richens <strong>and</strong> Booth, 1955, pp45-46)<br />

TECHNICAL ASIDE: The authors are here address<strong>in</strong>g the problem of translat<strong>in</strong>g morphologically<br />

complex words such as "COWS", where we have a s<strong>in</strong>gular root noun, referred to here as the "stem",<br />

to which is suffixed the pluralis<strong>in</strong>g morpheme "-S". This is the problem of "<strong>in</strong>flection" .....<br />

BASIC LINGUISTICS - INFLECTION: "Inflection is variation <strong>in</strong> the form of a word, typically by means<br />

of an affix, that expresses a grammatical contrast which is obligatory for the stem's word class <strong>in</strong><br />

some given grammatical context" [source]. It is the mechanism by which many of the world's natural<br />

languages cope with the number (s<strong>in</strong>gle or plural), gender (mascul<strong>in</strong>e, fem<strong>in</strong><strong>in</strong>e, or neuter), <strong>and</strong><br />

grammatical role of adjectives <strong>and</strong> nouns, <strong>and</strong> the number (s<strong>in</strong>gle or plural), tense (past, present, or<br />

future), <strong>and</strong> person (first, second, or third) of verbs. Thus the suffix will pluralise many English<br />

nouns (eg. "cats") or put many verbs <strong>in</strong>to the third person s<strong>in</strong>gular (eg. "he eats").<br />

Richens' <strong>and</strong> Booth's proposal was that such words should be matched <strong>in</strong> two stages, from two<br />

functionally separate dictionaries, namely a stem dictionary <strong>and</strong> an end<strong>in</strong>g dictionary. Thus COWS<br />

would divide as , translate <strong>in</strong>to German as <strong>and</strong> be reconstituted (on this<br />

occasion correctly) as KUHE. In practice, however, this was not that easy either .....<br />

Other universities quick to get <strong>in</strong>volved were MIT <strong>and</strong> the Harvard Computation Laboratory. The first<br />

MT conference was organised by Yehoshua Bar-Hillel of the University of Jerusalem (fortuitously on a<br />

sabbatical at MIT), <strong>and</strong> took place 17-20th June 1952. Among the delegates were Whirlw<strong>in</strong>d's Jay<br />

Forrester, Harry Huskey, Andrew Booth, <strong>and</strong> the l<strong>in</strong>guist <strong>in</strong> charge of the simultaneous translation<br />

facility at the 1945-1946 Nuremberg Trials, Georgetown University's Leon Dostert. This conference<br />

was followed two years later by the "Georgetown-IBM" demonstration of automated translation. This<br />

Revised August 5, 2008 Page 92 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

was organised by Dostert, took place on 7th January 1954 at IBM Headquarters, New York, <strong>and</strong> used<br />

software developed by Paul L. Garv<strong>in</strong> with technical <strong>in</strong>put from IBM's Peter Sheridan <strong>and</strong><br />

management back<strong>in</strong>g from Cuthbert Hurd [whom we have already met <strong>in</strong> Section 1, <strong>and</strong> of whom<br />

even more <strong>in</strong> Part 5]. The demonstration processed a 250-word Russian-English vocabulary, <strong>and</strong><br />

made front page news the next morn<strong>in</strong>g [see the New York Times article; see the IBM Press Release].<br />

BIOGRAPHICAL ASIDE - ANTHONY G. OETTINGER (1929-): Anthony G. Oett<strong>in</strong>ger (1929-) studied<br />

for his 1954 doctorate at the Harvard Computation Laboratory on the requirements of an automated<br />

Russian-English dictionary (Oett<strong>in</strong>ger, 1955). Given the abysmal state of US-Russian relations <strong>in</strong> the<br />

McCarthy era, there is little doubt that it was the promise of be<strong>in</strong>g able to translate <strong>in</strong>telligence<br />

material out of Russian more effectively which made MT a defence issue, <strong>and</strong> which therefore<br />

secured it much of its fund<strong>in</strong>g [see, for example, Bar-Hillel (1960)]. We meet Oett<strong>in</strong>ger aga<strong>in</strong> <strong>in</strong><br />

Section 4.5.<br />

Unfortunately, the Richens-Booth approach only works for the relatively simple words <strong>in</strong> a language,<br />

<strong>and</strong> starts to descend <strong>in</strong>to a morass of ever more complicated logic branches <strong>and</strong> special rules once it<br />

encounters "irregular" words <strong>and</strong> complex grammatical structures. Erw<strong>in</strong> Reifler, of the University of<br />

Wash<strong>in</strong>gton, Seattle, was one of the first to try to design his way around this particular problem. In<br />

Reifler (1955), he proposed carefully allocat<strong>in</strong>g separate dictionaries to separate "operational form<br />

classes", that is to say, to each of the st<strong>and</strong>ard grammatical categories. Form classes with very large<br />

memberships <strong>in</strong>clude nouns (cup, table, man, etc.), adjectives (big, happy, etc.), <strong>and</strong> verbs (eat, walk,<br />

fly, etc.), <strong>and</strong> form classes with very small memberships <strong>in</strong>clude determ<strong>in</strong>ers (a, the, some, etc.),<br />

pronouns (I, she, it, etc.), auxiliary verbs (to be/have/get, etc.), prepositions (<strong>in</strong>, to, by, etc.), <strong>and</strong><br />

conjunctions (<strong>and</strong>, but, because, etc.). Clearly recognis<strong>in</strong>g the modular nature of biological language<br />

process<strong>in</strong>g, he then proposed separate drum memories - up to 15 of them! Thus .....<br />

"If magnetic drums are used for memory storage, we may dist<strong>in</strong>guish between large-drum memories<br />

<strong>and</strong> small-drum memories. A number of each will be needed. [.....] Operational form classes whose<br />

membership is large will require large drum memories. [//] Large-Drum System: For the large<br />

operational form classes, a total of four large-drum units will be needed, conta<strong>in</strong><strong>in</strong>g the follow<strong>in</strong>g<br />

memories: (a) The capital memory for substantives <strong>and</strong> substantive constituents, (b) The attributive<br />

adjective memory, <strong>in</strong>clud<strong>in</strong>g the card<strong>in</strong>al numerals, except the few <strong>in</strong>cluded <strong>in</strong> the memory of<br />

determ<strong>in</strong>ative 'pro-adjectives', (c) The pr<strong>in</strong>cipal verb memory, exclud<strong>in</strong>g the few verbs <strong>in</strong>cluded <strong>in</strong> the<br />

memory of verbs always or sometimes requir<strong>in</strong>g a predicate complement, [<strong>and</strong>] (d) The predicate<br />

adjective memory, <strong>in</strong>clud<strong>in</strong>g all adverbs of adjectival <strong>and</strong> numerical orig<strong>in</strong>. Small-Drum System: In the<br />

small-drum system, an <strong>in</strong>dividual memory will be assigned to each of the operational form classes<br />

with a comparatively small membership. The ten small operational form classes discussed above may<br />

be entered <strong>in</strong>to ten small drums, but it may be desirable with German to subdivide the class of<br />

propositions <strong>in</strong>to six sub form-classes, accord<strong>in</strong>g to whether they require their complements <strong>in</strong> the<br />

follow<strong>in</strong>g cases: genitive, dative, accusative, genitive <strong>and</strong> dative, genitive <strong>and</strong> accusative, or dative<br />

<strong>and</strong> accusative. This would <strong>in</strong>crease the number of small drums to 15. With the smaller number of<br />

drums, a greater complexity of equipment <strong>and</strong> circuitry would be necessary to h<strong>and</strong>le the prepositions.<br />

It is, thus, a matter of eng<strong>in</strong>eer<strong>in</strong>g economics whether 10 or 15 small-drum memories are used."<br />

(Reifler, 1955, pp159-160; italics orig<strong>in</strong>al)<br />

TECHNICAL ASIDE: In retrospect, Reifler's suggestion is nowhere near as silly as it might sound; it<br />

was just a couple of years ahead of its time. With the development of database technology over the<br />

ensu<strong>in</strong>g decades, it gradually became possible to store fundamentally different datasets such as<br />

Reifler was propos<strong>in</strong>g on a s<strong>in</strong>gle physical resource. In other words, any Database Management<br />

Revised August 5, 2008 Page 93 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

System (DBMS) worth its salt could easily make a s<strong>in</strong>gle magnetic disk look like 15 disks. Figure 2(b)<br />

shows the sort of data analysis which would have needed to be done <strong>in</strong> order to allow this to happen.<br />

We shall be say<strong>in</strong>g a lot more about how DBMS do what they do <strong>in</strong> Part 5 (Section 3.1) <strong>and</strong> Part 6,<br />

<strong>and</strong> about why they are so important <strong>in</strong> Part 7.<br />

Cop<strong>in</strong>g with noun plurals <strong>and</strong> (<strong>in</strong> certa<strong>in</strong> languages) case variations, as well as with verb end<strong>in</strong>gs, was,<br />

however, just the beg<strong>in</strong>n<strong>in</strong>g, for it soon became apparent how complicated were the real-life<br />

languages programmers were try<strong>in</strong>g to translate. The problems posed by irregular verbs, or - worse -<br />

by the use of ironical or figurative language, or by the <strong>in</strong>tricacies of pronoun resolution, or by the<br />

effects of context, or by "polysemy" (that is to say, the multiple mean<strong>in</strong>gs of words), have still not<br />

been overcome half a century later, <strong>and</strong> the 1950s efforts were often laughable. Here, from<br />

Masterman (1967, p202), is an example of just how hopeless simple word-for-word translation can be<br />

[compare (2) <strong>and</strong> (3) for <strong>in</strong>telligibility, <strong>and</strong> note that Lat<strong>in</strong> is a heavily <strong>in</strong>flected language] .....<br />

(1) ORIGINAL LATIN: Possibile est, at non expertum, omnes species eiusdem generis ab eadem<br />

specie ortum traxisse.<br />

(2) WORD-FOR-WORD MACHINE TRANSLATION: Possible is however not prove/lack<strong>in</strong>g all<br />

species/appearance same genus/son-<strong>in</strong>-law from same species/appearance arise draw.<br />

NB: Note the underl<strong>in</strong>ed alternatives here. These are examples of the multiple mean<strong>in</strong>gs mentioned<br />

above, where a s<strong>in</strong>gle L1 word has two or more valid L2 translations, <strong>and</strong> where the f<strong>in</strong>al choice relies<br />

on contextual cues.<br />

(3) FINAL ENGLISH: It is possible, though not proved, that all species of the same genus have been<br />

derived from the same species.<br />

Now Margaret Masterman (1910-1986) knew Richens thanks to their jo<strong>in</strong>t <strong>in</strong>volvement with<br />

Cambridge University's Language Research Unit .....<br />

"Research on MT at Cambridge began with the <strong>in</strong>formal meet<strong>in</strong>gs of the Cambridge Language<br />

Research Group <strong>in</strong> 1954. In 1956 a grant was received from the National Science Foundation to<br />

pursue MT research, <strong>and</strong> the Cambridge Language Research Unit (CLRU) was formed, a research<br />

organisation <strong>in</strong>dependent of the University of Cambridge, with Margaret Masterman [wife of the<br />

philosopher R.B. Braithwaite] as director. In later years research grants were also received from the<br />

US Air Force Office of Scientific Research, the Office of Scientific <strong>and</strong> Technical Information (London),<br />

the Canadian National Research Council, <strong>and</strong> the Office of Naval Research (Wash<strong>in</strong>gton, DC). By<br />

1967, active research on MT at CLRU had decl<strong>in</strong>ed; many of its members had moved elsewhere,<br />

ma<strong>in</strong>ly with<strong>in</strong> the <strong>Artificial</strong> <strong>Intelligence</strong> field <strong>and</strong> often with a cont<strong>in</strong>ued <strong>in</strong>terest <strong>in</strong> MT [.....] There were<br />

four ma<strong>in</strong> themes <strong>in</strong> its MT research: the thesaurus approach, the concept of an <strong>in</strong>terl<strong>in</strong>gua, 'pidg<strong>in</strong>'<br />

translation, <strong>and</strong> lattice theory. The focus was primarily on semantic problems of MT, <strong>and</strong> syntactic<br />

questions were treated secondarily. Although procedures were <strong>in</strong>tended to be suitable for computers,<br />

most of the proposals were tested only by manual or punched card simulations because access to a<br />

computer proved to be difficult for many years." Hutch<strong>in</strong>s (1986/2003 onl<strong>in</strong>e)<br />

All four CLRU avenues of attack are directly relevant to our argument, <strong>in</strong>clud<strong>in</strong>g their <strong>in</strong>vestigations of<br />

pidg<strong>in</strong>. Indeed, one of the group's most fruitful observations was that there were some rather tell<strong>in</strong>g<br />

similarities between the halt<strong>in</strong>g <strong>and</strong> generally awkward word-for-word mach<strong>in</strong>e translations [sentence<br />

(2) above] <strong>and</strong> real life "pidg<strong>in</strong>s" .....<br />

Revised August 5, 2008 Page 94 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

BASIC LINGUISTICS - PIDGINS AND CREOLES: A "pidg<strong>in</strong>" is "a reduced language result<strong>in</strong>g from<br />

contact between groups with no common language", <strong>and</strong> a "creole" is "a pidg<strong>in</strong> or jargon that has<br />

become the native language of an entire speech community, often as a result of slavery or other<br />

population displacements" [source]. Thus Pidg<strong>in</strong> English is any rudimentary form of English,<br />

especially if spoken by aborig<strong>in</strong>al peoples for trad<strong>in</strong>g purposes, <strong>and</strong> the pidg<strong>in</strong> spoken <strong>in</strong> Papua New<br />

Gu<strong>in</strong>ea conta<strong>in</strong>s many qua<strong>in</strong>t phonetic corruptions, such as lusim (= ab<strong>and</strong>on), bigpela man (= adult),<br />

klostu (= almost), <strong>and</strong> narapela (= same aga<strong>in</strong>) [to see the full dictionary, click here].<br />

The academic po<strong>in</strong>t was that s<strong>in</strong>ce pidg<strong>in</strong>s somehow conta<strong>in</strong>ed all that was necessary to render a<br />

complex message mean<strong>in</strong>gful across a language barrier, it might make sense to design some form<br />

of "mechanical pidg<strong>in</strong>" <strong>in</strong>to your mach<strong>in</strong>e translation system. And if you did this carefully, you would<br />

then be able to record most of L1's <strong>in</strong>flections <strong>in</strong> coded form, tucked <strong>in</strong> as "pidg<strong>in</strong> markers"<br />

alongside the word stems, giv<strong>in</strong>g you what is known as a "cont<strong>in</strong>uous form" translation. With a<br />

cont<strong>in</strong>uous form version safely under your belt, you would have a much better chance of produc<strong>in</strong>g a<br />

contextually, as well as grammatically, sound L2 draft. Accord<strong>in</strong>g to Masterman (1967), the term<br />

"mechanical pidg<strong>in</strong>" came from Richens. Here, still from Masterman (1967, p202), is how sentence (2)<br />

above might look <strong>in</strong> cont<strong>in</strong>uous form, complete with <strong>in</strong>set markers .....<br />

(4) CONTINUOUS FORM MACHINE TRANSLATION WITH INFLECTION MARKERS: Possible z is<br />

however not prove/lack<strong>in</strong>g z all m species/appearance same g genus/son-<strong>in</strong>-law z from same<br />

species/appearance o arise z draw p.<br />

Masterman selected her <strong>in</strong>flection markers from the follow<strong>in</strong>g list from Richens <strong>and</strong> Booth (1955,<br />

p35) .....<br />

a = accusative case; d = dative case; f = future tense; g = genitive case; i = <strong>in</strong>dicative mood; l =<br />

locative case; m = multiple; n = nom<strong>in</strong>ative case; o = oblique; p = past tense; q = passive form; r =<br />

partitive; s = subjunctive mood; u = untranslatable; v = vacuous; z = unspecific<br />

The technical name for an <strong>in</strong>termediate translation form of this sort is an "<strong>in</strong>terl<strong>in</strong>gua" .....<br />

Key Innovation - Interl<strong>in</strong>guas: An "<strong>in</strong>terl<strong>in</strong>gua" is a language form <strong>in</strong>tentionally divorced from both<br />

L1 <strong>and</strong> L2 <strong>in</strong> a translation, but from which both L1 <strong>and</strong> L2 (<strong>and</strong>, ideally, all other languages) can be<br />

generated. Strictly speak<strong>in</strong>g, this def<strong>in</strong>ition <strong>in</strong>corporates <strong>in</strong>ternational languages such as Esperanto,<br />

but we restrict ourselves here to any sequence of heavily <strong>in</strong>flected protosemantic codes produced by<br />

pars<strong>in</strong>g.<br />

Masterman is also important because she suggested a major improvement to the Richens-Booth<br />

cont<strong>in</strong>uous form <strong>in</strong>terl<strong>in</strong>gua. In Masterman (1957), she simply took her copy of Roget's Thesaurus<br />

from the shelf, <strong>and</strong> used its head<strong>in</strong>gs as a ready-made semantic <strong>in</strong>terl<strong>in</strong>gua, complete with associated<br />

numeric codes. We have ourselves discussed this approach <strong>in</strong> our paper, "The magical name Miller,<br />

plus or m<strong>in</strong>us the umlaut" (Smith, 1997b), where we gave some of the credit for the idea to the 19th<br />

century professor of l<strong>in</strong>guistics, Max Müller .....<br />

"[Müller] was one of the first to recognize that word mean<strong>in</strong>gs are constantly evolv<strong>in</strong>g, <strong>and</strong> spent a<br />

lifetime study<strong>in</strong>g the etymologies of words <strong>in</strong> a variety of languages with a view to track<strong>in</strong>g down their<br />

derivations (Müller, 1887). Work<strong>in</strong>g <strong>in</strong> this way, he reduced all languages to much smaller pools of<br />

word roots <strong>and</strong> fundamental concepts. To give but one example, the Greek words for lift, compare,<br />

Revised August 5, 2008 Page 95 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

tribute, spread, delay, bury, madness, endure, recover, reproach, help, <strong>and</strong> excel (to name but a few)<br />

all derive <strong>in</strong> various ways from, 'to bear'. Müller's central argument goes as follows: 'Give us about<br />

800 roots, <strong>and</strong> we can expla<strong>in</strong> the largest dictionary; give us about 121 concepts, <strong>and</strong> we can account<br />

for the 800 roots. Even these 121 concepts might be reduced to a much smaller number, if we cared<br />

to do so' (op. cit., p551.). But not all authorities agree on where to draw the l<strong>in</strong>e. Whereas Müller<br />

chose a pool of 121 'orig<strong>in</strong>al concepts', Saban (1993) chooses 31 basic 'semantic fields', <strong>and</strong> <strong>in</strong> the<br />

orig<strong>in</strong>al 1852 edition of his renowned thesaurus Peter Roget went for 1,000 'related ideas'. So why the<br />

disagreement? Well <strong>in</strong>sofar as it was responsible for import<strong>in</strong>g the concept of the bit from eng<strong>in</strong>eer<strong>in</strong>g<br />

<strong>in</strong>to psychology, the answer lies <strong>in</strong> George Miller's paper [ie. the Miller (1956) "Magical Number<br />

Seven" paper - Ed.]. This is because the logarithmic nature of the bit renders 31, 121, <strong>and</strong> 1,000 not<br />

so different after all: to be precise, they might just represent three po<strong>in</strong>ts on the powers of two<br />

dimension. That is to say, we need five bits of <strong>in</strong>formation to specify a s<strong>in</strong>gle one of Saban's 31<br />

semantic fields, seven bits of <strong>in</strong>formation to specify a s<strong>in</strong>gle one of Müller's 121 orig<strong>in</strong>al concepts, <strong>and</strong><br />

ten bits of <strong>in</strong>formation to specify a s<strong>in</strong>gle one of Roget's 1000 related ideas [rais<strong>in</strong>g two to the powers<br />

five, seven, <strong>and</strong> ten gives 32, 128, <strong>and</strong> 1024 respectively - Ed.]. Could we, therefore, be look<strong>in</strong>g at a<br />

semantic memory which somehow operates accord<strong>in</strong>g to a b<strong>in</strong>ary chop pr<strong>in</strong>ciple?" (Smith, 1997b,<br />

pp204-205)<br />

NB (14th July 2003): Although ignorant of her work at the time, we owe it to Masterman to po<strong>in</strong>t out<br />

that she was there 40 years before we were. This from Masterman (1957, p41): "..... <strong>in</strong> any k<strong>in</strong>d of<br />

writ<strong>in</strong>g which builds up <strong>in</strong>to an argument, thesaurus-heads tend to be <strong>in</strong>troduced <strong>in</strong> powers of two,<br />

each topic be<strong>in</strong>g <strong>in</strong>troduced concurrently with that to which it primarily contrasts". It is simply a very<br />

efficient way to th<strong>in</strong>k about th<strong>in</strong>gs - as Hamlet found out with all his to be<strong>in</strong>g <strong>and</strong> not to be<strong>in</strong>g. Nor, it<br />

turns out, was Müller really the first, either, for he was simply follow<strong>in</strong>g suggestions from the 17th<br />

century "universal languages" of Cave Beck <strong>and</strong> Athanasius Kircher [more]. We might also add that<br />

Richens' 80 or so "naked ideas" <strong>and</strong> Parker-Rhodes' (1978) 150 or so "primitive items" are not that far<br />

from the l<strong>in</strong>e.<br />

So to put th<strong>in</strong>gs back <strong>in</strong>to perspective, what the early MT researchers had done was to re-open a very<br />

old (<strong>and</strong> more than normally wriggly) can of philosophical worms, <strong>and</strong> <strong>in</strong> retrospect it is not really<br />

surpris<strong>in</strong>g that Booth <strong>and</strong> Richens did not keep their MT lead (such as it was) for long. The ARC was<br />

little more than a hobby kit computer, <strong>and</strong> the big mach<strong>in</strong>es soon overtook it, <strong>and</strong> - the pessimists<br />

apart - there was still a common presumption that th<strong>in</strong>gs would be better when newer, faster,<br />

mach<strong>in</strong>es with more powerful programm<strong>in</strong>g languages came along. Nevertheless, what the Birkbeck<br />

(Booth), MIT (Yngve, Bar-Hillel), Seattle (Reifler), <strong>and</strong> Cambridge (Richens) groups had been do<strong>in</strong>g<br />

was lay<strong>in</strong>g the foundations for the modern science of "computational l<strong>in</strong>guistics".<br />

4.2 Semantic Networks<br />

Sadly, MT's problems did not go away, even with <strong>in</strong>terl<strong>in</strong>guas <strong>and</strong> <strong>in</strong>flection markers <strong>and</strong> more<br />

powerful computers. Irony, ellipsis, context, <strong>and</strong> idiom, still had to be overcome. Reifler himself gives<br />

the example of try<strong>in</strong>g to translate "he is an ass" <strong>in</strong>to Ch<strong>in</strong>ese, assur<strong>in</strong>g us that you cannot simply<br />

substitute the Ch<strong>in</strong>ese word for ass because Ch<strong>in</strong>ese folklore does not regard the ass as <strong>in</strong>herently<br />

stupid. There are other traditionally difficult <strong>and</strong> highly illustrative problem phrases, perhaps the most<br />

famous of which is "out of sight, out of m<strong>in</strong>d", which <strong>in</strong> the absence of some extremely nifty<br />

programm<strong>in</strong>g <strong>in</strong>vites translation as "<strong>in</strong>visible lunatic" - perfectly logical <strong>in</strong> its own way, but also<br />

perfectly stupid. Another commonly cited howler comes from the English-to-Russian MT software<br />

which reputedly rendered "The spirit is will<strong>in</strong>g, but the flesh is weak" as "The steak's off, but the<br />

vodka's OK". Warren Weaver himself summarised all the criticisms <strong>in</strong> a privately (but widely)<br />

circulated memor<strong>and</strong>um on the subject (Weaver, 1949), <strong>and</strong> it was this which drew broader academic<br />

Revised August 5, 2008 Page 96 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

attention to the underly<strong>in</strong>g issues. Thus it was that l<strong>in</strong>guists <strong>and</strong> philosophers such as Bar-Hillel grew<br />

deeply pessimistic about MT's long term prospects [wait <strong>and</strong> see what he says about John McCarthy<br />

<strong>in</strong> Section 4.7!]. You could not do MT, <strong>in</strong> Bar-Hillel's view, until you had acquired a far better<br />

underst<strong>and</strong><strong>in</strong>g of l<strong>in</strong>guistics, <strong>and</strong> those who already understood l<strong>in</strong>guistics were already wager<strong>in</strong>g that<br />

you would not be able to do it then either (<strong>and</strong>, as we shall be see<strong>in</strong>g <strong>in</strong> Part 5, nobody half a century<br />

later has come close to reliev<strong>in</strong>g them of their money).<br />

Yet the CLRU still had the fourth of its four ma<strong>in</strong> themes - lattice theory - <strong>in</strong> reserve. The ma<strong>in</strong> worker<br />

here was a colleague of Masterman, Arthur Frederick Parker-Rhodes, <strong>and</strong> his basic proposal was that<br />

the mathematics of networks (lattice theory arose a branch of Boolean algebra) was also the<br />

mathematics of language [example] .....<br />

BIOGRAPHICAL ASIDE - ARTHUR FREDERICK PARKER-RHODES: text to follow<br />

Draw<strong>in</strong>g on Parker-Rhodes' ideas, Masterman re-analysed the l<strong>in</strong>ear array of mean<strong>in</strong>gs laid out <strong>in</strong><br />

Roget's Thesaurus as the nodes of a large knowledge network.<br />

Of course, the idea that the m<strong>in</strong>d might organise its available knowledge as a vast <strong>in</strong>terlock<strong>in</strong>g<br />

network of concepts is not new. One of today's lead<strong>in</strong>g experts on the technical structur<strong>in</strong>g of<br />

knowledge, ex-IBM man <strong>and</strong> knowledge consultant John F. Sowa, for example, dates the idea to the<br />

Greek philosopher Aristotle. Aristotle's early thoughts on the hierarchical nature of def<strong>in</strong>ition survived<br />

<strong>in</strong> the network diagram drawn up by Porphyry <strong>in</strong> the third century CE, a device now known as the<br />

"Tree of Porphyry" [picture]. The idea was then reborn <strong>in</strong> the "Associationist" tradition of Western<br />

philosophy (led by David Hartley <strong>in</strong> the mid-18th century), <strong>and</strong> was also used by Jung as the basis of<br />

his "association of ideas" projective test [the famous "tell me the first word that comes <strong>in</strong>to your head"<br />

test]. We shall be return<strong>in</strong>g to this issue <strong>in</strong> Part 5, but mention it here because Richens - geneticist,<br />

self-taught database designer, <strong>and</strong> now l<strong>in</strong>guistic philosopher - has recently been identified as the<br />

man who co<strong>in</strong>ed the term "semantic net" [source], <strong>and</strong> semantic networks are a very important<br />

topic .....<br />

Key Innovation - Semantic Networks: A semantic network is "a graphic notation for represent<strong>in</strong>g<br />

knowledge <strong>in</strong> patterns of <strong>in</strong>terconnected nodes <strong>and</strong> arcs [..... <strong>and</strong>] what is common to all semantic<br />

networks is a declarative graphic representation that can be used either to represent knowledge or to<br />

support automated systems for reason<strong>in</strong>g about knowledge" Sowa (2003 onl<strong>in</strong>e). As we shall be<br />

see<strong>in</strong>g <strong>in</strong> Part 6, semantic networks exist with<strong>in</strong> the computer world <strong>in</strong> the form of the networkstructured<br />

(aka "codasyl") database.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The ma<strong>in</strong> psychological <strong>in</strong>put to the semantic network debate has been from Anderson (1983) <strong>and</strong> his<br />

"propositional network", as reproduced at Figure 2(a). However, very similar diagrams are heavily<br />

used with<strong>in</strong> the IT <strong>in</strong>dustry to formalise the layout of large computer databases, <strong>and</strong> a specimen of<br />

one of these is reproduced at Figure 2(b). Curiously enough, attempts to import database concepts<br />

<strong>in</strong>to psychological explanation are few <strong>and</strong> far between.<br />

Figure 2 - Propositional Networks, (a) Biological <strong>and</strong> (b) Computer: In diagram (a) we<br />

see how a simple network diagram can be used to analyse someth<strong>in</strong>g as philosophically<br />

complex as a unit of truth. As is common with this sort of diagram, the <strong>in</strong>dividual concepts are<br />

shown as concept nodes <strong>in</strong> the network, whilst the real knowledge exists <strong>in</strong> the form of<br />

propositional nodes (the oval ones). The propositional nodes are vital because they<br />

"encode" facts (ie. propositional truths) about the concepts they l<strong>in</strong>k. The oval symbol on this<br />

occasion serves to l<strong>in</strong>k the otherwise separate conceptual nodes <strong>and</strong> ,<br />

<strong>and</strong> <strong>in</strong> so do<strong>in</strong>g it identifies a number of essential l<strong>in</strong>guistic properties as shown <strong>in</strong> italics on<br />

the l<strong>in</strong>e l<strong>in</strong>kages. Thus is the subject of the proposition, is the location,<br />

<strong>and</strong> specifies the relation between the two. In diagram (b), we see similar pr<strong>in</strong>ciples at<br />

work <strong>in</strong> a computer data model. This particular modell<strong>in</strong>g convention uses four types of<br />

symbol. The rectangles <strong>and</strong> diamonds denote different types of concept, or entity, nodes, the<br />

ovals denote the attributes, or properties, of those entities, <strong>and</strong> the l<strong>in</strong>es denote the<br />

relationships between entities <strong>and</strong> other entities or between entities <strong>and</strong> attributes. Aga<strong>in</strong>, the<br />

essence of the relationships between entities is marked on the l<strong>in</strong>e l<strong>in</strong>kages. Properly<br />

implemented by a Database Management System, every occurrence of every entity type,<br />

attribute, <strong>and</strong> relationship can be safely stored <strong>in</strong> rapid access computer filestore, <strong>and</strong><br />

retrieved <strong>in</strong> short order. This is precisely the sort of technology which would have<br />

allowed Reifler [see Section 4.1] to squeeze his 15 drum dictionaries onto a s<strong>in</strong>gle<br />

storage resource.<br />

Revised August 5, 2008 Page 98 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

For a rich selection of other diagrams <strong>and</strong> approaches, see Sowa (2003 onl<strong>in</strong>e). In fact, Sowa (2003<br />

onl<strong>in</strong>e) identifies no less than six subtypes of network, as follows .....<br />

(1) Def<strong>in</strong>itional Networks: These are networks which def<strong>in</strong>e a concept <strong>in</strong> terms of its similarity to<br />

other concepts. Sowa calls this a "subtype", or an "is-a" relation, <strong>and</strong> places its value <strong>in</strong> the fact that<br />

the properties of the supertype are automatically "<strong>in</strong>herited" by the subtype. [Our Example: <br />

is a .]<br />

(2) Assertional Networks: These are networks which assert propositional truths. [Our Example:<br />

or .]<br />

(3) Implicational Networks: These are networks which "use implication as the primary relation for<br />

connect<strong>in</strong>g nodes". [Our Example: which implies ,.....<br />

AND SO IS LIKELY TO ROLL IF PUSHED>.]<br />

(4) Executable Networks: These are networks which have mechanisms for actively locat<strong>in</strong>g content<br />

accord<strong>in</strong>g to a prescribed search mask. [Our Example: A network which could respond appropriately<br />

to an <strong>in</strong>struction <strong>in</strong> the form LIST ALL CONTENT ASSOCIATED WITH THE TARGET .]<br />

(5) Learn<strong>in</strong>g Networks: These are networks which can extend themselves, either by add<strong>in</strong>g new<br />

nodes or new arcs between exist<strong>in</strong>g nodes, or by modify<strong>in</strong>g the association strengths, or "weights",<br />

Revised August 5, 2008 Page 99 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

of arcs. [Our Example: A face recognition network which can learn to recognise new faces (new<br />

nodes), or attach new attributes to exist<strong>in</strong>g ones (new arcs).]<br />

(6) Hybrid Networks: These are networks which comb<strong>in</strong>e two or more of the preced<strong>in</strong>g types.<br />

4.3 Mechanised Game Play<strong>in</strong>g<br />

In 1769, the <strong>in</strong>ventor-showman Wolfgang von Kempelen built a chess-play<strong>in</strong>g automaton which he<br />

demonstrated at theatres <strong>and</strong> fairs where it proved capable of beat<strong>in</strong>g most contestants. Unfortunately,<br />

von Kempelen was pull<strong>in</strong>g a fast one, <strong>and</strong> the functional CPU turned out to be the world's first<br />

m<strong>in</strong>icomputer - a human dwarf secreted with<strong>in</strong> the device [picture <strong>and</strong> fuller story]. The idea rema<strong>in</strong>ed<br />

appeal<strong>in</strong>g, however, <strong>and</strong> one of the pastimes of the first computer programmers was to <strong>in</strong>vestigate<br />

whether computers could be programmed to play games such as draughts [US = checkers], noughts<br />

<strong>and</strong> crosses [US = tic-tac-toe], or chess. The pioneer th<strong>in</strong>ker <strong>in</strong> this area seems to have been<br />

Germany's Konrad Zuse [rem<strong>in</strong>der], <strong>in</strong>ventor of Plankalkül, the world's first higher-level programm<strong>in</strong>g<br />

language. In the period 1942-1945, Zuse sketched out designs for a chess play<strong>in</strong>g program for his Z4<br />

computer, but it never got written <strong>and</strong> the design was only published <strong>in</strong> 1972 [source]. The formal<br />

glory goes <strong>in</strong>stead to another of Warren Weaver's protegés, Claude Shannon of the Bell Telephone<br />

Company. In a manuscript dated October 1948, Shannon analysed the problems which were likely to<br />

be encountered when gett<strong>in</strong>g a computer to play chess (subsequently published as Shannon,<br />

1950/1993). He saw this as one of many ways <strong>in</strong> which computers could move <strong>in</strong> the direction of<br />

process<strong>in</strong>g "general pr<strong>in</strong>ciples, someth<strong>in</strong>g of the nature of judgement, <strong>and</strong> considerable trial <strong>and</strong> error,<br />

rather than a strict, unalterable comput<strong>in</strong>g process" (Shannon, 1950/1993, p637). He saw "the chess<br />

mach<strong>in</strong>e" as an ideal problem with which to start the quest for what he called "mechanised th<strong>in</strong>k<strong>in</strong>g",<br />

<strong>and</strong> discussed methods of codify<strong>in</strong>g <strong>and</strong> then evaluat<strong>in</strong>g proposed moves. Not surpris<strong>in</strong>gly,<br />

Shannon's papers <strong>in</strong>spired some ground-break<strong>in</strong>g computer programm<strong>in</strong>g <strong>in</strong> the early 1950s. The<br />

follow<strong>in</strong>g bullets come from a number of sources, <strong>in</strong>clud<strong>in</strong>g Copel<strong>and</strong> (2000 onl<strong>in</strong>e) .....<br />

The Bletchley Park veteran, Donald Davies, published an article on the mechanisation of board<br />

games (Davies, 1950), <strong>and</strong> coded a simple noughts-<strong>and</strong>-crosses program for the NPL's Pilot ACE.<br />

In May 1951, the aforementioned Christopher Strachey [see Section 2.3], wartime radar boff<strong>in</strong><br />

turned schoolteacher, scrounged time as a technical hobbyist on the NPL's Pilot ACE, <strong>and</strong> wrote<br />

what has been acclaimed as the world's first AI program - a draughts program. Unfortunately, the<br />

code had a few bugs <strong>in</strong> it, <strong>and</strong> Strachey did not get it work<strong>in</strong>g tidily until the follow<strong>in</strong>g summer on<br />

Manchester's Ferranti Mark 1 (Copel<strong>and</strong> 2000/2003 onl<strong>in</strong>e).<br />

In November 1951, Manchester University's Dietrich Pr<strong>in</strong>z used Tur<strong>in</strong>g's newly produced<br />

"Programmer's H<strong>and</strong>book" to produce the first experimental chess program, also on the Ferranti<br />

Mark I (Copel<strong>and</strong>, 2000 onl<strong>in</strong>e).<br />

IBM's Arthur Samuels heard of Strachey's program at a 1952 conference, <strong>and</strong> adapted it for the<br />

IBM 701. He then had to spend the next ten years improv<strong>in</strong>g it, eventually add<strong>in</strong>g the rudimentary<br />

ability to learn from experience, whereupon the code turned rather churlishly on its creator <strong>and</strong><br />

started to beat him (Samuels, 1959).<br />

IBM's Alex Bernste<strong>in</strong> wrote the first reasonably competent chess program on an IBM 704 <strong>in</strong> 1957.<br />

Revised August 5, 2008 Page 100 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

With even more improvements, Samuels' 1959 program beat a human draughts champion <strong>in</strong> 1962.<br />

The program is historically significant because it used "heuristics" rather than "algorithms" to<br />

evaluate <strong>and</strong> score possible moves.<br />

Key Innovation - Algorithms vs Heuristics: The word "algorithm" derives from the Arabic "al<br />

Khowarasmi", the popular name of the n<strong>in</strong>th century Arab mathematician Abu Jafar Mohammed Ben<br />

Musa, <strong>and</strong> refers to a sequence of formal actions by which a given problem can be systematically<br />

resolved. It is "a systematic list of <strong>in</strong>structions for accomplish<strong>in</strong>g some task" (Wikipedia, 2003). Thus<br />

computer programs are algorithms. The word "heuristic" derives from the Greek root - "to f<strong>in</strong>d" (thus<br />

be<strong>in</strong>g related to "Eureka" = "found it!"), <strong>and</strong>, strictly speak<strong>in</strong>g, refers to anyth<strong>in</strong>g which promotes an<br />

act of discovery. However, where algorithms consist of specific actions, heuristics consist of ruleaction<br />

comb<strong>in</strong>ations, so with an heuristic you do not know <strong>in</strong> advance what you are go<strong>in</strong>g to do - you<br />

have to wait <strong>and</strong> see what circumstances trigger what rules. The beauty of the if-then approach is that<br />

it can save you a lot of time. When play<strong>in</strong>g chess, for example, it is rarely a good idea to exchange a<br />

queen for a pawn, <strong>and</strong> so an entire branch of the exhaustive search tree can be discounted at a<br />

stroke. Insofar as the word is used <strong>in</strong> game theory, the po<strong>in</strong>t about heuristics is that they attempt rapid<br />

penetration of a problem rather than exhaustive analysis, by virtue of which they are often referred to<br />

as "rules of thumb". Ultimately, of course, both algorithms <strong>and</strong> heuristics are only as good as their<br />

designers. If either is not particularly powerful, then the quality of the penetration will be limited.<br />

4.4 Man-Mach<strong>in</strong>e Conversation<br />

The fourth l<strong>in</strong>e of enquiry was a more philosophical one, <strong>and</strong> looked at what needed to be done to<br />

turn a cleverly programmed calculator <strong>in</strong>to someth<strong>in</strong>g qualitatively more than a cleverly programmed<br />

calculator. What, for example, might a cash register have to do to be accepted as conta<strong>in</strong><strong>in</strong>g a m<strong>in</strong>d;<br />

someth<strong>in</strong>g more than just a th<strong>in</strong>g which can be switched on <strong>and</strong> off on dem<strong>and</strong>? What might your<br />

laptop have to do to be accepted as possessed of some k<strong>in</strong>d of vital spark? This question was first put<br />

forward <strong>in</strong> a paper from Mr GPC himself, Alan Tur<strong>in</strong>g, who, when not codebreak<strong>in</strong>g, was "really quite<br />

obsessed with know<strong>in</strong>g how the human bra<strong>in</strong> worked <strong>and</strong> the possible correspondence with what he<br />

was do<strong>in</strong>g on computers" (Newman, 1994/2003 onl<strong>in</strong>e, p12). Tak<strong>in</strong>g time out from his work on the<br />

Manchester Mark 1, Tur<strong>in</strong>g wrote a paper entitled "Comput<strong>in</strong>g mach<strong>in</strong>ery <strong>and</strong> <strong>in</strong>telligence" <strong>in</strong> which he<br />

suggested that the question "can mach<strong>in</strong>es th<strong>in</strong>k?" was philosophically unsafe, due to problems<br />

agree<strong>in</strong>g the mean<strong>in</strong>g of the word th<strong>in</strong>k (Tur<strong>in</strong>g, 1950/2003 onl<strong>in</strong>e).<br />

Of course, Tur<strong>in</strong>g had long believed that all but the most obscure of problems could be solved by a<br />

sequence of simple actions, <strong>and</strong> already for a decade programmers had been prov<strong>in</strong>g him right. He<br />

now recommended that this sequence of actions be thought of as hav<strong>in</strong>g an existence <strong>and</strong> mean<strong>in</strong>g <strong>in</strong><br />

itself: a program, once devised, was a solution <strong>in</strong> prospect, as it were, <strong>and</strong> simply "awaited" a<br />

mach<strong>in</strong>e to execute it. Tur<strong>in</strong>g then brought these two propositions together by argu<strong>in</strong>g that the m<strong>in</strong>d<br />

would not only prove one day to be "programmable", but that the eventual program would be<br />

"implementable" on a mach<strong>in</strong>e. And once you could do that, he said, you would have a mach<strong>in</strong>e<br />

which would be <strong>in</strong>dist<strong>in</strong>guishable from a human; that is to say, a mach<strong>in</strong>e which could th<strong>in</strong>k. As to how<br />

you would test this <strong>in</strong>dist<strong>in</strong>guishability, he proposed objectively establish<strong>in</strong>g whether the mach<strong>in</strong>e, so<br />

programmed, could perform as successfully as a human <strong>in</strong> fool<strong>in</strong>g an <strong>in</strong>terrogator <strong>in</strong> an "imitation<br />

game", <strong>in</strong> which a man (A) <strong>and</strong> a woman (B) have to fool (C) as to which is the man <strong>and</strong> which is the<br />

woman. The knowledge perta<strong>in</strong><strong>in</strong>g to (A) <strong>and</strong> (B) is accumulated <strong>in</strong> the m<strong>in</strong>d of (C) by ask<strong>in</strong>g<br />

questions, the only restriction be<strong>in</strong>g that the answers to those questions should be typewritten so as<br />

to prevent vocal clues be<strong>in</strong>g given.<br />

Revised August 5, 2008 Page 101 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Tur<strong>in</strong>g's imitation game evolved somewhat over the years, <strong>and</strong> <strong>in</strong> its later form became popularly<br />

known as the "Tur<strong>in</strong>g Test". This runs as follows: if a human <strong>in</strong> room A were to communicate via<br />

keyboard <strong>and</strong> screen with an entity <strong>in</strong> room B which might be a human but which might also be a<br />

computer try<strong>in</strong>g to appear human, then the def<strong>in</strong>ition of "humanness" would rest on whether the real<br />

human could tell the difference or not after five m<strong>in</strong>utes of question<strong>in</strong>g. Serious academic attempts to<br />

"pass the Tur<strong>in</strong>g Test" began <strong>in</strong> the 1960s, <strong>and</strong> we shall be look<strong>in</strong>g at some of these <strong>in</strong> Part 5. Reader<br />

(1969) even sketches out the process<strong>in</strong>g modules which would be necessary to build such a mach<strong>in</strong>e<br />

[check it out], but the layout he proposes turns out to be yet another <strong>in</strong>stance of the cognitive control<br />

hierarchy, <strong>in</strong>dist<strong>in</strong>guishable <strong>in</strong> essence from Lichtheim's (1885) "House" diagram, <strong>and</strong> surpassed <strong>in</strong><br />

support<strong>in</strong>g detail by Frank's (1963) "Organogramm".<br />

4.5 "Neurodal" Networks <strong>and</strong> Mach<strong>in</strong>e Learn<strong>in</strong>g<br />

The fifth l<strong>in</strong>e of enquiry was pitched more at the hardware side of th<strong>in</strong>gs, <strong>and</strong> can be traced to a<br />

number of sem<strong>in</strong>al papers from the 1940s, led by the American neuropsychologist Warren S.<br />

McCulloch (1898-1968). The first of these was McCulloch <strong>and</strong> Pitts (1943), an attempt at<br />

mathematically modell<strong>in</strong>g the work<strong>in</strong>gs of biological neurons. The authors called their artificial neurons<br />

"neurodes", <strong>and</strong> each was a simple arrangement of electronic components designed to do two ma<strong>in</strong><br />

th<strong>in</strong>gs, namely (a) to output a signal similar to the bursts of action potentials output by biological<br />

neurons, <strong>and</strong> (b) to ensure that this output was modulatable - sensitive to what other neurodes <strong>in</strong> the<br />

vic<strong>in</strong>ity were do<strong>in</strong>g. In this way, quite simple comb<strong>in</strong>ations of neurodes were capable of perform<strong>in</strong>g the<br />

logical operations AND, OR, <strong>and</strong> NOT to much the same end effect as the electronic circuitry then<br />

be<strong>in</strong>g developed for use <strong>in</strong> computers. Pitts <strong>and</strong> McCulloch (1947) then went an important step further,<br />

by discuss<strong>in</strong>g what would happen if you took many such neurodes <strong>and</strong> wired them together.<br />

Specifically, they proposed that it would be possible to end up with some sort of artificial pattern<br />

recognition system. And McCulloch <strong>and</strong> Pfeiffer (1949) considered how b<strong>in</strong>ary pr<strong>in</strong>ciples might exist<br />

with<strong>in</strong> biology. They portrayed the nervous system "as if it were a wir<strong>in</strong>g diagram <strong>and</strong> the physiology<br />

of the neuron as if it were a component relay of a comput<strong>in</strong>g mach<strong>in</strong>e" (p369). Their aim was then to<br />

"set up work<strong>in</strong>g hypotheses as to the circuit action of the central nervous system as a guide to further<br />

<strong>in</strong>vestigation of the function of its parts, <strong>and</strong> as a scheme for underst<strong>and</strong><strong>in</strong>g how we know, th<strong>in</strong>k <strong>and</strong><br />

behave" [ibid.]. This is part of their observations .....<br />

"Judg<strong>in</strong>g by the speed of response, neurons fall <strong>in</strong>to the middle range of man-made relays. They are<br />

about a thous<strong>and</strong>th as fast as vacuum tubes, about as fast as thyrotrons, but faster than<br />

electromechanical <strong>and</strong> mechanical devices. Because they are much smaller than electronic valves,<br />

though the voltage gradients are about the same, they take lower voltages <strong>and</strong> less energy. A<br />

computer with as many vacuum tubes as a man has neurons <strong>in</strong> his head would need the Pentagon to<br />

house it, Niagara's power to run it, <strong>and</strong> Niagara's water to cool it. The largest exist<strong>in</strong>g calculat<strong>in</strong>g<br />

mach<strong>in</strong>e has more relays than an ant but fewer than a flatworm. Neurons, cheap <strong>and</strong> plentiful, are<br />

also multigridded, the largest hav<strong>in</strong>g upon them thous<strong>and</strong>s of term<strong>in</strong>ations, so that they resemble<br />

transistors <strong>in</strong> which the configuration of electrodes determ<strong>in</strong>es the gat<strong>in</strong>g of signals." (McCulloch <strong>and</strong><br />

Pfeiffer, 1949, p370)<br />

HISTORICAL ASIDE: In fact, the idea of nerve net computation is far older than the attempts to<br />

construct it. One of the first to suggest that learn<strong>in</strong>g was accompanied by the formation of new<br />

synaptic connections was the Aberdeen logician, Alex<strong>and</strong>er Ba<strong>in</strong> (1818-1903). Inspired by the work of<br />

Lionel S. Beale (1828-1906), pioneer <strong>in</strong> medical microscopy, <strong>and</strong> specifically by Beale (1864), Ba<strong>in</strong><br />

tried to f<strong>in</strong>d a likely neuroanatomical substrate for the sort of semantic networks popular with<br />

psychologists of the "Associationist" persuasion. The process relied on the "contiguity" - that is to say,<br />

closeness together <strong>in</strong> time or space - of the elements to be associated. "Contiguity," he wrote, "jo<strong>in</strong>s<br />

Revised August 5, 2008 Page 102 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

together th<strong>in</strong>gs that occur together, or that are, by any circumstance, presented to the m<strong>in</strong>d at the<br />

same time ....." (Ba<strong>in</strong>, 1879, p127). He set out his technical proposals <strong>in</strong> his 1873 book "M<strong>in</strong>d <strong>and</strong><br />

Body", from which the follow<strong>in</strong>g clearly <strong>in</strong>dicates his l<strong>in</strong>e of argument: "For every act of memory [.....]<br />

there is a specific group<strong>in</strong>g, or co-ord<strong>in</strong>ation, of sensations <strong>and</strong> movements, by virtue of specific<br />

growths <strong>in</strong> cell junctions" (Ba<strong>in</strong>, 1873, p91; cited <strong>in</strong> Wilkes <strong>and</strong> Wade, 1997). Ba<strong>in</strong> then analysed<br />

differently <strong>in</strong>terconnected clusters of neurons us<strong>in</strong>g simple abstract circuit diagrams (reviewed by<br />

Wilkes <strong>and</strong> Wade (1997). The next major historical figure was Santiago Ramon y Cajal (1852-1934)<br />

(eg. Ramon y Cajal, 1911), whose general idea was that plasticity <strong>in</strong> neuron-to-neuron connections -<br />

what are now known as "synapses" - made it possible for neural pathways to connect themselves up<br />

on dem<strong>and</strong> - that is to say, as learn<strong>in</strong>g took place. Pathways could thus appear where previously just<br />

disconnected neurons had existed. Moreover, the biological act of creat<strong>in</strong>g those pathways<br />

underp<strong>in</strong>ned the psychological act of memoris<strong>in</strong>g the experience <strong>in</strong> question. Some years later,<br />

Rafael Lorente de No (1902-1990) extended the debate by microscopically analys<strong>in</strong>g the layout of the<br />

synaptic "buttons" on neural cell bodies (Lorente de No, 1938). Work<strong>in</strong>g at the limits of magnification<br />

of the microscopes then available, he found many hundreds of synaptic buttons dotted about the<br />

neural membrane, thus re<strong>in</strong>forc<strong>in</strong>g suspicions as to their role <strong>in</strong> neural circuitry. Subsequent studies<br />

have confirmed this view, <strong>and</strong> with today's very powerful microscopes veritable forests of synaptic<br />

buttons can be seen, <strong>and</strong> not just on the neural soma but out on the dendritic trees as well. Another of<br />

Lorente de No's contributions was to show how <strong>in</strong>terneurons could be used to feed excitation back<br />

<strong>in</strong>to a given neural circuit, thus keep<strong>in</strong>g that circuit active long after the orig<strong>in</strong>al source of excitation<br />

had been removed. This arrangement is commonly referred to as a reverberat<strong>in</strong>g circuit. However,<br />

the most <strong>in</strong>fluential exposition of neuronal net theory came from Donald O. Hebb (1904-1985). In his<br />

1949 book, "The Organisation of Behaviour", Hebb described the <strong>in</strong>terl<strong>in</strong>k<strong>in</strong>g of neurons as creat<strong>in</strong>g<br />

what he called a cell assembly, which he described thus: "..... a diffuse structure compris<strong>in</strong>g cells <strong>in</strong><br />

the cortex <strong>and</strong> diencephalon (<strong>and</strong> also, perhaps, <strong>in</strong> the basal ganglia of the cerebrum), capable of<br />

act<strong>in</strong>g briefly as a closed system." (Hebb, 1949, p. xix). Hebb's ideas of how cell assemblies form <strong>and</strong><br />

function can be gathered from the follow<strong>in</strong>g: "The general idea is an old one, that any two cells or<br />

systems of cells that are repeatedly active at the same time will tend to become 'associated', so that<br />

activity <strong>in</strong> one facilitates activity <strong>in</strong> the other" (Ibid, p70). The idea of cells repeatedly assist<strong>in</strong>g each<br />

other's fir<strong>in</strong>g is particularly well brought out <strong>in</strong> what has s<strong>in</strong>ce come to be known as "Hebb's Rule".<br />

The next step was to go ahead <strong>and</strong> wire a few neurodes together, <strong>and</strong> <strong>in</strong> 1951 Marv<strong>in</strong> M<strong>in</strong>sky did just<br />

that (M<strong>in</strong>sky, 1994). As part of his postgraduate researches <strong>in</strong> the mathematics department at<br />

Pr<strong>in</strong>ceton, <strong>and</strong> <strong>in</strong> conjunction with Dean Edmonds, he built SNARC (= "Stochastic Neural-Analog<br />

Re<strong>in</strong>forcement Computer"), the first mach<strong>in</strong>e to display learn<strong>in</strong>g behaviour, thanks to an <strong>in</strong>built<br />

re<strong>in</strong>forcement-sensitive 40-neuron "neural net". This was followed a year later by William Ross<br />

Ashby (1903 - 1972)'s "Design for a Bra<strong>in</strong>" (Ashby, 1952). Ashby was the cyberneticist who had<br />

popularised the concept of "homeostasis" <strong>in</strong> biological systems. He therefore took a more<br />

macroscopic view of neural architecture than had McCulloch or M<strong>in</strong>sky, that is to say, he was more<br />

concerned with what the nervous system was try<strong>in</strong>g to achieve as an organic whole with <strong>in</strong>terrelat<strong>in</strong>g<br />

modules, rather than with what <strong>in</strong>dividual neurons were up to. His work with biological homeostasis<br />

had conv<strong>in</strong>ced him that many biological control phenomena were simple negative feedback systems,<br />

save that they had biological sensors <strong>and</strong> comparators, <strong>and</strong> dur<strong>in</strong>g the 1940s he had experimented<br />

with a simple mach<strong>in</strong>e called "the homeostat", which was sensitive to environmental events <strong>and</strong><br />

could <strong>in</strong>itiate corrective behaviurs to neutralise any "perturbation" <strong>in</strong> their stable sett<strong>in</strong>gs. Angyan<br />

(1959) reports on a more advanced mach<strong>in</strong>e called Mach<strong>in</strong>a Reproducatrix, fitted with enough<br />

sensors <strong>and</strong> motors to give it a light-seek<strong>in</strong>g "tropism", however we need to talk about this <strong>in</strong> Part 7,<br />

<strong>and</strong> so will leave the details until then.<br />

Revised August 5, 2008 Page 103 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

ASIDE: The term "tropism"was co<strong>in</strong>ed by Loeb (1888, 1890) to describe the wholly <strong>in</strong>voluntary<br />

behaviour of organisms lack<strong>in</strong>g a nervous system. Just as plants can turn towards the sun us<strong>in</strong>g nonnervous<br />

mechanisms, so, too, is much simple animal behaviour unwilled. To be classified as a<br />

tropism, the relationship between the stimulus <strong>and</strong> the response must be rigid <strong>and</strong> result<strong>in</strong>g directly<br />

from the action of some external energy source. Tropisms can be subcategorised by energy type <strong>and</strong><br />

direction of response as follows: Geotropisms: positive - turn towards the pull of gravity; negative -<br />

turn away from the pull of gravity, Heliotropisms (or phototropisms): positive: turn towards the light;<br />

negative - turn away from the light, Thermotropisms: positive: turn towards heat; negative - turn away<br />

from heat, <strong>and</strong> Rheotropisms: positive: turn upstream (<strong>in</strong> air or water); negative - turn downstream. In<br />

animals with nervous systems, this type of behaviour is provided by reflexes. For a longer<br />

<strong>in</strong>troduction to the various types of <strong>in</strong>nate <strong>and</strong> learned animal behaviour, see Section 1 of our e-paper<br />

"Communication <strong>and</strong> the Naked Ape".<br />

In fact, 1952 was a busy year, because it also saw Claude Shannon follow<strong>in</strong>g up his chess mach<strong>in</strong>e<br />

with the bluepr<strong>in</strong>ts for a maze-solv<strong>in</strong>g mechanical mouse (Shannon, 1952/1993), <strong>and</strong> Anthony G.<br />

Oett<strong>in</strong>ger writ<strong>in</strong>g a program called "Shopper", the first program (as opposed to learn<strong>in</strong>g hardware)<br />

capable of learn<strong>in</strong>g from experience (Oett<strong>in</strong>ger, 1952). Copel<strong>and</strong> (2000/2003 onl<strong>in</strong>e) describes<br />

Shopper as operat<strong>in</strong>g <strong>in</strong> a virtual world conta<strong>in</strong><strong>in</strong>g a mall of eight shops stock<strong>in</strong>g a number of items.<br />

Shopper would be sent off to purchase a particular item, <strong>and</strong> would have to visit shops at r<strong>and</strong>om until<br />

successful. The learn<strong>in</strong>g lay <strong>in</strong> the fact that Shopper would memorise some of the items stocked <strong>in</strong> the<br />

unsuccessful visits. Subsequent shopp<strong>in</strong>g expeditions, either (a) for repeat purchases of the first item,<br />

or (b) for first time purchases of one of the memorised items, would be right first time, thus show<strong>in</strong>g<br />

the value of short term memory resources <strong>in</strong> support<strong>in</strong>g adaptive behaviour.<br />

We must also mention Albert M. Uttley, whom we first met <strong>in</strong> Section 2.2 as the TRE boff<strong>in</strong> who<br />

designed TREAC, the first British parallel process<strong>in</strong>g computer. Over the years, Uttley gradually<br />

extended his <strong>in</strong>terests to <strong>in</strong>clude biological as well as workbench electronics. Like McCulloch, he was<br />

particularly fasc<strong>in</strong>ated by the logic by which neurons were <strong>in</strong>terconnected, <strong>and</strong> was one of the first to<br />

describe the sort of statistical connection rules which might control the biological learn<strong>in</strong>g process. In<br />

Uttley (1955), he derived mathematical formulae to describe such th<strong>in</strong>gs as dendrite distribution <strong>and</strong><br />

axonal connections.<br />

However, the most famous of the early mach<strong>in</strong>es was built by Frank Rosenblatt <strong>in</strong> the mid-1950s, <strong>and</strong><br />

called a "perceptron". The essence of Rosenblatt's design was that the neurodes were arranged <strong>in</strong>to<br />

two banks, or "layers". One of these was connected to an artificial eye <strong>and</strong> called an <strong>in</strong>put layer, <strong>and</strong><br />

the other was connected to the chosen output mechanism (usually an array of flash<strong>in</strong>g lights) <strong>and</strong><br />

called an output layer. Each po<strong>in</strong>t <strong>in</strong> the <strong>in</strong>put layer was wired to each po<strong>in</strong>t <strong>in</strong> the output layer, <strong>and</strong><br />

the effective strength of these connections was specifically designed to be varied. Learn<strong>in</strong>g was then<br />

a process of chang<strong>in</strong>g the strength of the connections - a process known as weight<strong>in</strong>g. As we shall<br />

be see<strong>in</strong>g <strong>in</strong> Part 5, McCulloch's neurodes <strong>and</strong> Rosenblatt's perceptron formed the basis for one of<br />

modern science's most active <strong>and</strong> excit<strong>in</strong>g research areas, namely "Connectionism".<br />

The po<strong>in</strong>t about perceptrons is that the weight<strong>in</strong>g process delivered learn<strong>in</strong>g by experience. There<br />

was no pre-written program tell<strong>in</strong>g the hardware what to do - rather the mach<strong>in</strong>e worked it all out for<br />

itself. Perceptrons took the academic world by storm, therefore, especially where there were problems<br />

which were prov<strong>in</strong>g beyond the programmers <strong>in</strong> the first place - such as most of higher cognition.<br />

Thus .....<br />

Revised August 5, 2008 Page 104 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"It is not easy to say precisely what is meant by learn<strong>in</strong>g or what corresponds to it <strong>in</strong> a mach<strong>in</strong>e. The<br />

mach<strong>in</strong>e is able to learn up to a po<strong>in</strong>t, but once that po<strong>in</strong>t has been passed it is helpless. Here it<br />

differs from a human be<strong>in</strong>g, who is able to learn <strong>and</strong> to go on learn<strong>in</strong>g. [//] A program which would<br />

enable a mach<strong>in</strong>e not only to learn but also to go on learn<strong>in</strong>g, <strong>and</strong> to adapt itself to each new situation<br />

as it arose, I will call a 'generalised' learn<strong>in</strong>g program. If such a program could be constructed it would<br />

presumably consist of a relatively small <strong>in</strong>itial nucleus of orders, <strong>and</strong> would adapt <strong>and</strong> extend itself as<br />

circumstances required, replac<strong>in</strong>g its subrout<strong>in</strong>es <strong>and</strong> switch<strong>in</strong>g sequences by others of a more<br />

general k<strong>in</strong>d, <strong>and</strong> creat<strong>in</strong>g new subrout<strong>in</strong>es to perform fresh functions. There does not appear to be<br />

any reason for believ<strong>in</strong>g that the construction of such a program is <strong>in</strong>herently impossible. Although<br />

limitations of speed <strong>and</strong> storage capacity would undoubtedly soon make themselves felt, it is not<br />

these so much as shortage of ideas which is at present hold<strong>in</strong>g up progress." (Wilkes, 1956,<br />

pp291-293; emphasis added)<br />

4.6 Robotics<br />

The def<strong>in</strong><strong>in</strong>g essence of a robot is that it carries out work on behalf of its master. Strictly speak<strong>in</strong>g,<br />

therefore, a robot needs bear no physical resemblance to any biological form (although, for reasons<br />

which are still be<strong>in</strong>g looked <strong>in</strong>to, we seem to prefer that they do). As such, the broad concept can be<br />

traced back several thous<strong>and</strong> years [see our e-resource on the history of automata]. Even <strong>in</strong> 1950,<br />

the name "robot" was already at least 30 years old, be<strong>in</strong>g usually credited to Karel Capek's 1921 play<br />

"Rossum's Universal Robots", <strong>and</strong> Isaac Asimov's "Laws of Robotics" were 10 years old. As for the<br />

technology itself, it was at least 40 years old, <strong>and</strong> had been forged, as always, on a war anvil .....<br />

HISTORICAL ASIDE - MILITARY ROBOTICS: The military have always proved generous sponsors<br />

for companies specialis<strong>in</strong>g <strong>in</strong> technological <strong>in</strong>novation, <strong>and</strong> we have already described elsewhere<br />

[rem<strong>in</strong>der] how the Sperry Gyroscope Company grew <strong>in</strong>to a major <strong>in</strong>ternational corporation on the<br />

back of mechanical <strong>and</strong> electromechanical naval control systems. Sperry were also quick to see the<br />

same opportunity for fully automated aerial weapon systems, <strong>and</strong> as early as 1913 were us<strong>in</strong>g<br />

gyroscopic stabilisers as part of a radio-controlled aircraft (Pearson, 2003 onl<strong>in</strong>e). The dem<strong>and</strong>s of the<br />

First World War extended the science of military robotics <strong>in</strong>to the control of aerial torpedoes <strong>and</strong> the<br />

design of better bombsights <strong>and</strong> perhaps the best known products of this early research were the<br />

World War Two German V-1 <strong>and</strong> V-2 pilotless rocket systems, which both had autopilots <strong>and</strong> onboard<br />

guidance computers capable of steer<strong>in</strong>g them several hundred miles. Much less spectacular, but<br />

deadly nonetheless, were the Ruhrstahl SD1400 "Fritz X" <strong>and</strong> the Henschel Hs293A "st<strong>and</strong>-off"<br />

bombs [picture; pictures <strong>and</strong> discussion]. These were "Lenk-", that is to say guided, "bomben", <strong>and</strong><br />

were both small w<strong>in</strong>ged glider bombs designed for anti-shipp<strong>in</strong>g use. The SD1400 was heavy <strong>and</strong><br />

free-fall<strong>in</strong>g, with an armour-pierc<strong>in</strong>g capability, whilst the Hs293 was smaller <strong>and</strong> rocket-assisted, but<br />

lacked the armour-pierc<strong>in</strong>g capability. They were released from their mother aircraft while still a<br />

number of miles from the target, <strong>and</strong> steered on their short one-way flight by (<strong>in</strong>itially) radio signals<br />

generated by a small joystick [picture]. The Lenkbomben were developed <strong>in</strong> the period 1940-1943,<br />

<strong>and</strong> when ready for field deployment were issued to specially equipped Luftwaffe squadrons<br />

codenamed KG40 <strong>and</strong> KG100. History's first successful guided missile attack on a surface ship then<br />

took place on 27th August 1943 <strong>in</strong> the Bay of Biscay, when the corvette HMS Egret was sunk <strong>and</strong> the<br />

Canadian destroyer Athabascan damaged by Hs293s launched from KG100 aircraft. The follow<strong>in</strong>g<br />

month, the cruisers HMS Ug<strong>and</strong>a <strong>and</strong> USS Savannah, together with the battleship HMS Warspite,<br />

were seriously damaged by Fritz Xs while support<strong>in</strong>g the Salerno l<strong>and</strong><strong>in</strong>gs, <strong>and</strong> the Italian battleship<br />

Roma was sunk by one or two hits [accounts differ] from Fritz Xs while attempt<strong>in</strong>g to defect to the<br />

Allies under the terms of the Italian surrender. The battleship Italia was also hit on this occasion, <strong>and</strong><br />

her escort, the battleship HMS Valiant, damaged by a near miss, but both managed to make their way<br />

to Malta [source]. In November 1943, the British troopship Rohna was also sunk en route from Oran<br />

Revised August 5, 2008 Page 105 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

to Bombay carry<strong>in</strong>g American troops, <strong>and</strong> this <strong>in</strong>cident, <strong>in</strong> terms of lives lost (1138 dead), was actually<br />

a worse disaster than the attack on Pearl Harbour (Cassanello, 2003 onl<strong>in</strong>e) [fuller story; <strong>in</strong><br />

memoriam]. Still <strong>in</strong> the Mediterranean, the cruiser HMS Spartan was then sunk off the Anzio<br />

beachhead <strong>in</strong> January 1944 [fuller account]. The Allies responded very quickly to this new age threat,<br />

analys<strong>in</strong>g the German radio control frequencies, <strong>and</strong> add<strong>in</strong>g radio countermeasure systems (="RCM",<br />

or "jamm<strong>in</strong>g" equipment) to their front-l<strong>in</strong>e naval assets as fast as the equipment could be built <strong>and</strong><br />

<strong>in</strong>stalled. This upgrade extended to a number of l<strong>and</strong><strong>in</strong>g ships be<strong>in</strong>g fitted out as Fighter Direction<br />

Tenders (FDTs) <strong>in</strong> read<strong>in</strong>ess for the 1944 <strong>in</strong>vasion. These vessels were selected because they would<br />

be stationed off the l<strong>and</strong><strong>in</strong>g beaches <strong>in</strong> a comm<strong>and</strong> <strong>and</strong> coord<strong>in</strong>ation role alongside exist<strong>in</strong>g<br />

headquarters ships such as HMS Largs, Hilary, <strong>and</strong> Bulolo. As a result, when the <strong>in</strong>vasion went<br />

ahead <strong>in</strong> June 1944 the Allied fleet emerged relatively unscathed. For example, we f<strong>in</strong>d the follow<strong>in</strong>g<br />

entry <strong>in</strong> the log of the battleship USS Texas: "the day [7th June] started with a detection of several<br />

anti-ship missile radio signals <strong>and</strong> subsequent jamm<strong>in</strong>g" [source]. KG100 was active for a few days off<br />

the Norm<strong>and</strong>y beaches, <strong>and</strong> scored at least one s<strong>in</strong>k<strong>in</strong>g, that of HMS Lawford on 8th June [divers<br />

exam<strong>in</strong>ed the wreck <strong>in</strong> 2002, <strong>and</strong> the nature of the damage confirms that a glider bomb was the most<br />

likely culprit]. Off Arromanches, they also hit, but did not s<strong>in</strong>k, HMS Bulolo [picture], the Force G (Gold<br />

Beach) headquarters ship, strik<strong>in</strong>g her - fortunately for the ship as a whole, if not those actually up<br />

there - high on the superstructure [the specialist German bomb-aimers were tra<strong>in</strong>ed to aim at their<br />

target's waterl<strong>in</strong>e for maximum effect, but even under ideal conditions were lucky to hit with<strong>in</strong> a five<br />

metre radius]. The Germans were apparently slow to respond to Allied RCM with "countercountermeasures",<br />

but eventually replaced the radio controlled Hs293A with the wire-guided, <strong>and</strong><br />

therefore RCM-immune, Hs293B. However, as the war moved progressively <strong>in</strong>l<strong>and</strong> the opportunity to<br />

field this improved system was lost, <strong>and</strong> the specialist squadrons were disb<strong>and</strong>ed. In all, 319 Fritz X<br />

<strong>and</strong> Hs293 missiles are reported to have been launched <strong>in</strong> action, of which roughly 100 scored hits.<br />

40 warships <strong>and</strong> 30 merchant ships were damaged or sunk [source]. In addition to the ships named<br />

above, German war historians also claim the destroyers HMS Jervis, Inglefield, Boadicea, <strong>and</strong><br />

Intrepid as sunk, <strong>and</strong> the cruiser USS Philadelphia damaged [confirmation]. In addition, one of the<br />

aforementioned FDTs, FDT 216, is on official record as hav<strong>in</strong>g been sunk by an air-launched<br />

"torpedo" on 7th July 1944, but it is unclear from the sources available to us whether this was of the<br />

guided or free-runn<strong>in</strong>g type. The next major advance with tactical rocketry was the "hom<strong>in</strong>g" missile.<br />

These were developed typically for use aga<strong>in</strong>st either aircraft or submar<strong>in</strong>es, <strong>and</strong> the functional<br />

pr<strong>in</strong>ciple is that the missile "locks on" to an external energy source (typically the eng<strong>in</strong>e exhaust heat<br />

of an aircraft or the propeller noise of a submar<strong>in</strong>e) <strong>and</strong> then twists <strong>and</strong> turns as much as is necessary<br />

to keep that source <strong>in</strong> its sights (allow<strong>in</strong>g for deflection as necessary). This type of system reached a<br />

state of some sophistication <strong>in</strong> air-to-air missiles such as Sidew<strong>in</strong>der. Laser guided bombs were<br />

developed dur<strong>in</strong>g the 1980s <strong>and</strong> saw action dur<strong>in</strong>g the 1991 Iraq War. They have s<strong>in</strong>ce been partly<br />

replaced by JDAM smart bombs [News24 picture], where the projectile homes on coord<strong>in</strong>ates<br />

programmed <strong>in</strong>to a highly flexible tactical comm<strong>and</strong> system, <strong>and</strong> conveyed to the weapon after its<br />

release by signals from a satellite. JDAMs are a few metres less accurate than laser-guided munitions,<br />

but are cheaper, can be used <strong>in</strong> larger numbers at a time, are "fire <strong>and</strong> forget", <strong>and</strong> are not affected<br />

by cloud, darkness, or smoke.<br />

So we now have someth<strong>in</strong>g of a pattern emerg<strong>in</strong>g. With conventional munitions, the projectiles are<br />

totally "dumb" - mere lumps of iron, devoid of any form of <strong>in</strong>telligence; no more robots than spears or<br />

musket balls are robots. With the operator-guided weapons, the projectiles are responsive, but still<br />

dumb - they make no decisions of their own, but <strong>in</strong>stead receive <strong>in</strong>put (from the remote joystick) <strong>and</strong><br />

generate output (to their steer<strong>in</strong>g mechanism). And with the early pilotless rocket systems, all the<br />

control systems were pre-set before launch, <strong>and</strong> the missile followed the programmed trajectory as<br />

closely as it was physically able. This mixture of technologies means that <strong>in</strong> the typical air-ground<br />

Revised August 5, 2008 Page 106 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

combat engagement of modern warfare we often pitch significantly different control systems aga<strong>in</strong>st<br />

each other. We might, for example, have a tactical dual between a ground unit armed with a fire <strong>and</strong><br />

forget shoulder-launched surface-to-air missile such as a St<strong>in</strong>ger, <strong>and</strong> a helicopter armed with a laserspotted<br />

air-to-ground round such as Hellfire [pictures <strong>and</strong> details], or between a city's SAM batteries<br />

(radar-guided, passive or active), <strong>and</strong> a B-2 loaded with JDAMs. The common denom<strong>in</strong>ator, of course,<br />

is that all forms are ultimately placed on target by a human, even if the act of aim<strong>in</strong>g took place at a<br />

keyboard many thous<strong>and</strong>s of miles away <strong>and</strong> many weeks beforeh<strong>and</strong>. The <strong>in</strong>telligence (<strong>and</strong> we use<br />

the word cautiously) is <strong>in</strong> the m<strong>in</strong>d of the operator whose eye is on the target (literally or figuratively)<br />

<strong>and</strong> whose h<strong>and</strong> is on the joystick. So the mach<strong>in</strong>es are not really <strong>in</strong>telligent at all. Even the JDAM<br />

has no "flexible control over the sequence of its operations" (Berkeley, 1949, p5), nor is it likely to<br />

acquire any for a good few years yet. In fact, Carnegie Mellon University's Hans Moravec [more on<br />

whom <strong>in</strong> Part 5] doubts that such "hazardous duty" systems should be called robots at all - he<br />

prefers the title "autonomous mach<strong>in</strong>es", because "they have the bodies of robots, but not the bra<strong>in</strong>s".<br />

ASIDE: We use the word "<strong>in</strong>telligence" cautiously, because it is one of those words which can mean<br />

whatever the speaker at the time wants it to mean. It can mean advanced philosophy to some,<br />

contemplative plann<strong>in</strong>g to others, or just the ability to hold a target <strong>in</strong> the crosshairs, <strong>and</strong> it is precisely<br />

this vagueness which has kept the Tur<strong>in</strong>g Test [see Section 4.4] so relevant all these years. The focus<br />

of our attention must therefore turn away from robotic mechanisms <strong>and</strong> design architectures, <strong>and</strong> look<br />

<strong>in</strong>stead directly at the <strong>in</strong>telligence we are try<strong>in</strong>g to <strong>in</strong>ject <strong>in</strong>to our robotic bra<strong>in</strong> .....<br />

4.7 Mach<strong>in</strong>e Problem Solv<strong>in</strong>g<br />

We turn, therefore, to the highest of all forms of guidance, namely reasoned action, <strong>and</strong> the nearest AI<br />

got to this <strong>in</strong> the 1950s was <strong>in</strong> its experiments with mach<strong>in</strong>e problem solv<strong>in</strong>g. The most successful of<br />

these was the collaboration between the R<strong>and</strong> Corporation's Allen Newell <strong>and</strong> J. Clifford Shaw, <strong>and</strong><br />

Carnegie Mellon University's Herbert A. Simon (1916-2001) to <strong>in</strong>vestigate how mach<strong>in</strong>es might<br />

profitably mimic (<strong>and</strong> potentially help expla<strong>in</strong>) human mathematical problem solv<strong>in</strong>g. One of their<br />

programs is still regarded as def<strong>in</strong><strong>in</strong>g the science .....<br />

The "Logic Theorist": This 1956 program was designed to test the truth of specific mathematical<br />

theorems. It did this by allow<strong>in</strong>g the programmer to <strong>in</strong>put five basic propositions (called "axioms"),<br />

aga<strong>in</strong>st which were applied a number of "rules of <strong>in</strong>ference". This enabled further logical<br />

propositions to be derived, by a process based upon the human process of formal mathematical<br />

argument, <strong>and</strong> as each derived sentence is generated it can be checked to see if it matches the<br />

theorem under test. If it does, then the audit trail of successive <strong>in</strong>ferences by which it was derived<br />

automatically constitutes the mathematical proof required. If it does not, then the program advances to<br />

the next permutation. Unfortunately, the problem with this approach is basically one of time, because<br />

ideally you would have to explore every comb<strong>in</strong>ation of axiom <strong>and</strong> rule through every possible<br />

iteration (a brute force computational approach sometimes known as the "British Museum algorithm")<br />

[formal def<strong>in</strong>ition]. Remember<strong>in</strong>g the dist<strong>in</strong>ction we raised <strong>in</strong> Section 4.3, this is therefore an excellent<br />

example of problem solv<strong>in</strong>g by algorithm rather than by heuristic.<br />

Logic Theorist was the central exhibit <strong>in</strong> 1956 at a conference on AI organised at Dartmouth College<br />

by John McCarthy (1927-), one of their mathematics lecturers .....<br />

BIOGRAPHICAL ASIDE - JOHN McCARTHY: McCarthy had been follow<strong>in</strong>g developments <strong>in</strong><br />

mach<strong>in</strong>e cognition very closely, <strong>and</strong> had already co<strong>in</strong>ed the general descriptor "artificial <strong>in</strong>telligence"<br />

<strong>in</strong> 1955. He would go on <strong>in</strong> 1958 to develop the LISP programm<strong>in</strong>g language, <strong>and</strong> <strong>in</strong> 1959 wrote an<br />

<strong>in</strong>fluential paper entitled "Programs with Common Sense" <strong>in</strong> which he def<strong>in</strong>ed mach<strong>in</strong>e common<br />

Revised August 5, 2008 Page 107 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

sense as follows: "..... a program has common sense if it automatically deduces for itself a sufficiently<br />

wide class of immediate consequences of anyth<strong>in</strong>g it is told <strong>and</strong> what it already knows." (McCarthy,<br />

1959/2003 onl<strong>in</strong>e). As to how this might be achieved, reference should be made to the five system<br />

features proposed <strong>in</strong> the orig<strong>in</strong>al paper, if <strong>in</strong>terested. However, the fifth of these features <strong>in</strong> particular<br />

has turned out to be remarkably prescient .....<br />

"5. The system must be able to create subrout<strong>in</strong>es which can be <strong>in</strong>cluded <strong>in</strong> procedures as units. The<br />

learn<strong>in</strong>g of subrout<strong>in</strong>es is complicated by the fact that the effect of a subrout<strong>in</strong>e is not usually good or<br />

bad <strong>in</strong> itself. Therefore, the mechanism that selects subrout<strong>in</strong>es should have concepts of <strong>in</strong>terest<strong>in</strong>g<br />

or powerful subrout<strong>in</strong>e whose application may be good under suitable conditions." (Ibid., p3.)<br />

McCarthy's 1959 paper is also noteworthy as an early example of the ill feel<strong>in</strong>g <strong>and</strong> <strong>in</strong>terprofessional<br />

disda<strong>in</strong> which can sometimes be seen between l<strong>in</strong>guistics professors <strong>and</strong> the eng<strong>in</strong>eers who gravitate<br />

so frequently <strong>in</strong>to AI. "Dr McCarthy's paper," wrote Bar-Hillel <strong>in</strong> the peer review section of the cited<br />

paper, "belongs <strong>in</strong> the Journal of Half-Baked Ideas [<strong>and</strong>] before he goes on to bake his ideas fully, it<br />

might be well to give him some advice ...." (Ibid., p11). Be that as it may, McCarthy had po<strong>in</strong>ted<br />

unerr<strong>in</strong>gly at the central problem of any hierarchical control system, namely where to place (<strong>and</strong> how<br />

to build) the bit that makes the all-important judgements of <strong>in</strong>terest<strong>in</strong>g, powerful, etc. McCarthy is<br />

currently professor of computer science at Stanford University, <strong>and</strong> is well on the way to mak<strong>in</strong>g his<br />

lifetime's work available on the Internet [<strong>in</strong>dex].<br />

Another program, the "Geometry Theorem Prover" was reportedly <strong>in</strong>spired by a tentative program<br />

structure drawn up <strong>in</strong> 1956 by MIT's Marv<strong>in</strong> M<strong>in</strong>sky. This was a sequence of <strong>in</strong>structions capable of<br />

prov<strong>in</strong>g a particular geometrical problem. M<strong>in</strong>sky passed his notes to a young IBM researcher named<br />

Herbert Gelernter, who then implemented it on an IBM 704. The result<strong>in</strong>g software was capable of<br />

analys<strong>in</strong>g a geometrical diagram for its constituent propositions, <strong>and</strong> of then attempt<strong>in</strong>g to derive<br />

further proofs <strong>in</strong> much the same way as Newell, Shaw, <strong>and</strong> Simons' Logic Theorist.<br />

Newell, Shaw, <strong>and</strong> Simon struck back <strong>in</strong> 1957 with the "General Problem Solver", a program<br />

expressly designed to simulate the processes of human problem solv<strong>in</strong>g. Here is Copel<strong>and</strong>'s<br />

(2002/2003 onl<strong>in</strong>e) summary .....<br />

"..... work cont<strong>in</strong>ued on the project for about a decade. General Problem Solver could solve an<br />

impressive variety of puzzles, for example the 'missionaries <strong>and</strong> cannivals' problem: How are a party<br />

of three missionaries <strong>and</strong> three cannibals to cross a river <strong>in</strong> a small boat that will take no more than<br />

two at a time, without the missionaries on either bank becom<strong>in</strong>g outnumbered by cannibals? GPS<br />

would search for a solution <strong>in</strong> a trial-<strong>and</strong>-error fashion, under the guidance of heuristics supplied by<br />

the programmers. One criticism of GPS, <strong>and</strong> other programs that lack learn<strong>in</strong>g, is that the program's<br />

'<strong>in</strong>telligence' is entirely second-h<strong>and</strong> ....."<br />

The period under consideration ended with a paper by Newell, Shaw, <strong>and</strong> Simon (1958) on what they<br />

called "the problem of complexity". In it, they surveyed the attempts to date (<strong>in</strong>clud<strong>in</strong>g their own) <strong>and</strong><br />

the heuristics used, <strong>and</strong> concluded that the complexity of heuristic programs was beyond the power of<br />

the programm<strong>in</strong>g languages then available, <strong>and</strong> appealed for more powerful languages. In Part 5, we<br />

shall be look<strong>in</strong>g at what came along.<br />

4.8 <strong>Artificial</strong> Consciousness<br />

F<strong>in</strong>ally, there has been a l<strong>in</strong>e of enquiry which has gone one important step past mach<strong>in</strong>e <strong>in</strong>telligence,<br />

look<strong>in</strong>g for the secret of biological consciousness itself. Unfortunately, this rema<strong>in</strong>s an area where<br />

Revised August 5, 2008 Page 108 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

there is no hard data, little simulation, <strong>and</strong> a lot of speculation. As with <strong>in</strong>telligence, we simply do not<br />

know what consciousness is <strong>in</strong> philosophical terms, <strong>and</strong> so we need to be ready to come across it by<br />

accident <strong>in</strong> any of the various sub-areas of AI. It might be <strong>in</strong> the <strong>in</strong>terl<strong>in</strong>guas of the verbal m<strong>in</strong>d<br />

(Section 4.1), or <strong>in</strong> the data networks of the know<strong>in</strong>g m<strong>in</strong>d (Section 4.2), or <strong>in</strong> the game play<strong>in</strong>g<br />

heuristics of the game-play<strong>in</strong>g m<strong>in</strong>d (Section 4.3), or <strong>in</strong> the ability to pass the Tur<strong>in</strong>g Test (Section 4.4),<br />

or <strong>in</strong> some lucky artifact of the neural network (Section 4.5), or <strong>in</strong> the onboard <strong>in</strong>telligence of a third<br />

generation robot (Section 4.6), or even <strong>in</strong> the reflection which characterises good problem solv<strong>in</strong>g<br />

(Section 4.7). In short, we do not know what we are look<strong>in</strong>g for, <strong>and</strong> that always makes life difficult for<br />

programmers [time, <strong>in</strong> fact, to call <strong>in</strong> the systems analysts ;-)]. We therefore close with quotable<br />

quotes on this very po<strong>in</strong>t by two of generation zero's greatest .....<br />

"We know the basic active organs of the nervous system (the nerve cells). There is every reason to<br />

believe that a very large-capacity memory is associated with this system. We do most emphatically<br />

not know what type of physical entities are the basic components of the memory <strong>in</strong> question." (von<br />

Neumann, 1958, p68; emphasis orig<strong>in</strong>al)<br />

"There is no difficulty <strong>in</strong> programm<strong>in</strong>g a universal mach<strong>in</strong>e to perform any set of operations when<br />

once the rules for perform<strong>in</strong>g them have been stated explicitly; this is true however complex the<br />

rules may be <strong>and</strong> however many alternative procedures of a conditional type are specified" (Wilkes,<br />

1956, p291; emphasis added.).<br />

5 - Still to Come<br />

That concludes our review of the history of first generation comput<strong>in</strong>g technology dur<strong>in</strong>g the period<br />

1951 to 1958. In Part 5, we br<strong>in</strong>g the review up to the present day, <strong>and</strong> identify several more key<br />

technical <strong>in</strong>novations, not least Database Management Systems, <strong>in</strong> Part 6 we look at computer<br />

memory <strong>in</strong> greater detail, especially as used <strong>in</strong> the COBOL programm<strong>in</strong>g language, the IDMS DBMS,<br />

<strong>and</strong> the TPMS TP monitor, <strong>and</strong> <strong>in</strong> Part 7 we undertake a comparative review of how well the full<br />

richness of computer memory subtypes had been <strong>in</strong>corporated <strong>in</strong>to psychological theory.<br />

Part 5 - A Brief History of Comput<strong>in</strong>g Technology, 1959 to Date<br />

1 - Ma<strong>in</strong>frame Comput<strong>in</strong>g 1959-1970 - Second <strong>and</strong> Third Generation Technology<br />

So to restate Part 4 succ<strong>in</strong>ctly, the average ma<strong>in</strong>frame <strong>in</strong> 1958 was different <strong>in</strong> several technical<br />

respects to the mach<strong>in</strong>e which had existed <strong>in</strong> 1950, <strong>and</strong> was be<strong>in</strong>g used <strong>in</strong> excit<strong>in</strong>g new ways both<br />

commercially <strong>and</strong> academically. Ferrite core memory had become the de facto st<strong>and</strong>ard for Ma<strong>in</strong><br />

<strong>Memory</strong> construction, <strong>and</strong> mach<strong>in</strong>es now came complete with an operat<strong>in</strong>g system <strong>and</strong> an assembly<br />

language. However, two <strong>in</strong>novations <strong>in</strong> particular were already mak<strong>in</strong>g such an impact on the <strong>in</strong>dustry<br />

that they are nowadays seen as the def<strong>in</strong><strong>in</strong>g characteristics of an entirely new breed of system,<br />

namely the "second generation" computers (1959-1964). The first of these class characteristics, a<br />

technological advance, was that electronic circuitry could now be transistorised, <strong>and</strong> therefore made<br />

far smaller than <strong>in</strong> its first generation predecessors; <strong>and</strong> the second, a design advance, was that<br />

second generation computers used microcode. These mach<strong>in</strong>es were then followed by the even more<br />

advanced "third generation" computers (1965-1970), where the class characteristics were (a) the<br />

replacement of the chassis-mounted transistor with the <strong>in</strong>tegrated circuit, <strong>in</strong> which all functional<br />

components except the ferrite core Ma<strong>in</strong> <strong>Memory</strong> were m<strong>in</strong>iaturised onto a silicon wafer, known as a<br />

"silicon chip", (b) the fact that programm<strong>in</strong>g was now <strong>in</strong>creas<strong>in</strong>gly done <strong>in</strong> compiled high-level<br />

languages such as COBOL, <strong>and</strong> (c) the provision of a virtual memory operat<strong>in</strong>g system. In this section,<br />

Revised August 5, 2008 Page 109 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

we review the impact of microcode, together with a dozen or so other noteworthy developments from<br />

the period 1959 to 1970.<br />

1.1 The Impact of Microcode<br />

Microprogramm<strong>in</strong>g is "a systematic technique for implement<strong>in</strong>g the control unit of a computer. It is a<br />

form of stored-program logic that substitutes for sequential-logic control circuitry" (Smotherman,<br />

1999/2003 onl<strong>in</strong>e). To underst<strong>and</strong> what this means, we have to remember the sequence of events <strong>in</strong><br />

the idealised Eckert von-Neumann mach<strong>in</strong>e's basic process<strong>in</strong>g cycle, namely that <strong>in</strong>dividually simple<br />

<strong>in</strong>structions were <strong>in</strong>terpreted by the Control Unit, which then passed an appropriate signal pattern to<br />

the logic gates of the Arithmetic/Logic Unit [rem<strong>in</strong>der] (either bit-by-bit down a s<strong>in</strong>gle wire if a serial<br />

design, or simultaneously down a number of wires if parallel). Unfortunately, the more you wanted the<br />

ALU to do at a time <strong>in</strong> the <strong>in</strong>terests of process<strong>in</strong>g speed, the more complicated the logic circuitry had<br />

to be, <strong>and</strong> the more complicated the circuitry, the more it would cost, the longer it would take to<br />

develop, <strong>and</strong> the more often th<strong>in</strong>gs would go wrong. The result<strong>in</strong>g pressure to avoid complex<br />

<strong>in</strong>structions left programmers struggl<strong>in</strong>g to reduce complicated mathematical procedures to<br />

sequences of overly simple steps, <strong>and</strong> led, <strong>in</strong> turn, to very long programs.<br />

The w<strong>in</strong>-w<strong>in</strong> solution, on the other h<strong>and</strong>, was to f<strong>in</strong>d a way of provid<strong>in</strong>g a high functionality <strong>in</strong>struction<br />

set without pay<strong>in</strong>g the price <strong>in</strong> CPU complexity, <strong>and</strong> this is what EDSAC's Maurice Wilkes achieved <strong>in</strong><br />

1951. What Wilkes proposed was that the Control Unit should ab<strong>and</strong>on the one-to-one relationship<br />

between the program <strong>in</strong>struction com<strong>in</strong>g <strong>in</strong> <strong>and</strong> the ALU <strong>in</strong>struction go<strong>in</strong>g out. Instead, a repertoire of<br />

more complex program <strong>in</strong>structions was provided, each of which, when detected by the Control Unit,<br />

was simply replaced on a many-for-one basis by a logically equivalent series of simpler <strong>in</strong>structions.<br />

The user-visible <strong>in</strong>structions were called "macro-<strong>in</strong>structions", <strong>and</strong> the mach<strong>in</strong>e-visible ones were<br />

called "micro-<strong>in</strong>structions" or "microcode". It thus became the microcode which controlled the<br />

action of the ALU, <strong>and</strong> not some momentary <strong>in</strong>put pattern derived on a one-for-one basis from the<br />

program <strong>in</strong>struction. Wilkes cont<strong>in</strong>ued to perfect this approach dur<strong>in</strong>g the 1951 to 1958 development<br />

of his EDSAC II, <strong>and</strong> then IBM were among the first to buy <strong>in</strong> to the concept (<strong>and</strong> a fortune they were<br />

to make out of it), field<strong>in</strong>g it <strong>in</strong> their 1964 System/360 [see Section 1.6].<br />

1.2 The Manchester University Atlas<br />

While its London factory was w<strong>in</strong>n<strong>in</strong>g its spurs with the Pegasus [Part 4 (Section 2.3)], Ferranti's<br />

Manchester works cont<strong>in</strong>ued its collaboration with Manchester University <strong>and</strong> started work <strong>in</strong> 1956 on<br />

a transistorised computer. This was to be fitted with core memory, <strong>and</strong> was given the name MUSE<br />

because it aimed to hit the magic one million <strong>in</strong>structions per second (mips) [MUSE was short for<br />

"microsecond eng<strong>in</strong>e", the Greek letter "mu" (Cyrillic ) be<strong>in</strong>g the st<strong>and</strong>ard technical abbreviation for<br />

"millionth"]. In fact, it took a full six years for the product - soon rebadged "Atlas" - to reach the<br />

showroom, largely thanks to the sheer <strong>in</strong>tricacy of the eng<strong>in</strong>eer<strong>in</strong>g required. One major problem was<br />

that no one program would be able to utilise such a fast processor, because at 1 mips, all programs<br />

were go<strong>in</strong>g to be seriously peripheral-bound. It therefore made sense to allow several programs<br />

simultaneous access to the mach<strong>in</strong>e, with each program vacat<strong>in</strong>g the CPU dur<strong>in</strong>g its slower <strong>in</strong>putoutput<br />

operations. This arrangement is known as "multiprogramm<strong>in</strong>g" .....<br />

Key Concept - Multiprogramm<strong>in</strong>g: "Multiprogramm<strong>in</strong>g <strong>in</strong>volves the simultaneous or parallel<br />

execution of two or more programs by an operat<strong>in</strong>g system on a s<strong>in</strong>gle mach<strong>in</strong>e" [source]. In Atlas's<br />

case, up to 16 programs - all batch - could be managed concurrently, <strong>and</strong> it was left to the job<br />

execution logic [more on which below] to sort out their relative priority.<br />

Revised August 5, 2008 Page 110 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Unfortunately, no operat<strong>in</strong>g software yet existed capable of support<strong>in</strong>g the sort of job execution<br />

schedul<strong>in</strong>g which multiprogramm<strong>in</strong>g called for; <strong>and</strong> so this, too, had to be written. In the result<strong>in</strong>g<br />

three-pronged development, David B.G. Edwards managed the hardware teams, R. A. Brooker took<br />

on compiler development, <strong>and</strong> David J. Howarth saw to the operat<strong>in</strong>g system [citation]. Their work is<br />

historically noteworthy on two major counts. The first is for <strong>in</strong>clud<strong>in</strong>g the concept of "system<br />

supervisor" <strong>in</strong> the package of functionality provided by a good operat<strong>in</strong>g system [further details] .....<br />

Key Concept - The System Supervisor, "Jobs", <strong>and</strong> Job Execution Schedul<strong>in</strong>g: A "System<br />

Supervisor" is the top level control logic <strong>in</strong> a hierarchically organised computer operat<strong>in</strong>g system. It is<br />

the "process control module" at the "top" of a pyramid of lesser modular processes. In Atlas's case,<br />

the idea was that each program's momentary dem<strong>and</strong>s would be matched as far as possible aga<strong>in</strong>st<br />

the mach<strong>in</strong>e's momentary resources; <strong>and</strong>, where this meant queue<strong>in</strong>g, that would be h<strong>and</strong>led<br />

automatically by a "contention schedul<strong>in</strong>g" rout<strong>in</strong>e. Another important aspect of the System<br />

Supervisor concept was that it required the programmer to consider not just the logic of his code, but<br />

the broader package of th<strong>in</strong>gs need<strong>in</strong>g to be done before that code could be executed. This gave rise<br />

to the concept of "job", a request to run a program (or, <strong>in</strong>deed, a series of programs) aga<strong>in</strong>st a<br />

precisely identified set of resources such as data, peripheral devices, <strong>and</strong> CPU time. These resources<br />

were identified as part of a "job pack", orig<strong>in</strong>ally a set of punched cards to be read by the Supervisor<br />

software, but soon yet another computer file. The idea of job packs soon caught on across the<br />

<strong>in</strong>dustry. IBM job packs, for example, were written <strong>in</strong> a set of conventions known as JCL (= "Job<br />

Control Language"). The ICL VME operat<strong>in</strong>g system went a stage further <strong>in</strong> the 1980s, allow<strong>in</strong>g job<br />

packs to be compiled as object code, whereupon they could be treated just like the <strong>in</strong>structions<br />

directly provided by the OS. This control language was known as SCL (= "System Control<br />

Language"). [In 1988, the author wrote the operational SCL rout<strong>in</strong>es to control the execution of seven<br />

l<strong>in</strong>ked COBOL programs mak<strong>in</strong>g up a major stores account<strong>in</strong>g suite, complete with restart po<strong>in</strong>ts,<br />

archive tak<strong>in</strong>g, archive prun<strong>in</strong>g, on-the-fly <strong>in</strong>tegrity check<strong>in</strong>g, <strong>and</strong> full audit trail; <strong>and</strong> the whole th<strong>in</strong>g<br />

performed as sweet as a nut.] Ed Thelen notes that Howarth's Supervisor is "considered by many to<br />

be the first recognisable modern operat<strong>in</strong>g system" (Thelen, 2003 onl<strong>in</strong>e).<br />

Atlas's second claim to fame - <strong>and</strong> it easily ranks <strong>in</strong> importance with the <strong>in</strong>vention of ferrite core<br />

memory - is that the System Supervisor could be used to apportion the available Ma<strong>in</strong> <strong>Memory</strong><br />

amongst its 16 simultaneous programs <strong>in</strong> such a way that they all got the whole cake! The secret of<br />

this digital conjur<strong>in</strong>g trick lay <strong>in</strong> notionally divid<strong>in</strong>g Ma<strong>in</strong> <strong>Memory</strong> up <strong>in</strong>to "pages", each the size of a<br />

convenient block of disk storage, <strong>and</strong> by keep<strong>in</strong>g count of how often each page was be<strong>in</strong>g used.<br />

Infrequently used pages could then be copied off to disc without the program be<strong>in</strong>g aware of the loss,<br />

so, when runn<strong>in</strong>g several programs, each would th<strong>in</strong>k it had the full range of memory available to it<br />

<strong>and</strong> could be programmed accord<strong>in</strong>gly. The cost to the system lay <strong>in</strong> all the count<strong>in</strong>g <strong>and</strong> the copy<strong>in</strong>g,<br />

but the sav<strong>in</strong>g lay <strong>in</strong> the ability to pass the space thereby released over to other users. The name<br />

given to memory which looks like Ma<strong>in</strong> <strong>Memory</strong> but is really on disk was "virtual memory", <strong>and</strong> the<br />

name given to the all-important process of copy<strong>in</strong>g blocks of it backwards <strong>and</strong> forwards was<br />

"pag<strong>in</strong>g" .....<br />

Key Concept - "Virtual <strong>Memory</strong>" (VM), "Pag<strong>in</strong>g", <strong>and</strong> "Thrash<strong>in</strong>g": Given that the typical Eckertvon<br />

Neumann mach<strong>in</strong>e had only a small amount of Ma<strong>in</strong> <strong>Memory</strong>, but a much larger amount of<br />

back<strong>in</strong>g store, <strong>and</strong> given also that programs typically conta<strong>in</strong> large segments of conditionally used<br />

code [see the <strong>in</strong>dent on Conditional Control <strong>in</strong> Part 3 (Section 4)], it occurred to the Atlas design team<br />

to push low-usage segments of a loaded program out of the one form of memory <strong>and</strong> <strong>in</strong>to the other.<br />

Because these segments were known as "pages", the process of "roll<strong>in</strong>g code <strong>in</strong> <strong>and</strong> out" of Ma<strong>in</strong><br />

<strong>Memory</strong> as dem<strong>and</strong> dictated became known as "pag<strong>in</strong>g" (sometimes "dem<strong>and</strong> pag<strong>in</strong>g"). Additional<br />

Revised August 5, 2008 Page 111 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

registers were added to the CPU to keep note of where each program had got to, <strong>and</strong> "page tables"<br />

were stored <strong>in</strong> the operat<strong>in</strong>g system area of Ma<strong>in</strong> <strong>Memory</strong> to accumulate the necessary usage<br />

statistics. "Thrash<strong>in</strong>g" is what happens <strong>in</strong> a VM system when pag<strong>in</strong>g gets overloaded or goes out of<br />

tune. The po<strong>in</strong>t is that roll<strong>in</strong>g programs <strong>in</strong> <strong>and</strong> out of Ma<strong>in</strong> <strong>Memory</strong> takes time, so, if you do too much<br />

of it, the ability to do anyth<strong>in</strong>g constructive <strong>in</strong> the <strong>in</strong>-between-times reduces accord<strong>in</strong>gly.<br />

The Atlas was officially <strong>in</strong>augurated on 7th December 1962, but only three full, <strong>and</strong> two scaled-down,<br />

mach<strong>in</strong>es were sold, due partly to Ferranti sell<strong>in</strong>g off its computer division to ICT <strong>in</strong> 1963 [see Section<br />

1.8]. The technology did not go to waste, however, <strong>in</strong> that it helped shape ICT's successful 1900series.<br />

A f<strong>in</strong>al Manchester University project - the MU5 - ran from 1966 to 1974 as a testbed for ICL's<br />

VME 2900 ma<strong>in</strong>frame range [which we shall be deal<strong>in</strong>g with <strong>in</strong> Section 3.3.<br />

1.3 The IBM Second Generation Mach<strong>in</strong>es<br />

As we saw <strong>in</strong> Part 4 (Section 1.2), IBM's strategy dur<strong>in</strong>g the early 1950s had been to apportion its<br />

efforts between develop<strong>in</strong>g simple tabulator-multipliers for its commercial customer base <strong>and</strong><br />

produc<strong>in</strong>g large defence computers for the US military. By mid-decade, however, it had started to<br />

bridge the gap with mid-range products. In 1955 the IBM 608 transistorised calculator [picture] was<br />

<strong>in</strong>troduced, <strong>in</strong> 1957 the 7070, <strong>and</strong> <strong>in</strong> 1959 the 1401, "the first computer system to reach 10,000 units<br />

<strong>in</strong> sales" (author). The IBM 1401 has recently been acclaimed "the Model T of the computer bus<strong>in</strong>ess"<br />

(Nicholls, 2003 onl<strong>in</strong>e), because it was the first mass-produced, digital, all-transistorised, bus<strong>in</strong>ess<br />

computer. It was announced <strong>in</strong> October 1959, came complete with an Assembler language called<br />

Autocoder, <strong>and</strong> could be <strong>in</strong>stalled on lease from as little as $2500 per month [author]. It is also<br />

historically significant with<strong>in</strong> the UK, because it grabbed so much of the market that it forced a series<br />

of mergers <strong>and</strong> rationalisations on the British computer <strong>in</strong>dustry [see Section 1.8]. For some 1401<br />

user rem<strong>in</strong>iscences, see the Tom Van Vleck website, <strong>and</strong> for the basic system details, see the Frank<br />

da Cruz website.<br />

The IBM "Stretch" was another cutt<strong>in</strong>g edge design concept from the late 1950s, <strong>and</strong> many of its<br />

concepts were (<strong>and</strong> some still are) ahead of their time. The project was fronted by Stephen W.<br />

Dunwell, ex-codebreaker, design began <strong>in</strong> 1955, <strong>and</strong> the product as first delivered <strong>in</strong> 1960 conta<strong>in</strong>ed<br />

169,000 transistors, <strong>and</strong> offered 96,000 64-bit words of core memory. The development team<br />

<strong>in</strong>cluded Gerrit A. Blaauw, Frederick P. Brooks, John Cocke, Erich Bloch, Werner Buchholz, Edgar<br />

Codd [more on whom <strong>in</strong> Section 3.1], Robert Bemer ("father of ASCII"), <strong>and</strong> Harwood Kolsky, <strong>and</strong> of<br />

particular importance was an advanced form of pipel<strong>in</strong><strong>in</strong>g .....<br />

Key Concept - "Pipel<strong>in</strong><strong>in</strong>g" (Cont<strong>in</strong>uation): The basic concept of "pipel<strong>in</strong><strong>in</strong>g" was <strong>in</strong>troduced <strong>in</strong> Part<br />

4 (Section 2.3), as a technique "whereby multiple <strong>in</strong>structions are overlapped <strong>in</strong> execution" (Patterson<br />

<strong>and</strong> Hennessy, 1996, p125). The IBM Stretch designers set new horizons for this concept by<br />

arrang<strong>in</strong>g for the FETCH part of the basic FETCH-<strong>and</strong>-EXECUTE cycle [rem<strong>in</strong>der] to be up to four<br />

<strong>in</strong>structions ahead of the EXECUTEs (Smotherman, 2002 onl<strong>in</strong>e). They did this by sett<strong>in</strong>g the<br />

<strong>in</strong>struction length at either 32 or 64 bits depend<strong>in</strong>g on the number of oper<strong>and</strong>s required, <strong>and</strong> then<br />

build<strong>in</strong>g <strong>in</strong>to the Control Unit two 64-bit "<strong>in</strong>struction buffers". Instructions were fetched 64 bits at a time<br />

from Ma<strong>in</strong> <strong>Memory</strong>, <strong>and</strong> when one buffer had been processed the next was processed while the first<br />

was refreshed. In this way, the decod<strong>in</strong>g of <strong>in</strong>struction could be tak<strong>in</strong>g place dur<strong>in</strong>g the<br />

execution of <strong>in</strong>struction , with <strong>in</strong>structions <strong>and</strong> already on their way across. There<br />

was also allowance for a process known as "<strong>Memory</strong> Oper<strong>and</strong> Prefetch", a technique which<br />

Smotherman describes as "a novel form of buffer<strong>in</strong>g called a 'lookahead' unit".<br />

Revised August 5, 2008 Page 112 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Stretch also <strong>in</strong>troduced the term <strong>and</strong> concept of the "byte" <strong>in</strong>to the comput<strong>in</strong>g lexicon. The idea was<br />

Bob Bemer's (although the word itself seems to have been Buchholz's), <strong>and</strong> it helped you dist<strong>in</strong>guish<br />

between bits, <strong>and</strong> the various clever th<strong>in</strong>gs you could do with bits if you set your m<strong>in</strong>d to it. To see<br />

how bytes work, we need to look at the three already established uses for the contents of a computer<br />

word .....<br />

(1) Words as Instructions: Here the word is made over to one or more mach<strong>in</strong>e <strong>in</strong>structions, made<br />

up, as previously expla<strong>in</strong>ed [rem<strong>in</strong>der] from op code <strong>and</strong> oper<strong>and</strong> elements. The byte concept cannot<br />

be used here, because the number of bits <strong>in</strong> each of these elements will have been specified at the<br />

circuit design stage.<br />

(2) Words as B<strong>in</strong>ary Data: Here, for speed of calculation, the word is made over to a b<strong>in</strong>ary number<br />

<strong>in</strong> either fixed po<strong>in</strong>t pure b<strong>in</strong>ary format (eg. [lead<strong>in</strong>g zeroes]10111, for decimal 23) or float<strong>in</strong>g po<strong>in</strong>t<br />

format as previously described [see Part 4 (Section 1.3)]. The byte concept cannot be used here<br />

either, because, aga<strong>in</strong>, the numerical field lengths will have been specified at the circuit design stage.<br />

(3) Words as Alphanumeric Data: Here, formatted ultimately for human consumption, the word is<br />

treated as a sequence of "bytes", each correspond<strong>in</strong>g to a keyboard character of some sort. With a<br />

64-bit word <strong>and</strong> a 7-bit byte, say, each word can conta<strong>in</strong> n<strong>in</strong>e bytes [eg. the word "CALCULATE", the<br />

decimalised number "000000023", or the mixed str<strong>in</strong>g "____£0.35" (note the four lead<strong>in</strong>g spaces,<br />

which, whilst spaces on screen or pr<strong>in</strong>t-out, are nevertheless 7-bit bytes <strong>in</strong> the system)]. With a 64-bit<br />

word <strong>and</strong> an 8-bit byte, the number of bytes per word reduces to eight, but the size of the character<br />

set doubles from 128 items to 256 items.<br />

Stretch was put to market as the IBM 7030 <strong>in</strong> 1961, <strong>and</strong> held the "World's fastest computer" title until<br />

1964. It suffered its fair share of teeth<strong>in</strong>g troubles due to the sheer number of <strong>in</strong>novations built <strong>in</strong>to it,<br />

but it provided IBM with a body of design experience second to none, which they were about to put to<br />

spectacular commercial effect <strong>in</strong> the System/360 [see Section 1.6]. Metz (2001/2003 onl<strong>in</strong>e) therefore<br />

bestows upon the 7030 the accolade of the "Most Successful Failure <strong>in</strong> History".<br />

1.4 The "Stack" Process<strong>in</strong>g Mach<strong>in</strong>es<br />

The 1950s had also seen the <strong>in</strong>vention <strong>and</strong> <strong>in</strong>creas<strong>in</strong>g popularity of a clever alternative to the one-<br />

<strong>and</strong> three-oper<strong>and</strong> <strong>in</strong>struction sets which had typified the generation zero mach<strong>in</strong>es [rem<strong>in</strong>der]. This<br />

<strong>in</strong>volved feed<strong>in</strong>g only one element at a time to the Control Unit, be that either the op code itself or one<br />

of its associated operators or oper<strong>and</strong>s. The Control Unit would then accumulate these elements <strong>in</strong> a<br />

"stack" (<strong>in</strong> the sense of "stack<strong>in</strong>g th<strong>in</strong>gs up"), act<strong>in</strong>g upon them where necessary. It would cont<strong>in</strong>ue to<br />

do this until it had the full set, whereupon it would write the f<strong>in</strong>al answer out to the specified<br />

dest<strong>in</strong>ation, <strong>and</strong> discard the elements it had accumulated, leav<strong>in</strong>g the stack free to start accumulat<strong>in</strong>g<br />

another set. For technical reasons, the most convenient stack structure is "last <strong>in</strong>, first out" or LIFO,<br />

<strong>and</strong>, by analogy with the old-fashioned desktop "<strong>in</strong>-tray", this way of do<strong>in</strong>g th<strong>in</strong>gs became known as<br />

"stack process<strong>in</strong>g".<br />

The <strong>in</strong>ventor of stack process<strong>in</strong>g was Charles L. Hambl<strong>in</strong> (1922-1985), an Australian philosopher <strong>and</strong><br />

computer scientist. McBurney (2003 onl<strong>in</strong>e) expla<strong>in</strong>s that Hambl<strong>in</strong> first learned about comput<strong>in</strong>g when<br />

work<strong>in</strong>g as a radar technician dur<strong>in</strong>g World War Two. He then did his doctorate on the topic of<br />

<strong>in</strong>formation theory before tak<strong>in</strong>g a post <strong>in</strong> philosophy at what is now the University of New South<br />

Wales. His radar experience then got him <strong>in</strong>volved when the university bought one of English<br />

Electric's DEUCES <strong>in</strong> 1956, <strong>and</strong> he was set to work produc<strong>in</strong>g an <strong>in</strong>-house programm<strong>in</strong>g language<br />

Revised August 5, 2008 Page 113 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

called GEORGE, which used a stack-structured <strong>in</strong>struction queue <strong>and</strong> someth<strong>in</strong>g called "Reverse<br />

Polish Notation" (Hambl<strong>in</strong>, 1957, 1962) .....<br />

Key Concept - "Stack Process<strong>in</strong>g", "Polish Notation", <strong>and</strong> "Reverse Polish Notation": An<br />

<strong>in</strong>struction "stack" is a constantly chang<strong>in</strong>g queue of <strong>in</strong>structions ma<strong>in</strong>ta<strong>in</strong>ed by the Control Unit to<br />

cope with <strong>in</strong>structions which for one reason or another are not yet ready to be acted upon. Stack<br />

process<strong>in</strong>g requires programmers to learn a curious new way of th<strong>in</strong>k<strong>in</strong>g. Specifically, it adopts the<br />

reverse of a mathematical notation system known as "Polish notation" (PN) (so named, after the<br />

Polish mathematician, Jan Lukasiewicz, who <strong>in</strong>vented it <strong>in</strong> the 1920s). In PN, the brackets which are<br />

so vitally important to the conventional "BODMAS" system of algebraic expansion are not allowed,<br />

<strong>and</strong> great care therefore has to be taken to exp<strong>and</strong> complex algebraic terms <strong>in</strong> the right sequence.<br />

Thus <strong>in</strong> normal arithmetic the expression < 4(a + b) > b<strong>in</strong>ds (a + b) together, mean<strong>in</strong>g that 4 has to be<br />

multiplied by all the terms with<strong>in</strong> the brackets, giv<strong>in</strong>g < 4a + 4b >. What Lukasiewicz did was to<br />

reorganise the expression as < x4+ab >, which we may read by scann<strong>in</strong>g left-to-right as "multiply by<br />

4 the pluss<strong>in</strong>g of items a <strong>and</strong> b". This gives the same answer WITHOUT USING BRACKETS. What<br />

Charles Hambl<strong>in</strong> then did was to show that "Reverse Polish Notation" (RPN) was an excellent way<br />

of present<strong>in</strong>g arithmetical <strong>in</strong>structions to a stack process<strong>in</strong>g logic unit. In RPN, < x4+ab > becomes <<br />

ab+4x >, which we may read as "take a, take b, <strong>and</strong> plus it to what you have accumulated so far,<br />

take 4, <strong>and</strong> multiply it by what you have accumulated so far". The real advantage comes whenever<br />

conventional notation calls for nested brackets, because these have to be resolved <strong>in</strong> match<strong>in</strong>g pairs<br />

start<strong>in</strong>g with the <strong>in</strong>nermost. This means hold<strong>in</strong>g the entire expression (<strong>and</strong> it might be long <strong>and</strong><br />

complex) <strong>in</strong> memory <strong>and</strong> mak<strong>in</strong>g a number of passes through it, resolv<strong>in</strong>g one level of bracket<strong>in</strong>g at a<br />

time. RPN thus saves a large Control Unit register <strong>and</strong> lots of time. On the down side, of course, there<br />

is the <strong>in</strong>tellectual challenge of convert<strong>in</strong>g the expression <strong>in</strong>to RPN <strong>in</strong> the first place, but, once that is<br />

out of the way, the fetch <strong>and</strong> execute logic is simplicity itself. Because operators <strong>and</strong> oper<strong>and</strong>s arrive<br />

one at a time, stack systems have been described as "zero addresses per <strong>in</strong>struction" systems.<br />

Stacks can be implemented either <strong>in</strong> hardware as an array of registers, or <strong>in</strong> software as a Ma<strong>in</strong><br />

<strong>Memory</strong> array under the control of the mach<strong>in</strong>e's operat<strong>in</strong>g system.<br />

News of Hambl<strong>in</strong>'s achievement soon made its way back to English Electric, who were so impressed<br />

with the idea that they used it <strong>in</strong> their 1960 KDF9, giv<strong>in</strong>g it a "hardware stack" capable of hold<strong>in</strong>g 16<br />

48-bit words. Here are the ma<strong>in</strong> details .....<br />

"This was known as the 'nest<strong>in</strong>g store' or 'nest'. A 'fetch' operation from memory copied the word from<br />

memory <strong>in</strong>to the top of the nest, push<strong>in</strong>g all other values down one position. Arithmetic operations<br />

were carried out on the top few values <strong>in</strong> the nest, replac<strong>in</strong>g the oper<strong>and</strong>s by the results. A typical<br />

sequence of <strong>in</strong>structions might look like<br />

Y0; Y1; +; =Y2<br />

This would fetch a word from each of locations Y0 <strong>and</strong> Y1 <strong>in</strong>to the nest<strong>in</strong>g store, add them, <strong>and</strong> place<br />

the result <strong>in</strong> location Y2. This sequence removed all the words that had been loaded, leav<strong>in</strong>g the nest<br />

<strong>in</strong> the same state as before the sequence shown."<br />

Stack process<strong>in</strong>g was also used <strong>in</strong> the 1961 Burroughs D825 <strong>and</strong> D830 <strong>and</strong> the 1963 B5000, as well<br />

as <strong>in</strong> the Hewlett-Packard HP9100A calculator. See Jones (2003 onl<strong>in</strong>e) for more on the Burroughs<br />

B5000, <strong>and</strong> the Museum of Hewlett Packard Comput<strong>in</strong>g for more on the HP story.<br />

1.5 "Supercomputers"<br />

Revised August 5, 2008 Page 114 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

In Part 4 (Section 1.3), we saw how the Rem<strong>in</strong>gton Corporation's UNIVACs did much to popularise<br />

bus<strong>in</strong>ess comput<strong>in</strong>g <strong>in</strong> the mid-1950s. Unfortunately, the corporation was still beset by<br />

<strong>in</strong>terdepartmental <strong>and</strong> political rivalries, <strong>and</strong> <strong>in</strong> 1957 one of ERA's orig<strong>in</strong>al founders, William C. Norris,<br />

resigned to found the Control Data Corporation. He took with him Seymour Cray as his Chief<br />

Eng<strong>in</strong>eer <strong>and</strong> a dozen or so other eng<strong>in</strong>eers <strong>and</strong> programmers, <strong>and</strong> so carefully had he chosen his<br />

people that the new corporation's first product, the fully transistorised CDC 1604, was ready only a<br />

year later. This was then followed by the world's first fully transistorised "supercomputer", the CDC<br />

6600, <strong>in</strong> 1964.<br />

Key Concept - Supercomputers: A supercomputer "is a computer that leads the world <strong>in</strong> terms of<br />

process<strong>in</strong>g capacity, particularly speed of calculation, at the time of its <strong>in</strong>troduction" (Wikipedia, 2003).<br />

The 6600 was a highly compact design, thanks to deliberately short <strong>in</strong>ternal cable runs <strong>and</strong> an <strong>in</strong>tegral<br />

Freon liquid cool<strong>in</strong>g system [the electronics were effectively built <strong>in</strong>side a refrigerator], <strong>and</strong> this<br />

allowed it to achieve 3 mips. It thus "completely outperformed all mach<strong>in</strong>es on the market, typically by<br />

over ten times" (Wikipedia, 2003 onl<strong>in</strong>e). Lundstrom (1987) describes some of the mach<strong>in</strong>e's<br />

technicalities .....<br />

"The [CPU] consisted of ten separate 'functional units', each optimised to do only one particular<br />

operation - multiply, add, divide, shift, etc. The CPU communicated only with its central memory; it<br />

had no <strong>in</strong>put/output <strong>in</strong>structions whatsoever. The CPU operated on a 60-bit word, which is unusually<br />

long. Included <strong>in</strong> the 6600 computer <strong>and</strong> communicat<strong>in</strong>g with the CPU's central memory [128k words,<br />

or about one Megabyte by today's measures] were ten <strong>in</strong>dependent 12-bit m<strong>in</strong>icomputers, each<br />

hav<strong>in</strong>g its own separate memory as well as access to the CPU's memory. These m<strong>in</strong>icomputers,<br />

called Peripheral Process<strong>in</strong>g Units (PPUs), provided the <strong>in</strong>put/output <strong>in</strong>structions to keep the CPU fed.<br />

Thus a model 6600 consisted of eleven (or twenty, if you counted each functional unit separately)<br />

discrete programmable computers, all capable of work<strong>in</strong>g <strong>in</strong>dependently but all capable of<br />

communicat<strong>in</strong>g with each other through the central memory." (Lundstrom, 1987, p111)<br />

And the mach<strong>in</strong>e's pr<strong>in</strong>cipal designer, J.E. Thornton, adds .....<br />

"The Central Processor of the Control Data 6600 Computer is based on a high degree of functional<br />

parallelism. This is provided by the use of many functional units <strong>and</strong> a number of essential support<strong>in</strong>g<br />

properties [.....] The ten functional units are <strong>in</strong>dependent of each other <strong>and</strong> may operate<br />

simultaneously. In a typical central processor program at least two or three functional units will be <strong>in</strong><br />

operation simultaneously." (Thornton, 1970/2003 onl<strong>in</strong>e, pp12-13)<br />

Figure 1 shows how these various process<strong>in</strong>g modules were laid out .....<br />

Figure 1 - The "Distributed Comput<strong>in</strong>g Architecture" of the Cray 6600 Supercomputer:<br />

Here we see the ten "Functional Units" (FUs) of the CPU [yellow highlights, right], the ten<br />

"Peripheral Process<strong>in</strong>g Units" (PPUs) [green highlights, left], <strong>and</strong> the various elements of<br />

the Control Unit [red highlights, right], all neatly set out around the mach<strong>in</strong>e's Ma<strong>in</strong> <strong>Memory</strong><br />

[blue highlight, centre]. When the control system decides that a particular FU is needed, it<br />

checks with the Scoreboard that that resource is currently free. If it is, the Scoreboard then<br />

issues the necessary control <strong>in</strong>structions, tell<strong>in</strong>g the FU <strong>in</strong> question when to start <strong>and</strong> what to<br />

do with the results when it has f<strong>in</strong>ished. If not, then that <strong>in</strong>struction is queued. The Scoreboard<br />

Revised August 5, 2008 Page 115 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

also <strong>in</strong>terlocks the FUs when it is logically impossible to run operations simultaneously. The<br />

eight-element Instruction Stack permitted up to seven "old" <strong>in</strong>structions to be reta<strong>in</strong>ed with<strong>in</strong><br />

the CPU, so that short program loops could be managed from with<strong>in</strong> the stack without<br />

requir<strong>in</strong>g repeated time-consum<strong>in</strong>g FETCHes.<br />

The 6600 was actually upgraded "well after first deliveries" (Thornton, 1970/2003 onl<strong>in</strong>e, p17) so that<br />

two mach<strong>in</strong>es could share a common "extended core storage", mak<strong>in</strong>g the comb<strong>in</strong>ation, perhaps,<br />

even more biologically lifelike [Thornton's Figure 8, for example, broadly resembles the bi-hemispheric<br />

vertebrate bra<strong>in</strong> (op. cit., p18)].<br />

Clever though it undoubtedly was, the 6600 lacked the all-round strengths of the latest offer<strong>in</strong>g from<br />

IBM, the System/360 [see next section], <strong>and</strong>, as a result, secured only a few highly specialist sales<br />

(eg. nuclear physics, meteorology, <strong>and</strong> the like). However, one of its last<strong>in</strong>g benefits was to show how<br />

<strong>in</strong>struction sets - which had grown bloated over the years - could be re-simplified, an approach which<br />

would later become known as "Reduced Instruction Set Comput<strong>in</strong>g" (RISC). In 1968, Cray<br />

designed the CDC 7600 as a replacement for the 6600. This made <strong>in</strong>tensive use of advanced<br />

pipel<strong>in</strong><strong>in</strong>g <strong>and</strong> a lean, mean, <strong>in</strong>struction set, <strong>and</strong>, at about 15MIPS, broke all the speed records of its<br />

day. However, it acquired no great reputation for reliability, <strong>and</strong> aga<strong>in</strong> sold only to those who needed<br />

process<strong>in</strong>g speed first <strong>and</strong> foremost, <strong>and</strong> could afford to pay for it.<br />

Revised August 5, 2008 Page 116 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1.6 The IBM System/360<br />

By the early 1960s, IBM was receiv<strong>in</strong>g more <strong>and</strong> more compla<strong>in</strong>ts about how difficult it was for new<br />

models to run software developed for earlier ones. All too often, potential customers were say<strong>in</strong>g that<br />

they could afford this or that new piece of hardware, but not if it meant junk<strong>in</strong>g all the software they<br />

had struggled to get runn<strong>in</strong>g on the older hardware. The company therefore set up a bra<strong>in</strong>strust <strong>in</strong><br />

November 1961 to look <strong>in</strong>to this problem, <strong>and</strong> a month later the panel came back with what became<br />

known as the "Spread Report". Here is the thrust of that report's recommendations .....<br />

"The central realisation of the committee, was the need for a fully compatible family of mach<strong>in</strong>es.<br />

Each mach<strong>in</strong>e could specialise on particular areas, could offer different levels of performance, <strong>and</strong> at<br />

different prices, but the essential quality was that of complete compatibility. Ie. every program written<br />

for the family of mach<strong>in</strong>es could be executed on any one of the mach<strong>in</strong>es (obviously yield<strong>in</strong>g to<br />

peripheral <strong>and</strong> memory requirements, <strong>and</strong> at different speeds)." [author]<br />

The result was one of IBM's all-time w<strong>in</strong>ners, namely the 1964 System/360 range of mach<strong>in</strong>es. A<br />

family of seven mach<strong>in</strong>e sizes was offered, to appeal to all sizes of organisation, but operat<strong>in</strong>g<br />

procedures <strong>and</strong> programm<strong>in</strong>g languages were st<strong>and</strong>ard across all of them (Ganek <strong>and</strong> Sussenguth,<br />

1999/2003 onl<strong>in</strong>e). The development team <strong>in</strong>cluded Eugene M. ("Gene") Amdahl (1922-1998), later to<br />

leave IBM to produce the Amdahl range of "IBM-compatible" competitor mach<strong>in</strong>es, <strong>and</strong> the operat<strong>in</strong>g<br />

system was developed by Frederick P. Brooks (1931-). Both Amdahl <strong>and</strong> Brooks had already<br />

contributed to the success of the Stretch system five years previously.<br />

ASIDE: Brooks has s<strong>in</strong>ce been honoured as the father of modern IT Project Management. It was he<br />

who first publicly lamented the fact that computer projects could suck <strong>in</strong> programm<strong>in</strong>g hours like the<br />

proverbial bottomless pit; also of the phrase "the mythical man month" (Brooks, 1975). He was<br />

particularly critical of the tendency for higher management to throw additional staff at problems at the<br />

last m<strong>in</strong>ute, <strong>in</strong> the rather naive belief that this would help. It never does. It takes n<strong>in</strong>e months to<br />

deliver a baby, Brooks expla<strong>in</strong>ed, no matter how many women are assigned to the task! He<br />

was subsequently <strong>in</strong>volved <strong>in</strong> the development of computer graphics <strong>and</strong> natural language process<strong>in</strong>g.<br />

Nevertheless, it was Wilkes' concept of microcode which allowed it all to happen. Remember<strong>in</strong>g the<br />

need for a family of mach<strong>in</strong>es, IBM gave the models at the bottom of the range lots of microcoded<br />

<strong>in</strong>structions <strong>and</strong> a cheap <strong>and</strong> relatively uncomplicated processor, whilst those at the top of the range<br />

were given less microcode (<strong>and</strong> hence ran faster), but needed more expensive processors to<br />

compensate. At the cod<strong>in</strong>g level, however, programs were effectively identical. In other words, it<br />

was f<strong>in</strong>ally dawn<strong>in</strong>g upon computer designers that <strong>in</strong> a world of technical <strong>and</strong> commercial<br />

compromises it was a mach<strong>in</strong>e's "architecture" which determ<strong>in</strong>ed what it had been optimised for,<br />

<strong>and</strong> therefore who was likely to buy it. Thisted (1997/2003 onl<strong>in</strong>e) expla<strong>in</strong>s the issue nicely .....<br />

"A computer architecture is a detailed specification of the computational, communication, <strong>and</strong> data<br />

storage elements (hardware) of a computer system, how those components <strong>in</strong>teract (mach<strong>in</strong>e<br />

organisation), <strong>and</strong> how they are controlled (<strong>in</strong>struction set). The System/360 also precipitated a shift<br />

from the preoccupation of computer designers with computer arithmetic, which had been the ma<strong>in</strong><br />

focus s<strong>in</strong>ce the early 1950s. In the 1970s <strong>and</strong> 1980s, computer architects focused <strong>in</strong>creas<strong>in</strong>gly on the<br />

<strong>in</strong>struction set." (Thisted, 1997/2003 onl<strong>in</strong>e)<br />

We should also note that the System/360 followed Bemer <strong>and</strong> Buchholz's lead [see Section 1.3] <strong>and</strong><br />

st<strong>and</strong>ardised on an 8-bit character code known as "Extended B<strong>in</strong>ary Coded Decimal" (or EBCDIC,<br />

Revised August 5, 2008 Page 117 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

pronounced "ebbsie-dick", for short). This system supports a 256-item character set, us<strong>in</strong>g the codes<br />

00000000 (decimal zero) to 11111111 (decimal 255) <strong>in</strong>clusive, double the capacity of the 7-bit version<br />

of the ASCII system [rem<strong>in</strong>der]. For sake of readability, however, each 8-bit byte was sub-divided <strong>in</strong>to<br />

two 4-bit "nibbles", separately transliterated <strong>in</strong>to hexadecimal. Thus 01001011 (decimal 75) was<br />

treated as 0100 (hexadecimal/decimal 4) followed by 1011 (hexadecimal B, decimal 11), <strong>and</strong> shown<br />

as 4B.<br />

TECHNICAL ASIDE - HEXADECIMAL: Hexadecimal is the base 16 number<strong>in</strong>g system, which means<br />

that each left order <strong>in</strong>teger represents a power of 16 higher than the one to its right. This rather<br />

<strong>in</strong>conveniently means that you need 16 different characters per digit column, <strong>and</strong> so hexadecimal<br />

takes the decimal digits 0 to 9 <strong>in</strong>clusive, <strong>and</strong> extends these by the letters A for decimal 10, B for<br />

decimal 11, C for decimal 12, D for decimal 13, E for decimal 14, <strong>and</strong> F for decimal 15. You cannot go<br />

beyond hexadecimal F, because add<strong>in</strong>g one to F will always "carry one" - thus hexadecimal F<br />

(decimal 15) plus 1 gives hexadecimal 10 (read this as "one zero", not "ten", because <strong>in</strong> hexadecimal<br />

it signifies < one 16 plus no units >), <strong>and</strong> hexadecimal FFF (decimal 4095) plus 1 gives hexadecimal<br />

1000 (read this as "one zero zero zero", not "thous<strong>and</strong>", because <strong>in</strong> hexadecimal it signifies < one 16<br />

to the power 3, no 16 squareds, no 16s, <strong>and</strong> no units >).<br />

1.7 On L<strong>in</strong>e Transaction Process<strong>in</strong>g <strong>and</strong> Time-Shar<strong>in</strong>g<br />

It is important to remember that when the Atlas team <strong>in</strong>vented multiprogramm<strong>in</strong>g [see Section 1.2],<br />

they were not offer<strong>in</strong>g access to multiple "onl<strong>in</strong>e" users. Rather, there was a s<strong>in</strong>gle central mach<strong>in</strong>e<br />

operator - not necessarily a programmer at all - who sat at the computer's control console typ<strong>in</strong>g <strong>in</strong><br />

operat<strong>in</strong>g system comm<strong>and</strong>s (not programm<strong>in</strong>g language). The programmers sat at desks <strong>in</strong> offices<br />

<strong>and</strong> laboratories elsewhere, prepar<strong>in</strong>g their programs as punched card packs <strong>and</strong> submitt<strong>in</strong>g them,<br />

presumably with some form of authoris<strong>in</strong>g documentation, to the operator; <strong>and</strong> the real "end users" of<br />

the software, that is to say, the people who were pay<strong>in</strong>g for it all because they had some press<strong>in</strong>g<br />

need for the results it would br<strong>in</strong>g them, may have been elsewhere still. The Cambridge University<br />

EDSAC, for example, made itself popular across the campus when the Mathematical Laboratory<br />

started to offer a data process<strong>in</strong>g service to other faculties.<br />

How much better would it be, therefore, if a system could support a number of term<strong>in</strong>als <strong>in</strong> addition to<br />

the operator, mak<strong>in</strong>g some of these available for software development, <strong>and</strong> the rest for live<br />

departmental applications [giv<strong>in</strong>g us, of course, the tripartite dist<strong>in</strong>ction between operations,<br />

development, <strong>and</strong> end-use which we showed diagrammatically <strong>in</strong> Part 4 (Figure 1)]. Many m<strong>in</strong>or<br />

advances were made <strong>in</strong> this direction dur<strong>in</strong>g the mid-1950s, but the most famous was "SABRE"<br />

(Semi-Automatic Bus<strong>in</strong>ess-Related Environment), IBM's real-time air ticket<strong>in</strong>g system for American<br />

Airl<strong>in</strong>es, <strong>and</strong> "a model for all po<strong>in</strong>t-of-sale transaction systems to come" (Waldrop, 2001, p75). This<br />

was the birth of the "on-l<strong>in</strong>e transaction process<strong>in</strong>g" (OLTP) type of modern comput<strong>in</strong>g<br />

Key Concept - On-L<strong>in</strong>e Process<strong>in</strong>g: Process<strong>in</strong>g is deemed to be "on-l<strong>in</strong>e" if <strong>and</strong> when the decision<br />

mak<strong>in</strong>g elements of the mach<strong>in</strong>e are free to respond with only a few seconds delay to a particular<br />

enquiry or update. On-l<strong>in</strong>e process<strong>in</strong>g is not available with any form of tabulated card system,<br />

because it is totally impractical to go directly to a particular card <strong>in</strong> a particular card set [see the<br />

paragraphs on "r<strong>and</strong>om access" <strong>in</strong> Section 3.1]; <strong>in</strong>deed <strong>in</strong> this respect, if no other, tabulator systems<br />

were a retrograde step compared to 19th century fil<strong>in</strong>g cab<strong>in</strong>et systems. On-l<strong>in</strong>e process<strong>in</strong>g is<br />

sometime referred to as "on-l<strong>in</strong>e transaction process<strong>in</strong>g" because there is a specific <strong>and</strong> brief<br />

exchange - the "transaction" - between the user <strong>and</strong> the mach<strong>in</strong>e [for a formal def<strong>in</strong>ition, click here].<br />

The OLTP module with<strong>in</strong> an operat<strong>in</strong>g system is known as the "TP Monitor" [Webopedia def<strong>in</strong>ition].<br />

Revised August 5, 2008 Page 118 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

IBM's current TP monitor is its Transaction Process<strong>in</strong>g Facility (TPF), first released <strong>in</strong> 1979. This<br />

evolved out of IBM's Airl<strong>in</strong>e Control Program (ACP), a System/360 project dat<strong>in</strong>g from the mid-1960s,<br />

which was itself heavily <strong>in</strong>fluenced, <strong>in</strong> turn, by the earlier SABRE <strong>and</strong> SAGE systems. Wilkes (1963)<br />

describes the OLTP facilities offered by Ferranti <strong>and</strong> English Electric dur<strong>in</strong>g the 1960s, <strong>and</strong> <strong>in</strong> due<br />

course these evolved <strong>in</strong>to ICL's Transaction Process<strong>in</strong>g Management System (TPMS).<br />

SABRE came about because IBM had spent a lot of time assist<strong>in</strong>g MIT <strong>in</strong> develop<strong>in</strong>g the SAGE air<br />

defence system, <strong>and</strong> it made good sense to leverage these rare skills. The company therefore<br />

contracted with American to look <strong>in</strong>to the seat reservation problem <strong>in</strong> 1957, <strong>and</strong> by March 1959 a<br />

specification had been agreed. Detailed development then lasted another three years <strong>and</strong> cost an<br />

estimated $30 million. The pilot [no pun <strong>in</strong>tended] version of the system was <strong>in</strong>stalled <strong>in</strong> 1962, runn<strong>in</strong>g<br />

on an IBM 7090, fitted with "front-end processors" to h<strong>and</strong>le the data communications process<strong>in</strong>g<br />

load .....<br />

Key Concept - "Front-End Processors" <strong>and</strong> "Cluster Controllers": A "front-end processor" is a<br />

small computer designed to extend ma<strong>in</strong>frame <strong>in</strong>put/output channels outwards onto a data<br />

communications network. A "cluster controller", on the other h<strong>and</strong>, is a small computer designed to<br />

extend a data communications network onwards onto the <strong>in</strong>put/output channels of a number of<br />

remotely located access term<strong>in</strong>als. As to the software needed to manage all this, see firstly the <strong>in</strong>dent<br />

on "Network Protocols" below, <strong>and</strong> then Section 3.2.<br />

We must not forget that an air ticket<strong>in</strong>g system is an end-user system - it provides a user-friendly (for<br />

its day) application system to travel agency personnel, who, needless to say, write no code. Back at<br />

MIT, meanwhile, they had been mak<strong>in</strong>g an altogether different po<strong>in</strong>t, look<strong>in</strong>g at fully-fledged "timeshar<strong>in</strong>g",<br />

<strong>and</strong> here we aga<strong>in</strong> meet the psychologist-<strong>in</strong>-comput<strong>in</strong>g J.C.R. ("Lick") Licklider (1915-1990).<br />

Now we have already heard [see Part 4 (Section 1.1)] how Licklider had jo<strong>in</strong>ed Bolt, Beranek, <strong>and</strong><br />

Newman, a firm of Cambridge, MA, acoustics consultants, <strong>in</strong> 1957. While he was there, he helped<br />

them exp<strong>and</strong> <strong>in</strong>to software eng<strong>in</strong>eer<strong>in</strong>g, earn<strong>in</strong>g the (unofficial) title of "Cambridge's third university"<br />

(after Harvard <strong>and</strong> MIT) <strong>in</strong>to the barga<strong>in</strong>. While thus engaged, he soon became conv<strong>in</strong>ced that it was<br />

only a matter of time <strong>and</strong> good design before properly tra<strong>in</strong>ed operators would be able to hold a<br />

conversation of sorts with their CPUs. The concept was given the technical thumbs up by IBM's Bob<br />

Bemer <strong>in</strong> 1957, <strong>and</strong> one of the first to start work was the same John McCarthy whom we <strong>in</strong>troduced <strong>in</strong><br />

Part 4 (Section 4.7). The first large time-shar<strong>in</strong>g system was MIT's "Compatible Time-Shar<strong>in</strong>g<br />

System" (CTSS) <strong>in</strong> 1961.<br />

Key Concept - Time-Shar<strong>in</strong>g <strong>and</strong> Related Concepts: "Time-shar<strong>in</strong>g is an approach to <strong>in</strong>teractive<br />

comput<strong>in</strong>g <strong>in</strong> which a s<strong>in</strong>gle computer is used to provide apparently simultaneous <strong>in</strong>teractive generalpurpose<br />

comput<strong>in</strong>g to multiple users by shar<strong>in</strong>g processor time" (Wikipedia, 2003). Time-shar<strong>in</strong>g is<br />

made possible by the fact that humans type slowly at the best of times, <strong>and</strong> even more slowly when<br />

they have to keep stopp<strong>in</strong>g to th<strong>in</strong>k. So when User A is busy, the odds are that Users B <strong>and</strong> C are<br />

momentarily <strong>in</strong>active. It was <strong>in</strong> environments such as that provided by CTSS that programmers were<br />

first called upon to edit their own programs at their term<strong>in</strong>als, rather than plott<strong>in</strong>g them out characterby-character<br />

on cod<strong>in</strong>g sheets for punch<strong>in</strong>g elsewhere. It is also when the dist<strong>in</strong>ction between<br />

"foreground" <strong>and</strong> "background" process<strong>in</strong>g emerged. To run a program "<strong>in</strong> foreground" is to have<br />

it <strong>in</strong> constant communication with the <strong>in</strong>itiat<strong>in</strong>g user term<strong>in</strong>al. This has the advantage that output can<br />

be <strong>in</strong>spected as it appears, but the disadvantage that it effectively locks out the term<strong>in</strong>al for the<br />

duration of the program. Foreground process<strong>in</strong>g is therefore reserved for <strong>in</strong>teractive work, or for short<br />

programs. All other work is processed "<strong>in</strong> background", with messages be<strong>in</strong>g routed to a job log file,<br />

rather than to the user term<strong>in</strong>al. All the user gets to see is a s<strong>in</strong>gle prompt<strong>in</strong>g message at the end of<br />

Revised August 5, 2008 Page 119 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

run, whereupon s/he can check the job log to see if there were any problems. The dist<strong>in</strong>ction is readily<br />

demonstrated by the fact that readers of this paragraph will be able to pr<strong>in</strong>t it off <strong>in</strong> background while<br />

cont<strong>in</strong>u<strong>in</strong>g to read it <strong>in</strong> foreground.<br />

There then followed an extraord<strong>in</strong>ary convergence of <strong>in</strong>terests, with civilian systems like SABRE <strong>and</strong><br />

CTSS suddenly need<strong>in</strong>g the sort of technology developed for military comm<strong>and</strong> <strong>and</strong> control systems<br />

such as SAGE, <strong>and</strong> the military suddenly need<strong>in</strong>g to know more about human factors. In 1962, this<br />

earned Licklider a move to the Pentagon's Advanced Research Projects Agency (ARPA) to help<br />

develop their Information Process<strong>in</strong>g Techniques Office (IPTO). Here he cont<strong>in</strong>ued his work on<br />

distributed systems, putt<strong>in</strong>g forward a number of detailed proposals to raise what would now be called<br />

the "connectivity" of the hardware then <strong>in</strong> use [more on connectivity <strong>in</strong> Section 3.2]. When Licklider<br />

left ARPA <strong>in</strong> 1963, he left the conceptual design to be fleshed out <strong>and</strong> made to work by his successor,<br />

Robert Taylor, under the name ARPANET. Taylor chose a young eng<strong>in</strong>eer named Larry Roberts to<br />

head the project, <strong>and</strong> the first problem to be resolved had to be the compatibility problem, because<br />

computers from the same manufacturer often could not <strong>in</strong>tercommunicate, <strong>and</strong> computers from<br />

different manufacturers never. The solution came <strong>in</strong> two stages, namely (a) to build a "subnetwork"<br />

of telephone l<strong>in</strong>es <strong>and</strong> switch<strong>in</strong>g po<strong>in</strong>ts, <strong>and</strong> (b) to create communication "protocols" .....<br />

Key Concept - "Network Protocols": Network protocols are st<strong>and</strong>ard methods of (a) authenticat<strong>in</strong>g<br />

which stations should actually be <strong>in</strong> a network, (b) identify<strong>in</strong>g which station a message is to be routed<br />

to, (c) govern<strong>in</strong>g when, <strong>and</strong> at what speeds, stations are allowed to transmit <strong>and</strong> receive, (d)<br />

arrang<strong>in</strong>g for data compression <strong>and</strong> decompression, <strong>and</strong> (e) detect<strong>in</strong>g errors <strong>in</strong> transmission <strong>and</strong><br />

arrang<strong>in</strong>g for their correction. Nowadays, there are many highly technical network protocols <strong>in</strong> force,<br />

published by such agencies as the International St<strong>and</strong>ards Organisation, but the Open Systems<br />

Interconnection (OSI) Reference Model coord<strong>in</strong>ates them all. It is a reasonably non-technical<br />

overrid<strong>in</strong>g guidel<strong>in</strong>e, <strong>and</strong> it recommends a seven-layered analysis for any given communication, with<br />

the physical channel (the wire, etc.) consigned to the lowest level, <strong>and</strong> each layer communicat<strong>in</strong>g<br />

logically (but not physically) with the match<strong>in</strong>g decod<strong>in</strong>g layer(s) at other node(s). This type of<br />

arrangement is known as "peer-to-peer communication" (G<strong>and</strong>off, 1990). [IBM's OSI-compliant<br />

network<strong>in</strong>g system, SNA, is described <strong>in</strong> Section 3.2].


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Licklider rounded off his personal contribution by author<strong>in</strong>g a number of <strong>in</strong>fluential papers profil<strong>in</strong>g the<br />

sort of knowledge <strong>in</strong>terrogation software which Internet search eng<strong>in</strong>es have s<strong>in</strong>ce made<br />

commonplace.<br />

1.8 The BTM-Ferranti <strong>and</strong> English Electric Stables<br />

In Part 4, we <strong>in</strong>troduced the British Tabulat<strong>in</strong>g Mach<strong>in</strong>e Company (BTM) as "British Hollerith", holders<br />

of the British punched card licence (signed by Hollerith himself) s<strong>in</strong>ce 1909 (Humphreys, 1997/2003<br />

onl<strong>in</strong>e). Now just as IBM were arch-rivals with the Rem<strong>in</strong>gton Corporation for the primary cardprocess<strong>in</strong>g<br />

patents, so, too, were BTM <strong>and</strong> the Powers-Samas Company arch-rivals as the respective<br />

British licencees. However, rather than slug it out as IBM <strong>and</strong> Rem<strong>in</strong>gton had done, the two British<br />

licencees merged <strong>in</strong> 1959 to become International Computers <strong>and</strong> Tabulators (ICT). Their first jo<strong>in</strong>t<br />

product was the 1962 1MHz, all-transistor, ICT 1301 [picture], complete with magnetic drum back<strong>in</strong>g<br />

store <strong>and</strong> programmed (at least <strong>in</strong> the early versions) <strong>in</strong> mach<strong>in</strong>e code [specimen cod<strong>in</strong>g sheet]. In<br />

1963, a 1301 was the first ma<strong>in</strong>frame to be used by the Metropolitan Police, <strong>and</strong> a decade or so later<br />

it was not unknown for scrapped systems to be bought up by television production companies for use<br />

as scenery <strong>in</strong> science fiction programs [example].<br />

The 1301, however, was soon obsolete, <strong>and</strong> the Manag<strong>in</strong>g Director of the new company, Cecil Mead,<br />

had the strategic vision of br<strong>in</strong>g<strong>in</strong>g all British computer <strong>in</strong>terests together under one roof. Negotiations<br />

duly began, <strong>and</strong> by 1963 ICT had acquired the comput<strong>in</strong>g divisions of GEC, EMI, <strong>and</strong> Ferranti, <strong>and</strong>,<br />

consequently, the job of try<strong>in</strong>g to sell "the largest ragbag of <strong>in</strong>compatible computers it was possible to<br />

imag<strong>in</strong>e" (Humphreys, 1997/2002 onl<strong>in</strong>e). The acquisition of the Ferranti <strong>in</strong>terests was a particularly<br />

good deal, because Ferranti brought with them their br<strong>and</strong> new FP6000 [courtesy of their Canadian<br />

subsidiary, Ferranti Packard], a mach<strong>in</strong>e with everyth<strong>in</strong>g good about Pegasus <strong>and</strong> Atlas <strong>in</strong> its<br />

bloodstock. Devonald <strong>and</strong> Eldridge (1996/2003 onl<strong>in</strong>e) recall how they were part of the work<strong>in</strong>g party<br />

which exam<strong>in</strong>ed the Canadian system on behalf of Ferranti UK, <strong>and</strong> drew up a report identify<strong>in</strong>g<br />

where still further improvements could be made. In the event, they were not a moment too soon .....<br />

"..... <strong>in</strong> April 1964, the whole economic basis of the <strong>in</strong>dustry was transformed by the announcement of<br />

the IBM System/360 range of third-generation computers. It was estimated that the R & D spend for<br />

System/360 was of the order of $5 billion. At this po<strong>in</strong>t, all the ma<strong>in</strong>frame manufacturers world-wide<br />

were forced <strong>in</strong>to announc<strong>in</strong>g computer ranges of comparable performance." (Campbell-Kelly,<br />

1990/2003 onl<strong>in</strong>e)<br />

The FP6000 rapidly got the improvements Devonald <strong>and</strong> Eldridge had suggested, was renamed the<br />

1900-series, <strong>and</strong> was announced <strong>in</strong> September 1964. The 1900 series did most th<strong>in</strong>gs right, <strong>and</strong><br />

enjoyed considerable success at the heavy end of the British commercial ma<strong>in</strong>frame market, before<br />

be<strong>in</strong>g upgraded <strong>in</strong> the late 1970s to the 2900-series, runn<strong>in</strong>g the VME virtual mach<strong>in</strong>e operat<strong>in</strong>g<br />

system [more on which <strong>in</strong> Section 3.3].<br />

As for Elliott Automation, their 400-Series mach<strong>in</strong>es had, follow<strong>in</strong>g a strategic alliance with the NCR<br />

Corporation, actually outsold IBM for a while, <strong>and</strong> the company was encouraged to experiment with a<br />

transistorised upgrade. This project was led by the designer of the 405, Andrew St. Johnston, together<br />

with John Bunt <strong>and</strong> Roger Cook, <strong>and</strong> the result was the 800-Series. The first of these, the rangedef<strong>in</strong><strong>in</strong>g<br />

Elliott 801 prototype <strong>and</strong> the experimental 802 did not go <strong>in</strong>to mass production, but around<br />

250 of the 1962 all-transistor Elliott 803 were produced, three of which are currently <strong>in</strong> various stages<br />

of restoration, one at Bletchley Park, spiritual home of British comput<strong>in</strong>g [details].<br />

Revised August 5, 2008 Page 121 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Lyons, too, put together a third generation upgrade to their earlier range. This was the LEO III, <strong>and</strong> it<br />

came complete with both microprogramm<strong>in</strong>g [see Section 1.1] <strong>and</strong> multiprogramm<strong>in</strong>g [see Section<br />

1.2]. Here is how it was received .....<br />

"There was no question that LEO III was a groundbreak<strong>in</strong>g mach<strong>in</strong>e, <strong>and</strong> its later successes<br />

confirmed John P<strong>in</strong>kerton's status as a computer designer of genius. Nonetheless, its <strong>in</strong>troduction to<br />

the world was fatally hampered by mismanagement. As with LEO II, the design team work<strong>in</strong>g on LEO<br />

III was ludicrously understaffed - Peter Bird quotes a figure of just six people, compared with the<br />

armies develop<strong>in</strong>g new mach<strong>in</strong>es at IBM. [As a result] despite the excellence of the product, says<br />

David Cam<strong>in</strong>er, sell<strong>in</strong>g it was still a problem." (Ferry, 2003, p166)<br />

In November 2001, one of the orig<strong>in</strong>al LEO systems men, David Cam<strong>in</strong>er, spoke at the IEE's Guildhall<br />

Conference for Bus<strong>in</strong>ess Leaders, London, on the prospects for bus<strong>in</strong>ess comput<strong>in</strong>g as it celebrated<br />

its 50th birthday <strong>and</strong> looked forward to its second half century. His ma<strong>in</strong> criticism of his former<br />

employers was that they had not exposed their IT division to the harsh f<strong>in</strong>ancial realities of computer<br />

development (he expla<strong>in</strong>s that the developers tended to look upon the parent company as their "sugar<br />

daddy"). This oversight f<strong>in</strong>ally caught them out when the LEO 3 project ran short of cash <strong>in</strong> 1961, <strong>and</strong><br />

<strong>in</strong> 1963 Lyons sold LEO to English Electric. Then the System/360s started to arrive <strong>in</strong> numbers,<br />

another round of rationalisations followed, <strong>and</strong> by 1967 Elliott Automation <strong>and</strong> Marconi had followed<br />

LEO <strong>in</strong>to the English Electric fold. F<strong>in</strong>ally, <strong>in</strong> July 1968, English Electric <strong>and</strong> ICT merged to form<br />

International Computers Ltd (ICL). Suddenly, the future of British comput<strong>in</strong>g, to say noth<strong>in</strong>g of ICL's<br />

34,000 employees, was subject to the strategic steer of a s<strong>in</strong>gle board of directors. As to why it had all<br />

gone so wrong, Usselman (1993/2003 onl<strong>in</strong>e) may have one of the answers .....<br />

"Another problem BTM faced was that it stood outside the university research establishment. This was<br />

true <strong>in</strong>itially of IBM <strong>in</strong> the United States as well, but after the war that changed under the <strong>in</strong>fluence of<br />

the liberally funded, procurement-driven American military. In the U.S., moreover, universities <strong>and</strong><br />

government had never established very firm connections, so IBM <strong>and</strong> other corporations faced little<br />

resistance from entrenched <strong>in</strong>terests. In Brita<strong>in</strong>, however, universities <strong>and</strong> government had<br />

established close l<strong>in</strong>ks by the time of the war, with bus<strong>in</strong>ess drawn <strong>in</strong>to the alliance only through the<br />

mediat<strong>in</strong>g agency of the consult<strong>in</strong>g eng<strong>in</strong>eer. After the war, Brita<strong>in</strong>'s much smaller defence budget did<br />

not have the strength to dissolve those traditional bonds. University research rema<strong>in</strong>ed closely tied to<br />

government <strong>and</strong> the military. This skewed efforts away from development <strong>and</strong> manufactur<strong>in</strong>g.[citation]<br />

In the specific case of comput<strong>in</strong>g, this had the effect of keep<strong>in</strong>g Brita<strong>in</strong>'s remarkable code-break<strong>in</strong>g<br />

mach<strong>in</strong>es <strong>and</strong> the pioneer<strong>in</strong>g computers developed at Manchester University separate from BTM <strong>and</strong><br />

other manufacturers. In 1949, moreover, BTM severed its ties to IBM, thus depriv<strong>in</strong>g itself of ready<br />

access to an alternative source of computer designs."<br />

1.9 Mach<strong>in</strong>e Translation <strong>and</strong> Semantic Networks, 1959 to 1970<br />

The period 1959 to 1970 saw few real advances <strong>in</strong> the world of mach<strong>in</strong>e translation, with those who<br />

believed the technology had a future fac<strong>in</strong>g cont<strong>in</strong>ued (<strong>and</strong> at times strident) criticism from those who<br />

did not. The arch-realist Yehoshua Bar-Hillel pronounced judgement on the context issue, for example,<br />

thus .....<br />

"Fully automatic, high quality translation is not a reasonable goal, not even for scientific texts. A<br />

human translator, <strong>in</strong> order to arrive at his high quality output, is often obliged to make <strong>in</strong>telligent use of<br />

extra-l<strong>in</strong>guistic knowledge which sometimes has to be of considerable breadth <strong>and</strong> depth. Without this<br />

knowledge he would often be <strong>in</strong> no position to resolve semantical ambiguities. At present no way of<br />

Revised August 5, 2008 Page 122 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

construct<strong>in</strong>g mach<strong>in</strong>es with such a knowledge is known, nor of writ<strong>in</strong>g programs which will ensure<br />

<strong>in</strong>telligent use of this knowledge." (Bar-Hillel, 1960, p135)<br />

There was also an overdue touch of realism on the fund<strong>in</strong>g side of th<strong>in</strong>gs. In 1964, the US<br />

government set up the Automatic Language Process<strong>in</strong>g Advisory Committee (ALPAC), to report on<br />

progress with automatic <strong>in</strong>telligence gather<strong>in</strong>g from Russian documents, <strong>and</strong> its 1966 report on the<br />

long-term prospects for MT was very negative. It concluded that MT was "slower, less accurate, <strong>and</strong><br />

twice as expensive as human translation" (Hutch<strong>in</strong>s, 2003 onl<strong>in</strong>e), <strong>and</strong> observed that it would be a lot<br />

cheaper for the analysts <strong>in</strong>volved to go away <strong>and</strong> learn Russian the old-fashioned way!<br />

Bar-Hillel also led the negative press for semantic networks, although here he seems to be hedg<strong>in</strong>g<br />

his bets somewhat. Here are his conclusions re the CLRU's [see Part 4 (Section 4.1)] Lattice<br />

Theory .....<br />

"Now Lattice Theory is the theory of a structure which is so general that one should not be surprised<br />

to f<strong>in</strong>d it embodied <strong>in</strong> many actual situations. There can also be no doubt that lattice theory [.....] can<br />

be applied to l<strong>in</strong>guistic <strong>in</strong>vestigations though I am not aware of any new <strong>in</strong>sights ga<strong>in</strong>ed so far by such<br />

applications. The applications made by the Cambridge group of their lattice-theoretical approach,<br />

<strong>in</strong>asmuch as they are valid, are only reformulations <strong>in</strong> a different symbolism of th<strong>in</strong>gs that were said<br />

<strong>and</strong> done many times before." (Bar-Hillel, 1960, p122)<br />

So basically it was down to the network-philes to respond to this challenge by demonstrat<strong>in</strong>g some<br />

genu<strong>in</strong>e "new <strong>in</strong>sights", <strong>and</strong> as the 1960s got under way they set out to do just that. One of the first to<br />

report was Silvio Ceccato (1914-1997). In two l<strong>in</strong>guistically highly technical papers (Ceccato, 1961,<br />

1967), Ceccato developed the idea of the "correlational net". Ceccato was concerned with the<br />

relationships established between mental constructions, be they perceived th<strong>in</strong>gs (ie. nouns), or done<br />

th<strong>in</strong>gs (ie. verbs), or whatever. Such constructions, when comb<strong>in</strong>ed <strong>in</strong> some way, require that "the<br />

mental category of relationship comes about" (Ceccato, 1961, p91), <strong>and</strong> thought itself is "precisely an<br />

open<strong>in</strong>g <strong>and</strong> clos<strong>in</strong>g of correlations" (p94). The node-to-node relationships with<strong>in</strong> a semantic network<br />

are thus more important to thought <strong>and</strong> language than the mass of at-the-nodes "microknowledge"<br />

[our term]. This is an important po<strong>in</strong>t, <strong>and</strong> we shall be hear<strong>in</strong>g a lot more about relationships<br />

<strong>and</strong> nodes when we get to Section 3.1.<br />

Another ex-CLRU member, Michael A.K. Halliday, went on to develop "systemic functional<br />

grammar", a l<strong>in</strong>guistic theory based on lots of programmer-friendly decision trees called "systems"<br />

[we recommend Graham Wilcock's <strong>in</strong>troduction to this subject], <strong>and</strong> generally to promote the<br />

structure-vs-function dist<strong>in</strong>ction with<strong>in</strong> l<strong>in</strong>guistics (eg. Halliday, 1970). Halliday also met with<br />

Berkeley's Sydney M. Lamb, <strong>and</strong> helped develop the latter's "relational network" (Copel<strong>and</strong>, 2000)<br />

[more on which <strong>in</strong> Section 3.9], <strong>and</strong> <strong>in</strong>fluenced the shape of W<strong>in</strong>ograd's SHRDLU software [see<br />

Section 1.12].<br />

The late 1960s also saw the first publications <strong>in</strong> a series of now-classical studies <strong>in</strong> cognitive<br />

psychology. The lead worker here was W. Ross Quillian, <strong>and</strong> the major papers are Quillian (1968)<br />

<strong>and</strong> Coll<strong>in</strong>s <strong>and</strong> Quillian (1969). What Quillian did was carry out a response time analysis of true-orfalse<br />

statements of the form , , , etc. The po<strong>in</strong>t which emerged was that some of the th<strong>in</strong>gs we know about canaries (etc.)<br />

seem to derive NOT from the fact that it is a canary, but from the fact that it is a bird, that is to say,<br />

from properties at a "superord<strong>in</strong>ate" conceptual node <strong>in</strong> a multi-layered "conceptual hierarchy".<br />

The team then drew an explanatory diagram [picture], which identifies both nodal <strong>and</strong> supranodal<br />

Revised August 5, 2008 Page 123 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

properties (ie. "<strong>in</strong>heritance"), <strong>and</strong> <strong>in</strong> which there is a broad correlation between knowledge access<br />

time <strong>and</strong> distance to travel with<strong>in</strong> the hierarchy, both vertically <strong>and</strong> horizontally.<br />

1.10 The Tur<strong>in</strong>g Test, 1959 to 1970<br />

Although the Tur<strong>in</strong>g Test dates from 1950, it was not until the early third generation systems that<br />

academics had access to sufficient comput<strong>in</strong>g power to try their luck at it. The best known of the first<br />

wave efforts was by MIT's Joseph Weizenbaum .....<br />

BIOGRAPHICAL ASIDE - JOSEPH WEIZENBAUM: Joseph Weizenbaum (1923-) was born <strong>in</strong> Berl<strong>in</strong><br />

but became a US citizen <strong>in</strong> 1952. He tra<strong>in</strong>ed as a systems eng<strong>in</strong>eer at Wayne University <strong>in</strong> the early<br />

1950s, <strong>and</strong> after experience with analog computation was headhunted by General Electric. He jo<strong>in</strong>ed<br />

MIT <strong>in</strong> 1963.<br />

In 1964, Weizenbaum started to develop a computer program "with which one could 'converse' <strong>in</strong><br />

English" over a teletype l<strong>in</strong>k (Weizenbaum, 1976/1984, p2). Remember<strong>in</strong>g that it had been Eliza<br />

Doolittle's [picture] fate <strong>in</strong> "My Fair Lady" to perform a range of l<strong>in</strong>guistic party pieces, Weizenbaum<br />

wittily named this program ELIZA. To get ELIZA to work, the program needed to be primed with a<br />

"script", "a set of rules rather like those that might be given to an actor who is to use them to improvise<br />

around a certa<strong>in</strong> theme" (op. cit., p3). For Weizenbaum's first experiment, he turned ELIZA <strong>in</strong>to<br />

DOCTOR, by giv<strong>in</strong>g it a script to allow it to "parody" a Rogerian psychotherapist. To see a sample<br />

<strong>in</strong>teraction, click here.<br />

Now Eliza's secret was that "she" was simply rephras<strong>in</strong>g <strong>in</strong>put statements as questions! Here is the<br />

how the trick worked .....<br />

"The gross procedure of the program is quite simple; the text is read <strong>and</strong> <strong>in</strong>spected for the presence<br />

of a keyword. If such a word is found, the sentence is transformed accord<strong>in</strong>g to a rule associated with<br />

the keyword, if not a content-free remark or, under certa<strong>in</strong> circumstances, am earlier transformation is<br />

retrieved. The text so computed or retrieved is then pr<strong>in</strong>ted out. [..... For example,] any sentence of<br />

the form 'I am BLAH' can be transformed to 'How long have you been BLAH', <strong>in</strong>dependently of the<br />

mean<strong>in</strong>g of BLAH." (Weizenbaum, 1966, p37)<br />

After several years of experience with his software, Weizenbaum concluded that it would never be<br />

possible to computerise language without first solv<strong>in</strong>g the problem of language context. ELIZA had<br />

little to say about the potential for computer underst<strong>and</strong><strong>in</strong>g of natural language, <strong>and</strong> Weizenbaum was<br />

surprised that anybody would th<strong>in</strong>k that it did (although he was justifiably proud that his software was<br />

able to ma<strong>in</strong>ta<strong>in</strong> the illusion of underst<strong>and</strong><strong>in</strong>g with so little mach<strong>in</strong>ery). With much the same sense of<br />

sadness <strong>and</strong> surprise, he also noted "how quickly <strong>and</strong> how very deeply people convers<strong>in</strong>g with<br />

DOCTOR become emotionally <strong>in</strong>volved with the computer <strong>and</strong> how unequivocally they<br />

anthropomorphised it" (op. cit., p6). (And, anecdotally, he was certa<strong>in</strong> that some of his colleagues -<br />

despite know<strong>in</strong>g full well that they were convers<strong>in</strong>g with a mach<strong>in</strong>e - nonetheless started tell<strong>in</strong>g<br />

DOCTOR their deeper secrets!)<br />

Another early contender for the Tur<strong>in</strong>g Test prize was PARRY, a program produced by a Stanford<br />

University team led by the psychiatrist Kenneth M. Colby. The clever th<strong>in</strong>g about PARRY was that its<br />

creators (psychiatrists, remember) had made it ever so slightly paranoid. Its "conversation" was<br />

Revised August 5, 2008 Page 124 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

therefore full of lifelike but rather cynical observations on the unfairness of life. Here are some of the<br />

software's typical carefully prepared answers .....<br />

<br />

<br />

By deliberately play<strong>in</strong>g on the <strong>in</strong>terrogator's emotions <strong>in</strong> this way, PARRY could be rather conv<strong>in</strong>c<strong>in</strong>g<br />

as to its <strong>in</strong>ner humanity, <strong>and</strong> some of the shorter exchanges are decidedly humanlike. On the other<br />

h<strong>and</strong>, so they should be, because they were orig<strong>in</strong>ally devised by the programmer <strong>and</strong> stored as<br />

entire phrases - no word-by-word sentence build<strong>in</strong>g was <strong>in</strong>volved, merely whole-sentence output<br />

selection. As it happens, PARRY would have been well with<strong>in</strong> its rights to compla<strong>in</strong>, because no<br />

sooner had its programm<strong>in</strong>g team showed that progress could be made, than the Tur<strong>in</strong>g Test's basic<br />

premise started to be challenged, <strong>and</strong> more str<strong>in</strong>gent tests proposed []. Reader (1969) was one of the first to propose tighten<strong>in</strong>g the<br />

requirements of the Tur<strong>in</strong>g Test, <strong>and</strong> other more recent criticisms are reviewed <strong>in</strong> Section 3.11.<br />

And now, for someth<strong>in</strong>g completely different, why not give the Tur<strong>in</strong> Test a try?<br />

1.11 Neural Networks, 1959 to 1970<br />

In Part 4 (Section 4.5), we saw how Rosenblatt's Perceptron had set the early st<strong>and</strong>ard for artificial<br />

neuron studies. Not surpris<strong>in</strong>gly, there were many imitators, <strong>and</strong> another early pattern recognition<br />

mach<strong>in</strong>e, Oliver Selfridge's (1959) p<strong>and</strong>emonium, went back to the first pr<strong>in</strong>ciples of perceptual<br />

theory for its <strong>in</strong>spiration. Selfridge anticipated Marr's (1982) theory of perceptual stages by identify<strong>in</strong>g<br />

four successive "layers" of image analysis, each deploy<strong>in</strong>g a network of small neural elements to act<br />

<strong>in</strong> parallel to analyse some particular feature (a l<strong>in</strong>e or edge contour, say) of an <strong>in</strong>com<strong>in</strong>g ret<strong>in</strong>al image.<br />

The output from each level of analysis then became the <strong>in</strong>put to the level of analysis immediately<br />

above. The metaphors of demons <strong>and</strong> clamour come from Selfridge's description of activated<br />

elements as "shriek<strong>in</strong>g" for attention from above. F<strong>in</strong>ally, a particular pattern of activation will prompt a<br />

high level "decision demon" to hazard a guess as to the identity of the external stimulus [Boeree<br />

(2003 onl<strong>in</strong>e) talks us through some useful worked examples of this process, if <strong>in</strong>terested].<br />

TRE's Albert Uttley was also still active <strong>in</strong> this area. Hav<strong>in</strong>g played with mathematical predictions of<br />

dendrite density <strong>and</strong> the like [see Part 4 (Section 4.5)], he went on to model the process of neuronal<br />

maturation <strong>in</strong> the human <strong>in</strong>fant's bra<strong>in</strong> (Uttley, 1959). He identified two separate, but complementary,<br />

basic processes, firstly the strengthen<strong>in</strong>g of connections which were conditionally relevant to the<br />

system's current needs, <strong>and</strong> secondly the active deletion of those which were not. Subsequent<br />

microanatomical studies have proved him right, for by <strong>and</strong> large nature takes no chances when<br />

putt<strong>in</strong>g nervous systems together: far more neuroblasts are produced than are needed, <strong>and</strong> cells<br />

which fail to migrate or pathf<strong>in</strong>d are simply allowed to die off. Indeed, accord<strong>in</strong>g to Levitan <strong>and</strong><br />

Kaczmarek (1991:305), "as many as three quarters of the neurons dest<strong>in</strong>ed for a specific neuronal<br />

pathway may die dur<strong>in</strong>g early embryonic development".<br />

All <strong>in</strong> all, however, the early perceptrons were <strong>in</strong>tr<strong>in</strong>sically very simple mach<strong>in</strong>es, <strong>and</strong>, when put to the<br />

test, did not really work that well. The purse str<strong>in</strong>gs gradually tightened, <strong>and</strong> <strong>in</strong> 1969 Marv<strong>in</strong> M<strong>in</strong>sky<br />

Revised August 5, 2008 Page 125 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> Seymour Papert of the <strong>Artificial</strong> <strong>Intelligence</strong> Laboratory at MIT published a book entitled<br />

"Perceptrons" <strong>in</strong> which they threw serious doubt on how much such devices would ever be able to<br />

achieve. Fund<strong>in</strong>g duly collapsed, research teams were redeployed, <strong>and</strong> th<strong>in</strong>gs went quiet for a<br />

decade or so [to go straight to the story of the rebirth of the perceptron <strong>in</strong> the guise of the modern<br />

neural network, jump to Section 3.6].<br />

1.12 Mach<strong>in</strong>e Chess <strong>and</strong> Problem Solv<strong>in</strong>g, 1959 to 1970<br />

The 1960s were a period of consolidation for the developers of chess play<strong>in</strong>g software, <strong>and</strong> <strong>in</strong> 1966<br />

Richard Greenblatt's MacHack was blooded <strong>in</strong> the Massachussetts Amateur Chess Championship,<br />

where it lost four matches <strong>and</strong> drew one. It returned <strong>in</strong> improved form the follow<strong>in</strong>g year, <strong>and</strong> became<br />

the first program to defeat a human champion (Wall, 2003 onl<strong>in</strong>e). As for mach<strong>in</strong>e problem solv<strong>in</strong>g <strong>in</strong><br />

its more general form, the thrust was beg<strong>in</strong>n<strong>in</strong>g to shift away from attempts to simulate mathematical<br />

reason<strong>in</strong>g, <strong>and</strong> towards the mysteries of natural language process<strong>in</strong>g <strong>in</strong>stead. Thus when the "Advice<br />

Taker" program was proposed by McCarthy (1959/2003 onl<strong>in</strong>e), it attempted to solve problems by<br />

process<strong>in</strong>g natural language statements, that is to say, its behaviour was designed to "be improvable<br />

merely by mak<strong>in</strong>g statements to it, tell<strong>in</strong>g it about its symbolic environment <strong>and</strong> what is wanted from it".<br />

Which yet aga<strong>in</strong> br<strong>in</strong>gs us back to the science of l<strong>in</strong>guistics, for what this new approach brought with it<br />

was the need for software capable of "pars<strong>in</strong>g" a sentence .....<br />

KEY CONCEPT/SKILL - "PARSING": To "parse" a sentence is "to resolve [it] <strong>in</strong>to its component<br />

parts of speech <strong>and</strong> describe them grammatically" (OED). Alternatively, it is an attempt to identify<br />

"what may be called the structure of a sentence" (Banerji, 1966, p83).<br />

Unfortunately, l<strong>in</strong>guists have not always agreed amongst themselves how best to go about pars<strong>in</strong>g,<br />

<strong>and</strong> it was over ten years before anyth<strong>in</strong>g really impressive came along. The honour here has to go to<br />

Terry W<strong>in</strong>ograd, then of MIT's <strong>Artificial</strong> <strong>Intelligence</strong> Laboratory, who wrote a parser called "SHRDLU"<br />

as part of his 1968 to 1970 PhD studies (W<strong>in</strong>ograd, 1970, cited <strong>in</strong> Weizenbaum, 1976/1984). This<br />

program engaged its human operator <strong>in</strong> a textual dialogue, concern<strong>in</strong>g a screen display of apparently<br />

three-dimensional solid blocks [picture <strong>and</strong> example dialogue]. The comm<strong>and</strong>s <strong>and</strong> questions were<br />

analysed for l<strong>in</strong>guistic structure - the pars<strong>in</strong>g - <strong>and</strong> then applied to the mach<strong>in</strong>e's mental model of this<br />

three-dimensional world. Thus was successfully parsed <strong>and</strong><br />

understood as VERB (IMPERATIVE) rather than, say, , ADJECTIVE <br />

rather than , ADJECTIVE rather than or , <strong>and</strong> so on. However,<br />

the process of relat<strong>in</strong>g each word to its "referent" (object or action) <strong>in</strong> the real world moves beyond<br />

the syntactic nature of the word to the semantic, <strong>and</strong> gradually drew W<strong>in</strong>ograd <strong>in</strong>to the world of the<br />

semantic network, forc<strong>in</strong>g him to build a "cognitive-deductive" ability <strong>in</strong>to his software, as evidenced<br />

by the follow<strong>in</strong>g exchange .....<br />

CAN A PYRAMID BE SUPPORTED BY A BLOCK?<br />

YES.<br />

CAN A PYRAMID SUPPORT A PYRAMID?<br />

I DON'T KNOW.<br />

Revised August 5, 2008 Page 126 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

SHRDLU could also cope with basic "pronoun resolution" tasks, <strong>and</strong> respond with a request for<br />

clarification when it was unsure .....<br />

FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT<br />

IT INTO THE BOX.<br />

BY 'IT', I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I<br />

AM HOLDING.<br />

Requests for clarification such as this are commonplace <strong>in</strong> human verbal <strong>in</strong>teraction, but require<br />

highly sophisticated psychol<strong>in</strong>guistic process<strong>in</strong>g, often <strong>in</strong>volv<strong>in</strong>g common sense cues or reference to<br />

earlier sentences.<br />

The SHRDLU software is available for immediate electronic download, by courtesy of the people at<br />

www.semaphorecorp.com. Click here, if <strong>in</strong>terested, or here for more on "Project SHRDLU", an<br />

attempt by afficionados of the software at the University of Missouri at Rolla to port it from its orig<strong>in</strong>al<br />

implementation language, MacLisp, to Common Lisp. The story of Edward Feigenbaum's 1965<br />

DENDRAL system belongs here by project start date, but is deferred to Section 3.5, <strong>and</strong> there treated<br />

as an early <strong>in</strong>stance of a new type of reason<strong>in</strong>g system known as an "expert system".<br />

1.13 Mach<strong>in</strong>e Consciousness, 1959 to 1970<br />

There is really only one issue to <strong>in</strong>troduce under this head<strong>in</strong>g, <strong>and</strong> that is the problem of<br />

"embodiment". This issue was first raised by McCulloch (1965), who, with more than twenty years of<br />

practical experience <strong>in</strong> the field under his belt, simply po<strong>in</strong>ted out that it might eventually prove<br />

impossible to build an artificially conscious computer bra<strong>in</strong> for the simple reason that it would have no<br />

biological body to go with it. It was not "embodied", <strong>and</strong> as a result there would simply be too little for<br />

it to be conscious of. We shall be develop<strong>in</strong>g this po<strong>in</strong>t further <strong>in</strong> Section 3.12.<br />

2 - Microcomput<strong>in</strong>g, 1968 to Date<br />

The story of the modern microcomputer can be told <strong>in</strong> many ways, <strong>and</strong> we are go<strong>in</strong>g to beg<strong>in</strong> with the<br />

stories of four <strong>in</strong>ventors <strong>and</strong> a "killer app" [def<strong>in</strong>ition below], before look<strong>in</strong>g at some of the<br />

technicalities .....<br />

2.1 An Wang <strong>and</strong> his Calculators<br />

The first of our <strong>in</strong>ventors is Harvard Computation Laboratory's An Wang, previously <strong>in</strong>troduced as the<br />

part-<strong>in</strong>ventor of ferrite core memory [rem<strong>in</strong>der]. Not realis<strong>in</strong>g what the long-term impact of his<br />

<strong>in</strong>vention was go<strong>in</strong>g to be, Wang was concerned to f<strong>in</strong>d that opportunities at Harvard were dry<strong>in</strong>g up<br />

follow<strong>in</strong>g the Computation Laboratory's spat with IBM [rem<strong>in</strong>der], <strong>and</strong> <strong>in</strong> April 1951 he resigned to set<br />

up on his own "as a sole partnership with his six hundred dollars of sav<strong>in</strong>gs as capital, no orders, no<br />

contracts, <strong>and</strong> no office furniture" (Weiss, 1993, p63). Fortunately, Wang's reputation with<strong>in</strong> the<br />

<strong>in</strong>dustry stood him <strong>in</strong> good stead, <strong>and</strong> his company grew slowly but surely through the 1950s.<br />

However, as core memory was developed at MIT, he got sucked <strong>in</strong>to an unsuccessful patents dispute<br />

over licens<strong>in</strong>g rights. Wang then did what only the very best geniuses manage to do - he geniused<br />

aga<strong>in</strong>, but this time he was careful to deliver the complete <strong>and</strong> legally unassailable package. His<br />

breakthrough came <strong>in</strong> the early 1960s, when Wang devised circuitry to compute logarithms us<strong>in</strong>g<br />

Revised August 5, 2008 Page 127 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

fewer than 300 transistors. He patented this <strong>in</strong> 1964, <strong>and</strong> used it <strong>in</strong> a desktop calculator named LOCI.<br />

The mach<strong>in</strong>e retailed at $6700, <strong>and</strong> the market<strong>in</strong>g edge came from the fact that purchasers got digital<br />

comput<strong>in</strong>g power at a fraction of the hardware cost of a ma<strong>in</strong>frame, <strong>and</strong> without hav<strong>in</strong>g to employ any<br />

professional programm<strong>in</strong>g staff. This was followed <strong>in</strong> 1965 by the Wang 300-series at from around<br />

$1700, <strong>and</strong> at a stroke the electromechanical calculator market - with a pedigree go<strong>in</strong>g all the way<br />

back to Pascal <strong>and</strong> Leibnitz - was doomed. By 1986, Wang Laboratories employed 30,000 staff.<br />

2.2 The Invention of Integrated Circuitry<br />

Our second <strong>in</strong>ventor is Robert Noyce, <strong>and</strong> the <strong>in</strong>vention is the "planar process" of semiconductor<br />

production. In September 1957 Noyce was one of the eight founders of Fairchild Semiconductor, <strong>and</strong><br />

the new company's first director of R & D. All eight men had previously worked for Shockley<br />

Transistors, the company founded by William Shockley, co-<strong>in</strong>ventor of the transistor <strong>in</strong> the late 1940s,<br />

<strong>and</strong> were keen to put their knowledge of semiconductors to the commercial test. The critical <strong>in</strong>vention<br />

came after only a few months .....<br />

"Dur<strong>in</strong>g his tenure as head of R & D, Noyce patented an idea for an <strong>in</strong>tegrated circuit [..... His] great<br />

<strong>in</strong>sight was that a complete electronic circuit could be built on a s<strong>in</strong>gle chip, us<strong>in</strong>g specialised<br />

techniques (called planar process<strong>in</strong>g) recently developed by his colleague Hoerni. Noyce's conception,<br />

<strong>and</strong> the subsequent two-year development effort [would] eventually prove to be of monumental<br />

importance to Semiconductor, <strong>and</strong>, <strong>in</strong>deed, to the entire electronics <strong>in</strong>dustry." (Berl<strong>in</strong>, 2001/2003<br />

onl<strong>in</strong>e; Jean Hoerni (1924-1997) was the physicist amongst the ex-Shockley men)<br />

The 1961 "Fairchild chip" [picture] had four transistors on it, <strong>and</strong> high profile projects such as<br />

NASA's Apollo Guidance Computer were buy<strong>in</strong>g them up at around $1000 apiece [details]. By 1968,<br />

better fabrication techniques had both slashed the price <strong>and</strong> pushed the transistor count up to 200 per<br />

chip, allow<strong>in</strong>g entire systems to be mounted on a s<strong>in</strong>gle chip, giv<strong>in</strong>g the world the "microprocessor".<br />

Our third <strong>in</strong>ventor is Jack St. Clair Kilby (1923-), one of the "few liv<strong>in</strong>g men whose <strong>in</strong>sights <strong>and</strong><br />

professional accomplishments have changed the world" (Texas Instruments website). Kilby jo<strong>in</strong>ed<br />

Texas Instruments [company history] <strong>in</strong> 1958, <strong>and</strong> immediately did for them what Noyce was do<strong>in</strong>g for<br />

Fairchild. In other words, he "conceived <strong>and</strong> built the first electronic circuit <strong>in</strong> which all of the<br />

components, both active <strong>and</strong> passive, were fabricated <strong>in</strong> a s<strong>in</strong>gle piece of semiconductor material half<br />

the size of a paper clip. The successful laboratory demonstration of that first simple microchip on<br />

September 12, 1958, made history" (ibid.). In the event, however, the Noyce-Hoerni technique was to<br />

prove markedly more cost-effective <strong>in</strong> production, <strong>and</strong> Texas Instruments eventually bought that<br />

method <strong>in</strong>.<br />

And our fourth <strong>in</strong>ventor is Gilbert Hyatt, who <strong>in</strong> 1968 trademarked the name "microcomputer", <strong>and</strong><br />

who then, with an "effective date" of 28th December 1970, filed for a patent for an entire computer on<br />

a chip. However, due to prolonged litigation, this patent was not granted until 17th July 1990, <strong>and</strong> then<br />

reversed on appeal <strong>in</strong> 1996. The chip had a large central array of logic gates, surrounded by six<br />

registers, two tim<strong>in</strong>g units, a channel control unit, <strong>and</strong> a "scratchpad memory (SPM)" unit, a<br />

rudimentary sort of "cache memory" .....<br />

Key Concept - "Cache" <strong>Memory</strong>: A memory "cache" is a memory resource physically situated on<br />

the CPU chip rather than at a distance away <strong>in</strong> Ma<strong>in</strong> <strong>Memory</strong>. It is <strong>in</strong>tended to hold high dem<strong>and</strong><br />

memory pages without the need for chip-to-chip data transfers, thus sav<strong>in</strong>g time.<br />

Revised August 5, 2008 Page 128 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

What Hyatt did well was to set up a company called Micro Computer, <strong>and</strong> amongst the venture<br />

capitalists who bought <strong>in</strong> were Robert Noyce <strong>and</strong> a colleague of his named Gordon Moore. What<br />

Hyatt did not do well was rema<strong>in</strong> friends with Noyce <strong>and</strong> Moore. He refused <strong>in</strong> 1971 to sign his patent<br />

rights over to them, fund<strong>in</strong>g was withdrawn, his company ceased trad<strong>in</strong>g, <strong>and</strong> Noyce <strong>and</strong> Moore went<br />

on to prosper as the Intel Corporation. Twenty five years later, US law pronounced to the effect that<br />

Hyatt had tried to patent too general an idea, <strong>and</strong> that that was not protectable under patent law.<br />

2.3 The "Killer App"<br />

As for the "killer app" [this qua<strong>in</strong>t phrase describes a computer application which more or less<br />

perfectly fills a previously unrecognised commercial need, <strong>and</strong> sells accord<strong>in</strong>gly], this was without<br />

doubt the word processor (although the spreadsheet comes a worthy second). The antecedent<br />

technology was the 1961 IBM "Selectric" (or "golfball") typewriter. This delivered each keystroke via<br />

an electrically activated spherical typehead, <strong>in</strong> which the letter to be impressed was chosen by<br />

determ<strong>in</strong><strong>in</strong>g the angles of azimuth <strong>and</strong> pitch of the typehead at the time of strik<strong>in</strong>g. All these angles<br />

were set, <strong>in</strong> turn, by electronic signals generated by the keyboard, <strong>and</strong> <strong>in</strong> 1964 the system was<br />

upgraded to store those electrical signals on a magnetic tape, thus allow<strong>in</strong>g the same document to be<br />

typed time after time, from memory. Moreover, by paus<strong>in</strong>g the tape, it also allowed errors to be<br />

detected, <strong>and</strong> m<strong>in</strong>or corrections/<strong>in</strong>sertions made. For the first time, "typed material could be edited<br />

without hav<strong>in</strong>g to retype the whole text" (Kunde, 1986/2003 onl<strong>in</strong>e). In 1969, IBM replaced the<br />

magnetic tape with a magnetic card, <strong>and</strong> <strong>in</strong> 1971, replaced the card with Al Shugart's recently<br />

<strong>in</strong>vented "floppy disk". That same year, Wang Labs brought out the Wang 1200 word process<strong>in</strong>g<br />

system.<br />

ASIDE: In 1976, the present author did commercial word process<strong>in</strong>g on an Olivetti TES501, a desksized<br />

electronic typewriter, complete with eight-<strong>in</strong>ch floppy disk, a s<strong>in</strong>gle l<strong>in</strong>e side-scroll<strong>in</strong>g display,<br />

<strong>and</strong> a daisy-wheel character pr<strong>in</strong>ter, retail<strong>in</strong>g for around £6000. Ten years later he could do more, <strong>and</strong><br />

quicker, on an Amstrad PCW [picture] retail<strong>in</strong>g for around £300.<br />

2.4 The Integrated Circuit Industry<br />

We have already recorded the birth of the chip <strong>in</strong> Section 2.2. As for the story of its subsequent<br />

exploitation, we present this <strong>in</strong> timel<strong>in</strong>e form, collated from Siewiorek, Bell, <strong>and</strong> Newell (1982) <strong>and</strong> the<br />

sources specifically referenced .....<br />

1968 - In July 1968, ex-Fairchild experts Robert Noyce <strong>and</strong> Gordon Moore set up Intel Corporation<br />

to develop <strong>and</strong> exploit DRAM (= "dynamic r<strong>and</strong>om access memory") memory chips. The<br />

commercial motivation here was that ferrite core store was actually technically difficult to<br />

m<strong>in</strong>iaturise, so that anyone manag<strong>in</strong>g to produce a workable solid state flip-flop resource would<br />

comm<strong>and</strong> a massive marketplace.<br />

1969 - In April 1969, Masatoshi Shima, of Busicom Corporation, discussed with Intel his ideas for<br />

the chip architecture for a decimal desktop calculator. Intel agreed to produce these, but <strong>in</strong><br />

September 1969 one of their eng<strong>in</strong>eers, Marcian E. ("Ted") Hoff counter-proposed with the plans<br />

for what would become the b<strong>in</strong>ary Intel 4004 chip. This was someth<strong>in</strong>g of a masterstroke, because<br />

it would not just satisfy the specific Busicom calculator contract, but would also service small<br />

general purpose comput<strong>in</strong>g needs as well. That November, Datapo<strong>in</strong>t Corporation's Victor D. Poor<br />

proposed an 8-bit programmable microprocessor. Poor offered the design to both Intel <strong>and</strong> Texas<br />

Instruments, <strong>and</strong> the latter took it on (Port, 1996/2003 onl<strong>in</strong>e).<br />

Revised August 5, 2008 Page 129 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1970 - Dur<strong>in</strong>g 1970, Hoff, Shima, Stanley Mazor, <strong>and</strong> Federico Fagg<strong>in</strong> f<strong>in</strong>alised the 4004 design<br />

us<strong>in</strong>g around 2000 transistors <strong>and</strong> with parallel wir<strong>in</strong>g.<br />

1971 - In March 1971, Intel began deliveries of their 4004 to Busicom. In May, Texas Instruments'<br />

prototype 8-bit microprocessor was demonstrated to Datapo<strong>in</strong>t. In July, Texas Instruments' Gary<br />

W. Boone produced the prototype of the TMS 1000 microcontroller chip, the first "computer-on-achip"<br />

(that is to say, a CPU microprocessor - as above - PLUS the support<strong>in</strong>g RAM, I/O, <strong>and</strong><br />

ROM). The TMS 1000 family went <strong>in</strong>to production <strong>in</strong> 1974, <strong>and</strong> was used across TI's calculator<br />

range. In November, Intel announced the 4004 as herald<strong>in</strong>g "a new era of <strong>in</strong>tegrated electronics".<br />

1972 - In September, Texas Instruments announced that it was enter<strong>in</strong>g the calculator market to<br />

leverage its chip know-how. In November, Intel announced the 8008 chip.<br />

ASIDE: The Intel l<strong>in</strong>eage went on to def<strong>in</strong>e by number the generations of the modern PC. The<br />

4004 <strong>and</strong> 8008 were followed by the 8080 <strong>in</strong> 1974, the 8085 <strong>in</strong> 1976, <strong>and</strong> the 8086 <strong>in</strong> 1978. In that<br />

seven-year period, process<strong>in</strong>g power <strong>in</strong>creased about a hundred fold, <strong>and</strong> price decreased by<br />

about the same factor (from $300 a chip down to $3). The 8086 was followed by the 80186 <strong>and</strong><br />

80286 <strong>in</strong> 1982, by the 80386 <strong>in</strong> 1985, by the 80486 <strong>in</strong> 1989, <strong>and</strong> by the first of the modern<br />

Pentiums <strong>in</strong> 1993. There is thus a direct historical l<strong>in</strong>e from the biggest <strong>and</strong> best of the modern<br />

"Intel Insides" back to the Bell Labs team who discovered semiconduction <strong>in</strong> the late 1940s.<br />

1975 - IBM <strong>in</strong>troduced the IBM 5100. It bombed commercially, <strong>and</strong> for the next five years the<br />

company suffered as the home computer market exploded around it.<br />

These, then, were the specific physical devices which defeated Hyatt <strong>in</strong> his long-runn<strong>in</strong>g patents<br />

dispute. TI's microcomputer patent #4074351 describes the f<strong>in</strong>al item as "a one-chip device about<br />

one-fifth of an <strong>in</strong>ch square, typically with more than 20,000 transistors or related electronic elements,<br />

<strong>and</strong> is the first <strong>in</strong>tegrated circuit to conta<strong>in</strong> all of the essential functions of a computer: program <strong>and</strong><br />

data memory, arithmetic unit, control, <strong>and</strong> <strong>in</strong>put-output circuits" (TI website, 2003 onl<strong>in</strong>e).<br />

2.5 The PC Software Industry<br />

A chip, of course, does noth<strong>in</strong>g without some sort of operat<strong>in</strong>g software, <strong>and</strong> the story here beg<strong>in</strong>s <strong>in</strong><br />

1972 when William H. ("Bill") Gates <strong>and</strong> Paul G. Allen, set up the Traf-O-Data company to develop an<br />

automatic traffic record<strong>in</strong>g system based around the Intel 8008 chip. This was one of many small<br />

company attempts to put the new technology to work, <strong>and</strong> <strong>in</strong> 1974 a lecturer at the US Navy's<br />

Monterey Postgraduate School, Gary Kildall (1942-1994), produced the first microcomputer operat<strong>in</strong>g<br />

system, CP/M. This was designed for the April 1974 Intel 8080 chip, <strong>and</strong> - foresee<strong>in</strong>g the as-yet-nonexistent<br />

home computer market - <strong>in</strong>tended to provide it with a range of simple user comm<strong>and</strong>s.<br />

Leav<strong>in</strong>g the navy <strong>in</strong> 1976, Kildall founded Digital Research to market the product, <strong>and</strong> was soon<br />

sell<strong>in</strong>g copies at $70 a time. In August 1980, Tim Paterson, of Seattle Computer Products, started<br />

shipments of QDOS as a (just legal) CP/M clone.<br />

Attention now turned from operat<strong>in</strong>g systems to programm<strong>in</strong>g languages, <strong>and</strong> this is where Traf-O-<br />

Data - now renamed Microsoft - comes <strong>in</strong>. While Kildall <strong>and</strong> Paterson had been develop<strong>in</strong>g their rival<br />

operat<strong>in</strong>g systems, Gates <strong>and</strong> Allen had been develop<strong>in</strong>g a language called BASIC for the Intel 8086.<br />

This was a user-friendly <strong>in</strong>terpreted language (that is to say, it executed on an <strong>in</strong>struction-by<strong>in</strong>struction<br />

basis from the source code), <strong>and</strong> it first saw the light of day <strong>in</strong> early 1975, just a few<br />

months before the first home computer shops started open<strong>in</strong>g. These players <strong>and</strong> these products then<br />

proceeded to make a little history. In 1980, IBM approached t<strong>in</strong>y Microsoft, want<strong>in</strong>g to commission an<br />

operat<strong>in</strong>g system for a proposed new range of home computers. Microsoft, more <strong>in</strong>terested <strong>in</strong> BASIC,<br />

Revised August 5, 2008 Page 130 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

simply recommended CP/M. IBM went away, but their negotiations with Kildall failed. They returned to<br />

Gates with their chequebook open, <strong>and</strong> Gates <strong>and</strong> Allen - reconsider<strong>in</strong>g their options - bought <strong>in</strong><br />

Paterson's QDOS for $50,000, <strong>and</strong> licensed it straight back out aga<strong>in</strong> to IBM for $15,000. To normal<br />

mortals, of course, this looks like a $35,000 kick <strong>in</strong> the pants, but not to the visionaries at Microsoft,<br />

who saw that for every PC they helped IBM to sell there was a decent chance for them to follow up<br />

with a sale of BASIC! And the rest, as they say, is history.<br />

3 - Ma<strong>in</strong>frame Comput<strong>in</strong>g, 1971 to Date - Fourth <strong>and</strong> Fifth Generation Technology<br />

In this section we complete our review of milestone <strong>in</strong>novations <strong>in</strong> the history of computer memory, by<br />

look<strong>in</strong>g at ma<strong>in</strong>frame systems from 1971 to date. Broadly speak<strong>in</strong>g, this divides <strong>in</strong>to the period of the<br />

"fourth generation" computer (1971 to 1979), <strong>in</strong> which "large scale <strong>in</strong>tegration" (LSI) was replaced,<br />

<strong>in</strong> turn, by "very large scale <strong>in</strong>tegration" (VLSI), followed by the period of the "fifth generation"<br />

computer (1980 to date), <strong>in</strong> which component size would be less <strong>and</strong> less critical, but process<strong>in</strong>g<br />

architecture more <strong>and</strong> more so. Specifically, the fifth generation mach<strong>in</strong>es would be depart<strong>in</strong>g from<br />

the Eckert-von Neumann serial process<strong>in</strong>g model <strong>in</strong> favour of ever more parallel architectures.<br />

3.1 The Arrival of Database<br />

We beg<strong>in</strong> by rem<strong>in</strong>d<strong>in</strong>g readers of IBM's 1957 <strong>in</strong>vention of the RAMAC, the first commercial hard disk<br />

drive, a two-ton monstrosity capable of stor<strong>in</strong>g 5 megabytes of <strong>in</strong>formation (equivalent to less than<br />

four of today's st<strong>and</strong>ard density floppy disks, weigh<strong>in</strong>g a few grams <strong>and</strong> cost<strong>in</strong>g pennies). We offer<br />

this rem<strong>in</strong>der, because, despite its girth, RAMAC was the key to giv<strong>in</strong>g computer users "r<strong>and</strong>om<br />

access" to their data, provided only that it could be "keyed" <strong>in</strong> some way. Given a suitable unique<br />

key (eg. a National Insurance Number), <strong>and</strong> us<strong>in</strong>g either an "<strong>in</strong>dex" or a "hash<strong>in</strong>g algorithm"<br />

[details], the physical mach<strong>in</strong>e address of the desired record - even if one record out of a file of 10<br />

million similar records - can be obta<strong>in</strong>ed; <strong>and</strong>, us<strong>in</strong>g that mach<strong>in</strong>e address, the read-write heads on a<br />

magnetic disk can position themselves above the appropriate track <strong>in</strong> milliseconds. As a programmer,<br />

therefore, this enables you to state what you want, <strong>and</strong> have it arrive <strong>in</strong> your <strong>in</strong>put record area a<br />

second or so later. R<strong>and</strong>om access technology thus broke down barriers which had been troubl<strong>in</strong>g<br />

systems designers s<strong>in</strong>ce the late n<strong>in</strong>eteenth century, namely how to locate one person's data out of a<br />

census-full, say, or one account holder's details at a bank, etc., etc., etc.<br />

But "direct-hitt<strong>in</strong>g" of this sort was not the only benefit. Conventional (ie. pre-Hollerith) fil<strong>in</strong>g systems<br />

<strong>and</strong> Hollerith style punched card systems had encouraged s<strong>in</strong>gle long records, each conta<strong>in</strong><strong>in</strong>g all the<br />

data relevant to the target entity, for <strong>in</strong> those days it did not matter if you pulled a person's card or a<br />

customer's folio to check on only one or two details - the cost lay <strong>in</strong> locat<strong>in</strong>g <strong>and</strong> retriev<strong>in</strong>g the card or<br />

folio, not <strong>in</strong> exam<strong>in</strong><strong>in</strong>g its contents. With electronic data, however, long records meant dragg<strong>in</strong>g<br />

around a lot of bytes when only a subset thereof was actually needed, <strong>and</strong> so the search began for<br />

ways of spread<strong>in</strong>g your data out <strong>in</strong> a predeterm<strong>in</strong>ed fashion, <strong>and</strong> of then us<strong>in</strong>g data management<br />

software to get you only the fragments you needed. The result was the first "Database Management<br />

System", or DBMS .....<br />

Key Concept - The Database Management Systems (DBMS): A DBMS is "a software system that<br />

facilitates (a) the creation <strong>and</strong> ma<strong>in</strong>tenance of a database or databases, <strong>and</strong> (b) the execution of<br />

computer programs us<strong>in</strong>g the database or databases" (Alliance for Telecommunications Industry<br />

Solutions). It is an extension [that is to say, you have to buy it separately] to a computer's st<strong>and</strong>ard<br />

operat<strong>in</strong>g system, <strong>and</strong> it allows data to be fragmented, stored, <strong>and</strong> subsequently retrieved to order, all<br />

without cross-record confusion.<br />

Revised August 5, 2008 Page 131 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The pioneer of database was Charles W. Bachman (1924-). Here is the "once-upon-a-time" aspect of<br />

the story as told by Hayes (2002/2003 onl<strong>in</strong>e) .....<br />

"In 1961, Charles Bachman at General Electric Co. developed the first successful database<br />

management system. Bachman's <strong>in</strong>tegrated data store (IDS) featured data schemas <strong>and</strong> logg<strong>in</strong>g. But<br />

it ran only on GE ma<strong>in</strong>frames, could use only a s<strong>in</strong>gle file for the database, <strong>and</strong> all generation of data<br />

tables had to be h<strong>and</strong>-coded. [//] One customer, B.F. Goodrich Chemical Co., eventually had to<br />

rewrite the entire system to make it usable, call<strong>in</strong>g the result <strong>in</strong>tegrated data management system<br />

(IDMS). [//] In 1968, IBM rolled out IMS, a hierarchical database for its ma<strong>in</strong>frames. In 1973, Cull<strong>in</strong>ane<br />

Corp. (later called Cull<strong>in</strong>et Software Inc.) began sell<strong>in</strong>g a much-enhanced version of Goodrich's IDMS<br />

<strong>and</strong> was on its way to becom<strong>in</strong>g the largest software company <strong>in</strong> the world at that time."<br />

Dur<strong>in</strong>g the 1960s, different users developed the early concepts <strong>and</strong> applied the early products <strong>in</strong><br />

different ways, seriously impair<strong>in</strong>g the exchange of data between systems, <strong>and</strong> it was therefore not<br />

long before some sort of <strong>in</strong>dustry-st<strong>and</strong>ard approach was be<strong>in</strong>g called for. This came <strong>in</strong> the shape of<br />

a comprehensive statement of database pr<strong>in</strong>ciples made by the Codasyl Database Task Group <strong>in</strong><br />

1969 (Codasyl, 1969, 1971; ANSI/SPARC, 1976). These advisory reports cover every aspect of the<br />

<strong>in</strong>teraction between non-technical system users <strong>and</strong> their highly technical comput<strong>in</strong>g hardware, <strong>and</strong><br />

were <strong>in</strong>spired throughout by the s<strong>in</strong>gle central axiom that the <strong>in</strong>ternal complexities of a database<br />

should at all times rema<strong>in</strong> totally transparent to the end-user. A DBMS, <strong>in</strong> other words, should allow<br />

users to concentrate upon their data rather than upon the tool they are us<strong>in</strong>g to view it.<br />

Another new approach was popularised by an English-American mathematician called Edgar F.<br />

("Ted") Codd (1923-2003). Codd had jo<strong>in</strong>ed IBM <strong>in</strong> 1949, <strong>and</strong> had served time on the SSEC <strong>and</strong><br />

Stretch teams, before switch<strong>in</strong>g to research <strong>in</strong>to methods of data management. Here is Hayes<br />

(2002/2003 onl<strong>in</strong>e) aga<strong>in</strong> .....<br />

"Meanwhile, IBM researcher Edgar F. ('Ted') Codd was look<strong>in</strong>g for a better way to organise databases.<br />

In 1969, Codd came up with the idea of a relational database, organised entirely <strong>in</strong> flat tables. IBM put<br />

more people to work on the project, codenamed System/R, <strong>in</strong> its San Jose labs. However, IBM's<br />

commitment to IMS kept System/R from becom<strong>in</strong>g a product until 1980. [//] But at the University of<br />

California, Berkeley, <strong>in</strong> 1973, Michael Stonebraker <strong>and</strong> Eugene Wong used published <strong>in</strong>formation on<br />

System/R to beg<strong>in</strong> work on their own relational database. Their Ingres project would eventually be<br />

commercialised by Oracle Corp., Ingres Corp. <strong>and</strong> other Silicon Valley vendors. And <strong>in</strong> 1976,<br />

Honeywell Inc. shipped Multics Relational Data Store, the first commercial relational database."<br />

Key Concept - The "Flat File" or "Table": A "flat file" is a file composed of large, identically<br />

formatted, data records, which, properly <strong>in</strong>dexed, is ideal for r<strong>and</strong>om access storage <strong>and</strong> retrieval of<br />

uniquely keyed <strong>in</strong>dividual records. At heart, it is the technology of the fil<strong>in</strong>g cab<strong>in</strong>et, made digital;<br />

brilliant for "read only" or non-volatile files, or the adhoc analysis of "large subset" enquiries, but<br />

guaranteed to struggle with volatile data <strong>and</strong> lack<strong>in</strong>g the flexibility of traversal needed for flexible<br />

enquiry routes on a s<strong>in</strong>gle record.<br />

And the ACM .....<br />

"While work<strong>in</strong>g for IBM <strong>in</strong> the 1970s, [Codd] created the relational model, the first abstract model for<br />

database management, which facilitates retrieval, manipulation, <strong>and</strong> organisation of <strong>in</strong>formation from<br />

computers. It led to commercial products <strong>in</strong> the 1980s, orig<strong>in</strong>ally for ma<strong>in</strong>frame systems <strong>and</strong> later for<br />

Revised August 5, 2008 Page 132 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

microcomputers. Relational databases are now fundamental to systems rang<strong>in</strong>g from hospital patient<br />

records to airl<strong>in</strong>e flights <strong>and</strong> schedules." [Citation]<br />

And IBM .....<br />

"In a l<strong>and</strong>mark paper, 'A relational model of data for large shared data banks', Codd proposed<br />

replac<strong>in</strong>g the hierarchical or navigational structure with simple tables conta<strong>in</strong><strong>in</strong>g rows <strong>and</strong> columns.<br />

'Ted's basic idea was that relationships between data items should be based on the item's values, <strong>and</strong><br />

not on separately specified l<strong>in</strong>k<strong>in</strong>g or nest<strong>in</strong>g. This notion greatly simplified the specification of queries<br />

<strong>and</strong> allowed unprecedented flexibility to exploit exist<strong>in</strong>g data sets <strong>in</strong> new ways,' said Don Chamberl<strong>in</strong>,<br />

co-<strong>in</strong>ventor of SQL, the <strong>in</strong>dustry-st<strong>and</strong>ard language for query<strong>in</strong>g relational databases [.....] Janet<br />

Pema, general manager of Data Management Solutions for IBM's Software Group, expressed her<br />

admiration for the <strong>in</strong>ventor of the product for which she is now responsible. She remarked that 'Ted<br />

Codd will forever be remembered as the father of relational database. His remarkable vision <strong>and</strong><br />

<strong>in</strong>tellectual genius ushered <strong>in</strong> a whole new realm of <strong>in</strong>novation that has shaped the world of<br />

technology today .....'" [Citation]<br />

So how did everyth<strong>in</strong>g fit together? Well basically, your database team had to do a number of very<br />

precise th<strong>in</strong>gs <strong>in</strong> a very precise order, as follows .....<br />

(1) Carry Out Data Analysis: The first step is to carry out a detailed <strong>in</strong>vestigatory study of the<br />

bus<strong>in</strong>ess (or department) <strong>in</strong> question, <strong>in</strong> order to document the data stored <strong>and</strong> used with<strong>in</strong> it. The<br />

most important technique here, whether work<strong>in</strong>g towards an IDMS or a flat file system, was "Entity-<br />

Relationship Modell<strong>in</strong>g" (ERM). As its name suggests, an ERM exercise <strong>in</strong>volved record<strong>in</strong>g "the<br />

entity <strong>and</strong> relationship types <strong>in</strong> a graphical form called, Entity-Relationship (ER) diagram" (Chen,<br />

2002/2003 onl<strong>in</strong>e), <strong>and</strong> this <strong>in</strong>variably <strong>in</strong>vites the application of "Set Theory" whenever the analysis<br />

reveals one-to-many relationships with<strong>in</strong> your data types .....<br />

Key Concept - The One-to-Many Relationship of Entities: A company may have many customers,<br />

each plac<strong>in</strong>g many orders. A warehouse may have many zones, each with many aisles, each with<br />

many bays, each with many b<strong>in</strong>s. And so on.<br />

When you have completed your ERM, it will provide you with a "corporate non-technical view" of your<br />

data, a real world view, <strong>in</strong> which the organisation's processes <strong>and</strong> data, hav<strong>in</strong>g been identified by the<br />

skills of the bus<strong>in</strong>ess analyst, are set out <strong>in</strong> a set of diagrams <strong>and</strong> memor<strong>and</strong>a known cumulatively as<br />

a "bus<strong>in</strong>ess model". This provides what is known as a "logical" view of how the organisation<br />

operates, <strong>and</strong> one of the most important specific models is a diagram known as a "data model",<br />

which records what real world objects the organisation is concerned with, how they behave, <strong>and</strong> what<br />

their properties are. [For a more practical <strong>in</strong>troduction to the preparation of a data model, see our epaper<br />

on "Data Modell<strong>in</strong>g".]<br />

(2) Set Up a "Database Schema": The next step is to convert the data model <strong>in</strong>to an equivalent set<br />

of declarations <strong>and</strong> descriptions known collectively as a "database schema". Unlike the data model,<br />

however, the database schema is now <strong>in</strong> a form which can be stored with<strong>in</strong>, <strong>and</strong> manipulated by, the<br />

DBMS. This is a more technical view of the data than hitherto, <strong>and</strong> constitutes the first major step <strong>in</strong><br />

bridg<strong>in</strong>g the gap between the data as the user knows it <strong>and</strong> the hardware on which it is eventually to<br />

be stored. [This is the po<strong>in</strong>t at which you f<strong>in</strong>ally have to decide between a network system such as<br />

IDMS, a hierarchical system such as IMS, or one of the proprietary flat file systems.]<br />

Revised August 5, 2008 Page 133 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

(3) Set Up Database "Subschemas": The third step is to create a "departmental" view of the data.<br />

This is another technical view, <strong>and</strong> reflects the fact that no s<strong>in</strong>gle application program will ever need<br />

access to all the available data. Each <strong>in</strong>dividual end-user - <strong>and</strong> that <strong>in</strong>cludes even the most senior<br />

executives - only needs access to a fraction of that data, <strong>and</strong> for him/her to be shown too much is at<br />

best <strong>in</strong>efficient, <strong>and</strong> at worst a breach of system security punishable by civil or crim<strong>in</strong>al law (or both).<br />

This "need to know" facility is provided by subsets of the schema known as "subschemas", each one<br />

allow<strong>in</strong>g an <strong>in</strong>dividual application program to access only the data it is legitimately concerned with.<br />

(4) Set Up Database "Storage Schemas": The f<strong>in</strong>al step is to create a "mach<strong>in</strong>e level" view, <strong>and</strong><br />

allows the data as def<strong>in</strong>ed <strong>in</strong> the schema to be "mapped onto" the particular <strong>in</strong>stallation's physical<br />

storage devices. This is achieved by declar<strong>in</strong>g what is known as a "storage schema" to the DBMS,<br />

which the DBMS then uses to translate every user-<strong>in</strong>itiated store <strong>and</strong> retrieve <strong>in</strong>struction <strong>in</strong>to a set of<br />

equivalent physical store <strong>and</strong> retrieve <strong>in</strong>structions. This is therefore the second major step <strong>in</strong><br />

bridg<strong>in</strong>g the gap between the data <strong>and</strong> the hardware on which it is to be stored.<br />

We turn now to the <strong>in</strong>ternals of the 1973 Cull<strong>in</strong>ane DBMS product, because it was <strong>in</strong> manag<strong>in</strong>g<br />

physical storage that IDMS really showed how clever it could be. Four major design pr<strong>in</strong>ciples were<br />

<strong>in</strong>volved, as now reviewed .....<br />

The first IDMS design pr<strong>in</strong>ciple was that data should be organised <strong>in</strong>to "records" <strong>and</strong> computer<br />

filestore <strong>in</strong>to "pages". The latter become the unit of transfer between the DBMS (<strong>and</strong> thus the user)<br />

<strong>and</strong> the physical hardware. Their size was decided upon by the design team, <strong>and</strong> the number of<br />

records which will fit onto each page is therefore a function of page size relative to record size. No<br />

matter how much data is <strong>in</strong>volved, each record can then be located with total precision <strong>and</strong> <strong>in</strong> only a<br />

few milliseconds by know<strong>in</strong>g (a) which page it is stored on, <strong>and</strong> (b) how far down that page. The<br />

result<strong>in</strong>g two-component page-l<strong>in</strong>e address is known as the "database key" for that record. Room for<br />

future expansion is provided <strong>in</strong> advance simply by vary<strong>in</strong>g the total amount of filestore available. A<br />

database might be set up, for example, with its pages only 40% full, to guarantee plenty of room (<strong>and</strong><br />

time) for growth.<br />

The second IDMS design pr<strong>in</strong>ciple was that each different real world entity type should be<br />

represented by a different database record type. Each record type is then allowed to occur as many<br />

times as necessary to do the job. Thus for the record type there could be many million<br />

"occurrences" of that record <strong>in</strong> a given database, each with its own unique database key, but each<br />

laid out <strong>in</strong>ternally <strong>in</strong> exactly the same way (name, sex, age, height, etc).<br />

The third IDMS design pr<strong>in</strong>ciple was that some data records should be allowed to "own" others. This<br />

capitalises on the "set" relationship(s) already identified, such that each given set owner can own one<br />

or more set members. The owner-member arrangement is the network database way of cop<strong>in</strong>g with<br />

the sort of one-to-many relationships which exist between many real world entities. For example, the<br />

fact that one real life person may own many real life books could be implemented on the database as<br />

record type own<strong>in</strong>g a set of record type . [It is up to the design team, <strong>in</strong>cidentally,<br />

whether the records are clustered on the same page as their owner or else more widely<br />

distributed throughout the rema<strong>in</strong>der of the database, <strong>and</strong> it creates havoc, <strong>in</strong>cidentally, when they get<br />

this sort of decision wrong.]<br />

Key Concept - The Computer Data Network: What Bachman <strong>and</strong> B.F. Goodrich had created, <strong>and</strong><br />

what the Codasyl Task Force had st<strong>and</strong>ardised for general release, was the "network database"<br />

(a.k.a. "Codasyl database"). Us<strong>in</strong>g the entity-relationship analysis approach to <strong>in</strong>terface the results of<br />

Revised August 5, 2008 Page 134 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Bus<strong>in</strong>ess Analysis with the DBMS schema they created a network structure capable of r<strong>and</strong>om<br />

access updat<strong>in</strong>g <strong>and</strong> enquiry.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Retrieval Option #5 - Run Currency: This is where any record, immediately after retrieval by any of<br />

the forego<strong>in</strong>g methods, is totally <strong>and</strong> centrally available for <strong>in</strong>terrogation <strong>and</strong> update. It is the record<br />

currently be<strong>in</strong>g processed. Unlike set currencies, therefore, only one record can be "current of run"<br />

at a time. The use <strong>and</strong> value of this facility is also further explored <strong>in</strong> Part 6 <strong>and</strong> Part 7.<br />

Key Concept - The Database Currency: A database currency is a software device <strong>in</strong>vented by<br />

database systems programmers to help applications programmers "keep their place" at one po<strong>in</strong>t <strong>in</strong> a<br />

program while a subprocess is sent off to do someth<strong>in</strong>g important elsewhere. It works by hold<strong>in</strong>g <strong>in</strong><br />

memory the key parameters of the superord<strong>in</strong>ate search pattern for the duration of an excursion <strong>in</strong>to<br />

one or more subord<strong>in</strong>ate search patterns, so that the former can be restored <strong>and</strong> cont<strong>in</strong>ued as soon<br />

as the excursion is over (just like keep<strong>in</strong>g your f<strong>in</strong>ger <strong>in</strong> one page of a book, while you look quickly to<br />

one or more other pages). The device comes as st<strong>and</strong>ard with what are known as "Codasyl"<br />

databases such as Computer Associates' Integrated Database Management System (IDMS), <strong>and</strong> is<br />

actually noth<strong>in</strong>g more than a small address table held <strong>in</strong> memory <strong>and</strong> constantly updated. For a<br />

friendly <strong>in</strong>troduction to database currency technology, click here.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

second-by-second updates, the big pr<strong>in</strong>ts, <strong>and</strong> the rout<strong>in</strong>e small enquiries, whilst the flat file<br />

systems h<strong>and</strong>led the data management <strong>and</strong> large enquiries us<strong>in</strong>g QueryMaster, ICL's own<br />

structured query language. Each suite of programs therefore played to its <strong>in</strong>herent strengths,<br />

to the ultimate benefit of the company. Flat file or otherwise, databases are important to<br />

cognitive scientists because they are the computer <strong>in</strong>dustry's only implementation of semantic<br />

networks. As such, they generate several noteworthy metaphors <strong>in</strong> a number of areas of<br />

memory theory, not least that of calcium-sensitised medium-term memory. We return to the<br />

topic <strong>in</strong> Part 7. >><br />

3.2 "Connectivity", 1971 to Date<br />

We have already seen [see Section 1.7] how the 1960s witnessed major breakthroughs <strong>in</strong> onl<strong>in</strong>e<br />

transaction process<strong>in</strong>g, time-shar<strong>in</strong>g, <strong>and</strong> campus-wide network<strong>in</strong>g software. By 1971, it was possible<br />

to l<strong>in</strong>k a ma<strong>in</strong>frame via a front-end-processor onto a telecommunications network, <strong>and</strong> thence either<br />

(a) via a cluster controller to a nest of remote user workstations, or (b) via a remote front-endprocessor<br />

to another ma<strong>in</strong>frame. In 1974, IBM capitalised on this body of experience by <strong>in</strong>troduc<strong>in</strong>g<br />

their Systems Network Architecture (SNA). This was a package of the hardware, peripherals,<br />

system software, network<strong>in</strong>g software, cabl<strong>in</strong>g st<strong>and</strong>ards, <strong>and</strong> communication protocols necessary to<br />

set up a ma<strong>in</strong>frame comput<strong>in</strong>g network. The development was guided by, <strong>and</strong> fully compatible with,<br />

the Open Systems Interconnection (OSI) Reference Model [details] (albeit it substituted IBM's own<br />

house term<strong>in</strong>ology whenever it could), <strong>and</strong> automatically took care of such everyday network<strong>in</strong>g<br />

problems as l<strong>in</strong>e or modem failures <strong>and</strong> node overloads. Upgraded functionality was later provided to<br />

cope with the subtly different requirements of microcomputer systems, <strong>and</strong> the result<strong>in</strong>g product was<br />

called Advanced Peer-to-Peer Network<strong>in</strong>g (APPN). [For a thorough <strong>in</strong>troduction to SNA <strong>and</strong> APPN,<br />

click here.]<br />

The OSI Model also helped steer the design process as the dem<strong>and</strong> arose for what is today known as<br />

"client-server" network<strong>in</strong>g. This is the name given to Internet-type networks <strong>in</strong> which the processor<br />

at one of the nodes has been set up as a "server", specifically to service the data requirements at the<br />

rema<strong>in</strong><strong>in</strong>g nodes. Client-server is not a product as such, but rather a conceptual "file-shar<strong>in</strong>g<br />

architecture" model which manufacturers can map their specific products onto, <strong>and</strong> the ma<strong>in</strong><br />

controll<strong>in</strong>g protocols are the US Department of Defence's TCP <strong>and</strong> IP (usually seen together as<br />

"TCP/IP"). Here are the technicalities .....<br />

"Transmission Control Protocol" (TCP): TCP is a "transport-level" protocol [rem<strong>in</strong>der], <strong>and</strong> "is<br />

responsible for verify<strong>in</strong>g the correct delivery of data from client to server" [author]. This means tak<strong>in</strong>g<br />

all necessary steps to detect accidental data loss <strong>in</strong> the network, <strong>and</strong>, once detected, tak<strong>in</strong>g further<br />

steps to have it retransmitted.<br />

"Internet Protocol" (IP): IP is a "network level" protocol [rem<strong>in</strong>der], <strong>and</strong> "is responsible for mov<strong>in</strong>g<br />

packets of data from node to node" [author]. This means tak<strong>in</strong>g all necessary steps to determ<strong>in</strong>e the<br />

optimal transmission path through the available <strong>in</strong>termediate rout<strong>in</strong>g stations.<br />

3.3 The ICL-Fujitsu Experience, 1971 to Date<br />

Newcomers to transaction process<strong>in</strong>g concepts should refamiliarise themselves with the<br />

topics of the Virtual Mach<strong>in</strong>e Operat<strong>in</strong>g System <strong>and</strong> the TP Monitor, from Sections 1.2 <strong>and</strong> 1.7<br />

respectively, before proceed<strong>in</strong>g.<br />

Revised August 5, 2008 Page 137 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The ICL 1900s [see Section 1.8] were well-built third generation mach<strong>in</strong>es, <strong>and</strong> thus had a decent<br />

enough commercial life. Nevertheless, by the late 1960s they were beg<strong>in</strong>n<strong>in</strong>g to show their age <strong>and</strong><br />

the company started to consider how they should be replaced. Procter (1998/2003 onl<strong>in</strong>e) expla<strong>in</strong>s<br />

how plans for the upgrade started to take shape <strong>in</strong> 1969, when a "jury" was set up to evaluate various<br />

optional ways forward. They considered four options for what they were already referr<strong>in</strong>g to as their<br />

"new range", namely, (a) to develop the 1900-series, (b) to go for the "Basic Language Mach<strong>in</strong>e", a<br />

concept computer be<strong>in</strong>g worked on <strong>in</strong>-house by a team led by John Iliffe, (c) to buy <strong>in</strong> Manchester<br />

University's "Mark V", the MU5, or (d) to go for the "synthetic option", a comb<strong>in</strong>ation of the others.<br />

They decided on the latter, <strong>and</strong>, after five years <strong>in</strong>tensive work, the 2900-series was launched <strong>in</strong> April<br />

1974, complete with a highly versatile operat<strong>in</strong>g system known as the Virtual Mach<strong>in</strong>e Environment<br />

(VME) [noth<strong>in</strong>g to do with the VME bus]<br />

Now the 2900s were typical fourth generation systems. They were robust <strong>and</strong> efficient, <strong>and</strong> could<br />

cope with the heavy process<strong>in</strong>g loads presented by transaction process<strong>in</strong>g <strong>and</strong> database applications,<br />

<strong>and</strong> they made good use of the newly arrived "Fourth Generation Languages", or "4GLs" .....<br />

Key Concept - Fourth Generation Languages: A 4GL is a proprietary software package designed<br />

to write 3GL code for a programmer more cost-effectively than s/he could do it her/himself. 4GLs do<br />

this sort of "code generat<strong>in</strong>g" by constantly referr<strong>in</strong>g to previously entered "metadata" - data about<br />

data - conta<strong>in</strong>ed <strong>in</strong> a "data repository" or "data dictionary". Programmers us<strong>in</strong>g 4GLs are thus<br />

relieved of the need to become experts <strong>in</strong> the underly<strong>in</strong>g 3GL. Unfortunately, it is not unknown for the<br />

benefits of 4GLs to be overstated at po<strong>in</strong>t of sale. Yes they work, but the code generated is rarely<br />

anywhere near as optimised for process<strong>in</strong>g efficiency as expert h<strong>and</strong>-written code. Accord<strong>in</strong>gly, 4GLs<br />

should only be used when response time is not a critical issue.<br />

The 2900s actually reached new heights of sophistication <strong>in</strong> their VME TP Monitor, TPMS. Here is<br />

how ICL described the transaction process<strong>in</strong>g problem, <strong>and</strong> their solution to it .....<br />

"Transaction process<strong>in</strong>g operates <strong>in</strong> its own environment known as a transaction process<strong>in</strong>g service.<br />

The environment provided is one <strong>in</strong> which many people can hold simultaneous conversations with<br />

computer programs about some bus<strong>in</strong>ess they have <strong>in</strong> common. The computer's store is used to<br />

ma<strong>in</strong>ta<strong>in</strong> the bus<strong>in</strong>ess <strong>in</strong>formation on which the users of the service all depend, <strong>and</strong> it can be<br />

<strong>in</strong>terrogated directly about that <strong>in</strong>formation from a computer term<strong>in</strong>al <strong>and</strong> the answers to critical<br />

questions can be obta<strong>in</strong>ed with only seconds delay. Moreover, only a few copies of the relevant<br />

applications programs are required to support a high volume of simultaneous enquiries from a large<br />

number of connected term<strong>in</strong>als. [//] A transaction process<strong>in</strong>g service <strong>and</strong> its users <strong>in</strong>teract by means<br />

of message-reply pairs. The user <strong>in</strong>puts a message or query at his term<strong>in</strong>al as the first half of the pair.<br />

This is then processed by a user-written application program. F<strong>in</strong>ally, the service provides an<br />

appropriate response to that message as the second half of the message-pair <strong>and</strong> sends a reply to<br />

the term<strong>in</strong>al of orig<strong>in</strong>. Typically, the message concerns one of the many transactions that make up the<br />

daily life of the bus<strong>in</strong>ess, for example the receipt or despatch of an order, an <strong>in</strong>voice amendment or<br />

stock update, <strong>and</strong> frequently it will cause the service to update the associated data files. The<br />

<strong>in</strong>formation <strong>in</strong> these files will therefore always reflect the overall state of the bus<strong>in</strong>ess, <strong>and</strong> can be<br />

used to answer queries or generate reports as <strong>and</strong> when required, us<strong>in</strong>g completely up-to-date<br />

<strong>in</strong>formation." (International Computers Limited, 1987, p1; italics orig<strong>in</strong>al)<br />

The way TPMS organised its application software was to bundle together sub-selections of<br />

applications programs, <strong>and</strong> to load these as compound object code files known as Application<br />

Virtual Mach<strong>in</strong>es (AVMs), thus .....<br />

Revised August 5, 2008 Page 138 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"The program modules which process the various messages may also be grouped <strong>in</strong>to related sets,<br />

known as AVM types, which provide a means of controll<strong>in</strong>g the allocation of system resources <strong>and</strong> of<br />

optimis<strong>in</strong>g performance. Any one AVM type may conta<strong>in</strong> one or many different program modules, <strong>and</strong><br />

there may be many duplicate copies of a particular AVM type concurrently active. This means that a<br />

number of identical or similar messages may be <strong>in</strong>put from different term<strong>in</strong>als, <strong>and</strong> processed<br />

simultaneously. (International Computers Limited, 1987, p5; italics orig<strong>in</strong>al)<br />

The question then arises, of course, as to what controls the moment-to-moment deployment of the<br />

AVMs, <strong>and</strong> the answer is "a set of controll<strong>in</strong>g modules" known as a Control Virtual Mach<strong>in</strong>e (CVM).<br />

Here is ICL's description of this TPMS facility .....<br />

"The CVM, as its name implies, is <strong>in</strong> control of the TPMS service. Its ma<strong>in</strong> functions can be<br />

summarised as follows: 1. Control of the term<strong>in</strong>al network, <strong>in</strong>clud<strong>in</strong>g (a) connection <strong>and</strong> disconnection,<br />

<strong>and</strong> (b) <strong>in</strong>put of messages <strong>and</strong> output of replies. 2. Formatt<strong>in</strong>g of replies <strong>in</strong>corporat<strong>in</strong>g the required<br />

template. 3. Rout<strong>in</strong>g of messages to the correct application code for process<strong>in</strong>g, <strong>in</strong> the required<br />

priority order. 4. Control of privacy on messages accord<strong>in</strong>g to term<strong>in</strong>al user. 5. Control of AVM<br />

concurrency accord<strong>in</strong>g to the actual service requirements at any time. 6. Statistics collection. 7.<br />

Control of run-time changes to the service necessitated either (a) by control comm<strong>and</strong>s issued by the<br />

service controller, or (b) by failures with<strong>in</strong> parts of the system; for example, failures <strong>in</strong> files or<br />

application code. 8. Logg<strong>in</strong>g of messages. 9. Control of service start-up <strong>and</strong> close-down, <strong>in</strong>clud<strong>in</strong>g<br />

any recovery on a restart." (International Computers Limited, 1987, p4)<br />

But what happens when a user wants to make an enquiry which either (a) cannot be completed with<strong>in</strong><br />

the three or four seconds typically allocated to a given message-pair, or else (b) produces results<br />

which will not fit with<strong>in</strong> the dimensions of the available screen display? Well the answer is to do a<br />

screen-by-screen display, with each screen show<strong>in</strong>g a subset of the total output. Of course, it takes<br />

time for the user to do whatever it is s/he wants to do with each screen-load of output, which means,<br />

<strong>in</strong> turn, that subtotals etc. <strong>and</strong> restart po<strong>in</strong>ters such as database keys have to be safely ma<strong>in</strong>ta<strong>in</strong>ed<br />

from one screen display to the next. This problem was solved by the use of a temporary storage<br />

facility known as "partial results". This is how ICL describe this facility .....<br />

"In the simplest case, a transaction consists of just one message <strong>and</strong> one reply, <strong>in</strong> which case it is<br />

known as a s<strong>in</strong>gle-phase transaction. However, many transactions comprise more than one<br />

<strong>in</strong>teraction between the term<strong>in</strong>al operator <strong>and</strong> the TP service. Each of these <strong>in</strong>teractions may produce<br />

<strong>in</strong>termediate data that is to be used <strong>in</strong> conjunction with the <strong>in</strong>put to the next phase of the transaction.<br />

Such transactions are known as multi-phase transactions. Data produced by one phase <strong>and</strong> saved for<br />

use <strong>in</strong> one or more subsequent phases is known as partial results, <strong>and</strong> is stored [<strong>in</strong> a system file]<br />

between phases, along with other recovery data generated to enable the TP service to be restarted<br />

tidily after a service break." (International Computers Limited, 1987, p5; italics orig<strong>in</strong>al)<br />

Key Concept - Partial Results: Partial Results is the name given to a relatively small area of Ma<strong>in</strong><br />

<strong>Memory</strong> reserved by a TP Monitor to allow a program to pause <strong>and</strong> recommence across process<strong>in</strong>g<br />

phases, thus provid<strong>in</strong>g users with an apparently cont<strong>in</strong>uous display across what is objectively a<br />

discont<strong>in</strong>uous exchange. With a multi-phase enquiry program, Partial Results would typically be used<br />

to "keep one's place" <strong>in</strong> the underly<strong>in</strong>g data so that display n+1 could beg<strong>in</strong> where display n left off,<br />

<strong>and</strong> with a multi-phase update program (where convention requires that file updates are only ever<br />

done <strong>in</strong> the conclud<strong>in</strong>g phase), it would be used to carry forward potential updates <strong>in</strong> short-term<br />

storage until committal to long-term storage was required.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> it is tempt<strong>in</strong>g to speculate that some form of mental partial results might be <strong>in</strong>volved. We<br />

consider this issue more fully <strong>in</strong> Part 7. >><br />

Two further useful concepts from the world of transaction process<strong>in</strong>g are those of the "success unit"<br />

<strong>and</strong> the "rollback unf<strong>in</strong>ished" .....<br />

Key Concepts - "Success Units" <strong>and</strong> "Rollback": A process<strong>in</strong>g success unit is a succession of<br />

referentially related file or database update operations which - because <strong>in</strong> some way they belong<br />

together - cannot sensibly be <strong>in</strong>terrupted by a system failure. For example, if you want to book a<br />

flight <strong>and</strong> the system fails after hav<strong>in</strong>g taken your name <strong>and</strong> address, but before hav<strong>in</strong>g taken your<br />

dest<strong>in</strong>ation, then those partial updates should be forcibly discarded as soon as the system has been<br />

recovered, <strong>and</strong> the transaction begun aga<strong>in</strong> <strong>in</strong> its entirety. What the system does, therefore, is to set<br />

an "unf<strong>in</strong>ished <strong>in</strong>dicator" immediately before the first partial update, <strong>and</strong> unset it only after full <strong>and</strong><br />

satisfactory completion. In the event of process<strong>in</strong>g failure dur<strong>in</strong>g the updates, any updates coded as<br />

"unf<strong>in</strong>ished" <strong>in</strong> this way can then be "rolled back", that is to say, reversed out. This form of "rollback<br />

unf<strong>in</strong>ished" recovery action is a way of ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g data <strong>in</strong>tegrity <strong>in</strong> an imperfect world. It recognises<br />

the fact that all systems are bound eventually to fail, <strong>and</strong> that when they do they may be part-way<br />

through a number of logically related file updates.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

from the CDC 6600, but brought <strong>in</strong> pipel<strong>in</strong><strong>in</strong>g with four sets of <strong>in</strong>struction buffers, <strong>and</strong> <strong>in</strong>troduced<br />

"vector process<strong>in</strong>g" .....<br />

Key Concept - "Vector Process<strong>in</strong>g": So far as the computer <strong>in</strong>dustry is concerned, a "vector" is an<br />

ordered list <strong>in</strong> memory, that is to say, one of the data arrays we described <strong>in</strong> Part 4 (Section 2.3). It<br />

has a start<strong>in</strong>g address, a number of elements, <strong>and</strong> a constant "stride" (ie. the address <strong>in</strong>crement for<br />

each successive element). Once created, vectors can be used to speed up the process<strong>in</strong>g of large<br />

arrays whenever an <strong>in</strong>struction needs to be carried out on every element. This calls for a specially<br />

designed CPU, complete with "vector registers" <strong>and</strong> an upgraded pipel<strong>in</strong>e. It also requires careful<br />

software design to play to the strengths of the hardware, specifically because vector<strong>in</strong>g can only be<br />

done from the <strong>in</strong>nermost loop of a DO loop (Chiang, 2003 onl<strong>in</strong>e). The pay-off comes <strong>in</strong> reductions of<br />

up to 90% <strong>in</strong> cycles per element. For detailed worked examples, see the Queen's University Belfast<br />

webpage.<br />

Cray died <strong>in</strong> a road traffic accident <strong>in</strong> September 1996 [tribute], but his company lives on [see product<br />

range], <strong>and</strong> nowadays companies like IBM, Unisys, <strong>and</strong> Fujitsu always like to have someth<strong>in</strong>g special<br />

at the top of their ranges. [For a review of the Cray supercomputer range, see Murray (1997), <strong>and</strong> for<br />

a review of the fastest mach<strong>in</strong>es currently <strong>in</strong> use, see Wikipedia.]<br />

3.5 Expert Systems, "Inference Eng<strong>in</strong>es", <strong>and</strong> Fifth Generation Fever<br />

By the late 1970s, what with home comput<strong>in</strong>g, fourth generation ma<strong>in</strong>frames, <strong>and</strong> supercomputers,<br />

the world suddenly found itself with a lot of mips to play with. But what software, apart from arcade<br />

games, were we go<strong>in</strong>g to run on all this hardware? Well <strong>in</strong> one bold experiment, we were given what<br />

were rather gr<strong>and</strong>ly called "expert systems" .....<br />

Key Concept - Expert Systems: "An expert system is a class of computer programs developed by<br />

researchers <strong>in</strong> artificial <strong>in</strong>telligence dur<strong>in</strong>g the 1970's <strong>and</strong> applied commercially throughout the 1980's.<br />

In essence, they are programs made up of a set of rules that analyse <strong>in</strong>formation (usually supplied by<br />

the user of the system) about a specific class of problem, <strong>and</strong> provide an analysis or recommendation<br />

of the problem, <strong>and</strong>, depend<strong>in</strong>g on their design, a recommended course of action." (Wikipedia, 2003).<br />

Alternatively, "an expert system is a comput<strong>in</strong>g system which embodies organised knowledge<br />

concern<strong>in</strong>g some specific area of human expertise [.....] sufficient to be able to do duty as a skilful <strong>and</strong><br />

cost effective consultant" (Michie, 1979). The body of organised knowledge is known as the<br />

"knowledge base", <strong>and</strong> the software which <strong>in</strong>terprets <strong>and</strong> applies that knowledge is known as the<br />

"<strong>in</strong>ference eng<strong>in</strong>e".<br />

The first recognised expert system was called DENDRAL, <strong>and</strong> was developed <strong>in</strong> the period 1965 to<br />

1975 by a student of Herbert Simons, Edward A. Feigenbaum. DENDRAL was designed to take the<br />

human expert out of the day-to-day medical decision mak<strong>in</strong>g loop, <strong>and</strong> it did this by constant recourse<br />

to a knowledge base of pre-loaded rules <strong>and</strong> statements. The idea was that the expert knowledge of<br />

professors <strong>and</strong> senior consultants would be "captured" <strong>in</strong> the first <strong>in</strong>stance by <strong>in</strong>terview, <strong>and</strong>, once<br />

codified, would be made available through the mach<strong>in</strong>e for use by more junior grades.<br />

DENDRAL <strong>in</strong>spired many imitators, <strong>in</strong>clud<strong>in</strong>g MYCIN, developed between 1972 <strong>and</strong> 1980 by a<br />

research team at Stanford University led by Edward <strong>Short</strong>liffe. Here is MYCIN's conceptual<br />

specification .....<br />

Revised August 5, 2008 Page 141 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"MYCIN is an <strong>in</strong>teractive program that diagnoses certa<strong>in</strong> <strong>in</strong>fectious diseases, prescribes antimicrobial<br />

therapy, <strong>and</strong> can expla<strong>in</strong> its reason<strong>in</strong>g <strong>in</strong> detail. In a controlled test, its performance equalled that of<br />

specialists. In addition, the MYCIN program <strong>in</strong>corporated several important AI developments. MYCIN<br />

extended the notion that the knowledge base should be separate from the <strong>in</strong>ference eng<strong>in</strong>e, <strong>and</strong> its<br />

rule-based <strong>in</strong>ference eng<strong>in</strong>e was built on a backward-cha<strong>in</strong><strong>in</strong>g, or goal-directed, control strategy.<br />

S<strong>in</strong>ce it was designed as a consultant for physicians, MYCIN was given the ability to expla<strong>in</strong> both its<br />

l<strong>in</strong>e of reason<strong>in</strong>g <strong>and</strong> its knowledge. Because of the rapid pace of developments <strong>in</strong> medic<strong>in</strong>e, the<br />

knowledge base was designed for easy augmentation. And because medical diagnosis often <strong>in</strong>volves<br />

a degree of uncerta<strong>in</strong>ty, MYCIN's rules <strong>in</strong>corporated certa<strong>in</strong>ty factors to <strong>in</strong>dicate the importance (i.e.,<br />

likelihood <strong>and</strong> risk) of a conclusion. Although MYCIN was never used rout<strong>in</strong>ely by physicians, it has<br />

substantially <strong>in</strong>fluenced other AI research."<br />

The area was, however, dismissed as market<strong>in</strong>g hype by many, <strong>and</strong> was dogged by resistance from<br />

the field, where there were clearly a lot of latter-day Luddites .....<br />

ASIDE: Expert systems became "all the rage" <strong>in</strong> British Telecom <strong>in</strong> the early 1980s, permeat<strong>in</strong>g down<br />

from the headquarters concept boys "on evaluation". The author can remember his colleagues be<strong>in</strong>g<br />

for the most part dist<strong>in</strong>ctly unimpressed. "They keep ask<strong>in</strong>g us why we do the th<strong>in</strong>gs we do," they<br />

compla<strong>in</strong>ed. "But we don't know. We problem-solve most of these th<strong>in</strong>gs <strong>in</strong> real time - that's what they<br />

pay us for." [This is a perfect <strong>in</strong>stance of what Donald Michie would later describe as "the <strong>in</strong>articulacy<br />

of the expert practitioners" (Computer Weekly, 24th January 1991), <strong>and</strong> is typical of human higher<br />

cognition. Nor is this weakness necessarily down to poor levels of <strong>in</strong>sight, because it turns out that<br />

many of the processes of reason<strong>in</strong>g are actually performed unconsciously - see the Velmans-Gray<br />

position <strong>in</strong> Section 3.12.] As a result, not even our project helpdesk got an expert system to help it out.<br />

Nevertheless, as reflective professionals we felt a certa<strong>in</strong> amount of unease, because higher<br />

management clearly gave the idea a lot of credence (<strong>and</strong> it was just possible that they knew<br />

someth<strong>in</strong>g we did not). So we resolved to reconsider our position every few years, <strong>and</strong> apologise if we<br />

were forced by the unfold<strong>in</strong>g of events ever to change our m<strong>in</strong>ds. That was 20 years ago, <strong>and</strong> no<br />

apology is yet necessary - the human expert can still run r<strong>in</strong>gs around any mach<strong>in</strong>e at this sort of<br />

professionalism-<strong>in</strong>-practice task. This is not to say that mach<strong>in</strong>e expertise is impossible, merely that<br />

you are go<strong>in</strong>g to need a system the size of Cyc [see Section 3.9] to provide it. In the meantime, the<br />

expert systems on the market simply provide "potted" expertise for use <strong>in</strong> call centres <strong>and</strong> by cl<strong>in</strong>ical<br />

assistants. They do a decent enough job, but with every major profession <strong>in</strong> the grips of an<br />

<strong>in</strong>formation explosion, <strong>and</strong> every professional struggl<strong>in</strong>g to stay abreast of it, expert systems are by<br />

necessity always out of date.<br />

What expert systems did do was <strong>in</strong>spire the Japanese, <strong>and</strong> <strong>in</strong> 1980 they declared that the "fifth<br />

generation" of comput<strong>in</strong>g had arrived. The announcement was made by the Japanese M<strong>in</strong>istry of<br />

International Trade <strong>and</strong> Industry (MITI) as an attempt to deliver artificial <strong>in</strong>telligence based upon "large<br />

scale parallel process<strong>in</strong>g". A major conference followed <strong>in</strong> October 1981 <strong>in</strong> Tokyo, where, <strong>in</strong> addition<br />

to expert systems, up-beat proposals were heard for distributed storage, high power DBMSs, <strong>and</strong><br />

<strong>in</strong>ference software to allow human-like knowledge-process<strong>in</strong>g. It all went down rather too well, <strong>and</strong> <strong>in</strong><br />

Brita<strong>in</strong>, fifth generation fever <strong>in</strong>spired the creation of the Department of Trade <strong>and</strong> Industry's "Alvey<br />

Flagship <strong>in</strong>itiative". Procter (1998/2003 onl<strong>in</strong>e) describes ICL's <strong>in</strong>volvement <strong>in</strong> Alvey dur<strong>in</strong>g the period<br />

1983 to 1987, <strong>and</strong> names some of the high performance parallel mach<strong>in</strong>es which then followed.<br />

Yet the Japanese had bitten off far more than they could chew, <strong>and</strong> project after project failed to<br />

deliver aga<strong>in</strong>st the earlier promises. The fifth generation <strong>in</strong>itiative was therefore stood down <strong>in</strong> the late<br />

1980s. Scott Callon (1996, onl<strong>in</strong>e) describes it as hav<strong>in</strong>g been doomed to failure from the beg<strong>in</strong>n<strong>in</strong>g,<br />

Revised August 5, 2008 Page 142 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> as hav<strong>in</strong>g been little more than "a public relations ploy" by MITI. Others have po<strong>in</strong>ted to the overreliance<br />

on the PROLOG programm<strong>in</strong>g language, which was not up to the task. There are then two<br />

schools of thought about where that left th<strong>in</strong>gs. On the one h<strong>and</strong> there are those who believe it put the<br />

world back <strong>in</strong> the fourth generation, <strong>and</strong> on the other there are those who believe it ushered <strong>in</strong> the<br />

sixth generation. Either way, a fortune awaits any cognitive scientist who can unravel the jo<strong>in</strong>t<br />

complexities of bra<strong>in</strong> <strong>and</strong> m<strong>in</strong>d <strong>and</strong> set the fifth generation go<strong>in</strong>g aga<strong>in</strong>. For further details, see<br />

Kahaner (1993/2002 onl<strong>in</strong>e). Callon (1997) provides an <strong>in</strong>terest<strong>in</strong>g exposé of Japanese bureaucratic<br />

participation <strong>in</strong> the hype <strong>and</strong> the technical failure, if <strong>in</strong>terested. The latest products <strong>in</strong> the spirit of the<br />

fifth generation are heavily Internet-oriented, <strong>and</strong> <strong>in</strong>clude "avatars" <strong>and</strong> "<strong>in</strong>telligent agents" .....<br />

Key Concept - Avatars: In H<strong>in</strong>du mythology, an avatar is an <strong>in</strong>carnation of a God (Wikipedia, 2003<br />

onl<strong>in</strong>e), that is to say, a way <strong>in</strong> which God makes h/self accessible to humans. Thus the God Vishnu<br />

may manifest himself as a fish, a tortoise, a boar, a man-lion, etc. The word was then adopted by the<br />

computer <strong>in</strong>dustry to refer to a two-dimensional virtual person, a latter-day "talk<strong>in</strong>g head", complete<br />

with a synthetic personality to complement its synthetic voice.<br />

Key Concept - Intelligent Agents: An agent is a robot implemented entirely <strong>in</strong> software, <strong>and</strong> thus<br />

differs from an avatar <strong>in</strong> that it is able to do th<strong>in</strong>gs off-screen, that is to say, with<strong>in</strong> cyberspace itself.<br />

The idea arose <strong>in</strong> the early 1990s as a way of search<strong>in</strong>g <strong>in</strong>adequately <strong>in</strong>dexed databases such as the<br />

World Wide Web. You launch an agent applet (= small application) from your home term<strong>in</strong>al <strong>and</strong> it<br />

goes off, if necessary for days, to <strong>in</strong>spect web content site by site, look<strong>in</strong>g for relevant content, but far<br />

more thoroughly than would be possible us<strong>in</strong>g the dozen or so keywords available on browsers like<br />

Google.<br />

3.6 Neural Networks, 1971 to Date<br />

NB: An earlier version of the material <strong>in</strong> this section appeared <strong>in</strong> Smith (1996; Chapter 6). It is<br />

repeated here with m<strong>in</strong>or amendments <strong>and</strong> supported with hyperl<strong>in</strong>ks.<br />

The 1969 M<strong>in</strong>sky-Papert critique [see Section 1.11] brought about a period of soul search<strong>in</strong>g, <strong>and</strong><br />

prompted the development of more powerful methods, which culm<strong>in</strong>ated <strong>in</strong> the modern "neural<br />

network" (NN) [glossary]. Unlike perceptrons, modern NNs typically have three layers of artificial<br />

neurons. Now there is an <strong>in</strong>put layer, an output layer, <strong>and</strong> - s<strong>and</strong>wiched between these - an "<strong>in</strong>visible",<br />

or "hidden", layer. All communication between the <strong>in</strong>put <strong>and</strong> output layers has to go via the <strong>in</strong>visible<br />

layer, giv<strong>in</strong>g you two sets of connection weight<strong>in</strong>gs to play with, <strong>in</strong>stead of one. These three-layered<br />

NNs soon proved far more competent than the older two-layered ones.<br />

Now the beauty of NNs is that each electronic synapse is purpose-built to take care of its own<br />

weight<strong>in</strong>g. The network, <strong>in</strong> other words, is free to acquire its knowledge the same way biological<br />

bra<strong>in</strong>s acquire theirs - by learn<strong>in</strong>g from experience. In comput<strong>in</strong>g terms, NNs are therefore very<br />

important because they need no programm<strong>in</strong>g. NNs are now be<strong>in</strong>g put to a grow<strong>in</strong>g variety of<br />

commercial applications, such as tell<strong>in</strong>g co<strong>in</strong> from co<strong>in</strong> <strong>in</strong> vend<strong>in</strong>g mach<strong>in</strong>es (they "recognise" the<br />

different bounces), check<strong>in</strong>g your credit card spend<strong>in</strong>g pattern, <strong>and</strong> steer<strong>in</strong>g robots. They have also<br />

had a major impact on cognitive theory. Neuroscientists now see NNs as validat<strong>in</strong>g the traditional cell<br />

assembly concept: each weighted connection <strong>in</strong> an NN is simply the electronic equivalent of biology's<br />

variable synaptic strength. Indeed, McNaughton <strong>and</strong> Nadel (1990) rate NNs as such an important<br />

development of this concept that they term all such networks "Hebb-Marr networks" . Other authors<br />

prefer the term "matrix memory" to convey the same underly<strong>in</strong>g concept. And the new science even<br />

has a new name - "Connectionism" [see st<strong>and</strong>-alone h<strong>and</strong>out].<br />

Revised August 5, 2008 Page 143 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

And yet, as with expert systems, even NNs were runn<strong>in</strong>g out of steam by the end of the 1980s. As<br />

they were built bigger <strong>and</strong> bigger <strong>and</strong> given harder <strong>and</strong> harder problems, failures started to be<br />

reported. The genre had come up aga<strong>in</strong>st a major theoretical <strong>and</strong> practical barrier. A concise <strong>and</strong><br />

highly illustrative example of the problem is provided by the Medical Research Council's Dennis Norris,<br />

who describes how a system of three <strong>in</strong>terl<strong>in</strong>ked small NNs was able to solve a problem which had<br />

been beyond the competence of a s<strong>in</strong>gle large one. In other words, there exist tasks for which you<br />

need many separate NNs; <strong>and</strong> which, moreover, you need to connect up <strong>in</strong> a very precise fashion.<br />

Giv<strong>in</strong>g you, of course, a network of neural networks, <strong>in</strong> which the connections with<strong>in</strong> AND<br />

between each module are both vitally important.<br />

ASIDE: We should po<strong>in</strong>t out that learn<strong>in</strong>g by experience only takes place with<strong>in</strong> the modules. The<br />

connections between the modules do not learn by experience. That aspect of the architecture requires<br />

a human designer, <strong>and</strong> attracts surpris<strong>in</strong>gly little research!<br />

The secret, <strong>in</strong> other words, was to break the problem down <strong>in</strong>to its logical components. "Instead of<br />

hav<strong>in</strong>g to solve one large problem," Norris writes, "[the system then] simply had to solve three far<br />

smaller problems" (Norris, 1991, p295). The specific problem Norris gave his network was how, given<br />

any date <strong>in</strong> a century, to reply with what day of the week it was .....<br />

Exercise - What Day of the Week?<br />

(1) Norris divided the date-day problem <strong>in</strong>to three sub-problems. Can you do it <strong>in</strong> less, or<br />

would you prefer to do it <strong>in</strong> more? Familiarise yourself with this task. What day of the<br />

week was/will be .....<br />

seven days ago<br />

ten days' time<br />

49 days ago<br />

48 days ago<br />

7000 days' time<br />

6999 days' time<br />

11th September 2001<br />

18th March 2042<br />

29th February 2080<br />

Extended Exercise - Modular Cognitive Process<strong>in</strong>g<br />

(2) Assum<strong>in</strong>g that each sub-problem stage can be dealt with by a s<strong>in</strong>gle NN, work to the<br />

Revised August 5, 2008 Page 144 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Yourdon diagramm<strong>in</strong>g format [see our e-paper on "How to Draw Cognitive Diagrams", if<br />

not familiar with this method], <strong>and</strong> sketch the result<strong>in</strong>g higher order network<br />

architecture. (In other words, state how you propose "strapp<strong>in</strong>g" your <strong>in</strong>dividual<br />

processors together <strong>in</strong>to a complete system.)<br />

(3) Allocate an appropriate name to each separate process<strong>in</strong>g module, <strong>and</strong> state the<br />

nature of the <strong>in</strong>formation flow<strong>in</strong>g between them.<br />

"Go<strong>in</strong>g modular" <strong>in</strong> this way did the trick, <strong>and</strong> two years later H<strong>in</strong>ton, Plaut, <strong>and</strong> Shallice (1993) built a<br />

modular connectionist network capable of rudimentary read<strong>in</strong>g out loud. And - tantalis<strong>in</strong>gly - their<br />

network of neural networks ended up be<strong>in</strong>g about as granular as the transcod<strong>in</strong>g model popularised<br />

by Ellis <strong>and</strong> Young (1988). We shall be return<strong>in</strong>g to this po<strong>in</strong>t <strong>in</strong> Part 7.<br />


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Shopp<strong>in</strong>g list [courtesy of the British Computer Society's Natural Language Translation Specialist<br />

Group].<br />

However, it is still very easy to catch these products out, for they hate any form of l<strong>in</strong>guistic or<br />

cognitive subtlety or complexity. Indeed, the st<strong>and</strong>ard advice to get the best out of the available MT<br />

tools is to use simple, grammatical, structures, write 20 words or so per sentence, avoid jargon, <strong>and</strong> if<br />

you <strong>in</strong>sist on us<strong>in</strong>g more than one clause per sentence take care not to omit the "whos" <strong>and</strong> "thats"<br />

which mark the clause junctions (O'Connell, 2001/2003 onl<strong>in</strong>e).<br />

3.8 Mach<strong>in</strong>e Chess <strong>and</strong> Problem Solv<strong>in</strong>g, 1971 to Date<br />

Once Greenblatt's MacHack system had shown that chess play<strong>in</strong>g software could defeat a human<br />

champion [see Section 1.12], system performance gradually improved throughout the 1970s <strong>and</strong><br />

1980s [timel<strong>in</strong>e]. The next major milestone was the 1988 "Deep Thought" system, built at Carnegie<br />

Mellon University by a team of graduate students <strong>in</strong>clud<strong>in</strong>g Feng-Hsiung Hsu <strong>and</strong> Murray Campbell,<br />

<strong>and</strong> capable of analys<strong>in</strong>g 750,000 possible moves per second (Powell, 1997/2003 onl<strong>in</strong>e). An<br />

upgraded system was beaten by Gary Kasparov <strong>in</strong> 1989, but came back <strong>in</strong> 1993 to beat Judit Polgar.<br />

Not wish<strong>in</strong>g to be outdone, IBM countered <strong>in</strong> February 1996 with "Deep Blue", developed by a team<br />

led by C.J. Tan <strong>and</strong> advised by US chess champion Joel Benjam<strong>in</strong>. It ran on an IBM 32-node<br />

RS/6000, <strong>and</strong> could evaluate a phenomenal 200 million moves per second (Apte et al, op. cit.). Yet<br />

even this did not stop it los<strong>in</strong>g four-two to Kasparov (although it won the 1997 rematch 3.5-2.5). Apte,<br />

Morgenstern, <strong>and</strong> Hong (2000/2003 onl<strong>in</strong>e) tell the Deep Blue story like this .....<br />

"Perhaps the most famous of IBM's game-play<strong>in</strong>g programs is Deep Blue which made headl<strong>in</strong>es<br />

when it beat Gary Kasparov, thus becom<strong>in</strong>g the first chess-play<strong>in</strong>g program to defeat a reign<strong>in</strong>g world<br />

champion. Develop<strong>in</strong>g a champion-class chess-play<strong>in</strong>g program had long been a challenge problem<br />

for AI. Game-play<strong>in</strong>g programs have traditionally used a comb<strong>in</strong>ation of evaluation functions to<br />

determ<strong>in</strong>e how good a particular position is, <strong>and</strong> effective search techniques to search through a<br />

space of possible states. The difficulty <strong>in</strong> develop<strong>in</strong>g a champion-level chess-play<strong>in</strong>g program lies <strong>in</strong><br />

the facts that first, the state space is so large (s<strong>in</strong>ce the branch<strong>in</strong>g factor or ratio, the number of states<br />

that can be reached from a given state of the game, is 30 - 40) <strong>and</strong> second, the sophisticated<br />

evaluation of chess positions can be difficult to develop <strong>and</strong> computationally expensive to perform."<br />

(p7)<br />

As for the more general world of mach<strong>in</strong>e problem solv<strong>in</strong>g, the problem of context was aga<strong>in</strong> rear<strong>in</strong>g<br />

its ugly head, although this time it went by the name of "common sense" knowledge. Programs<br />

were now gett<strong>in</strong>g quite adept at follow<strong>in</strong>g rules <strong>and</strong> implications, provided they stayed with<strong>in</strong> the<br />

immediate problem doma<strong>in</strong>. But more <strong>and</strong> more lapses of general knowledge were be<strong>in</strong>g reported.<br />

The pivotal paper here was by the father of AI himself, John McCarthy, who po<strong>in</strong>ted out <strong>in</strong> McCarthy<br />

(1959/2003 onl<strong>in</strong>e) that there was <strong>in</strong>variably far more to a problem than would <strong>in</strong>itially meet the eye.<br />

There could be thous<strong>and</strong>s of fragments of knowledge - some obvious, but others not so obvious -<br />

which might somehow prove to be relevant, <strong>and</strong> without that background general knowledge - the<br />

common sense - the mach<strong>in</strong>e simply did not know enough. In the next section, we look at attempts to<br />

get around the problem.<br />

While we are here, however, there is time to <strong>in</strong>troduce the concept of "production systems",<br />

perhaps the best known theoretical framework for expla<strong>in</strong><strong>in</strong>g real time human cognition. Here are the<br />

basic concepts, as taught on the Tr<strong>in</strong>ity College (Hartford, CT) website ....<br />

Revised August 5, 2008 Page 146 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"A production system is a model of computation that provides pattern-directed search control us<strong>in</strong>g a<br />

set of production rules, a work<strong>in</strong>g memory, <strong>and</strong> a recognise-act cycle. [//] The productions are<br />

rules of the form C -> A, where the LHS is known as the condition <strong>and</strong> the RHS is known as the<br />

action. These rules are <strong>in</strong>terpreted as follows: given condition, C, take action A. The action part can<br />

be any step <strong>in</strong> the problem solv<strong>in</strong>g process. The condition is the pattern that determ<strong>in</strong>es whether the<br />

rule applies or not [//] Work<strong>in</strong>g memory conta<strong>in</strong>s a description of the current state of the world <strong>in</strong><br />

the problem-solv<strong>in</strong>g process. The description is matched aga<strong>in</strong>st the conditions of the production rules.<br />

When a condition matches, its action is performed. Actions are designed to alter the contents of<br />

work<strong>in</strong>g memory. [//] The recognise-act cycle is the control structure. The patterns conta<strong>in</strong>ed <strong>in</strong><br />

work<strong>in</strong>g memory are matched aga<strong>in</strong>st the conditions of the production rules, which produces a subset<br />

of rules known as the conflict set, whose conditions match the contents of work<strong>in</strong>g memory. One (or<br />

more) of the rules <strong>in</strong> the conflict set is selected (conflict resolution) <strong>and</strong> fired, which means its<br />

action is performed."<br />

The production system is thus an eclectic comb<strong>in</strong>ation of the cybernetic loop [see, for example, our epaper<br />

on "Cybernetics" (especially Figure 2)], with the "TOTE" control cycle proposed by Miller,<br />

Galanter, <strong>and</strong> Pribram (1960), but extended by the concept of work<strong>in</strong>g memory imported from<br />

computer science. It has been suggested that the concept of the production rule derives orig<strong>in</strong>ally<br />

from the theories of the Polish logician, Emil Post (eg. Post, 1943), but the modern theory is the work<br />

of Carnegie Mellon University's John R. Anderson (1947-) (eg. Anderson, 1976, 1983, 1990, 1993).<br />

Anderson's production system is called ACT* (pronounced "act-star"), <strong>and</strong> relies on the dist<strong>in</strong>ction<br />

between declarative, procedural, <strong>and</strong> work<strong>in</strong>g memory [def<strong>in</strong>itions], with declarative memory be<strong>in</strong>g<br />

presumed to be "a semantic net l<strong>in</strong>k<strong>in</strong>g propositions, images, <strong>and</strong> sequences by associations".<br />

Key Concept - "Production Systems" <strong>and</strong> "Production Rules": "A production system consists of a<br />

collection of if-then rules that together form an <strong>in</strong>formation-process<strong>in</strong>g computer simulation model of<br />

some cognitive task, or range of tasks" (Young, 2003 onl<strong>in</strong>e).


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

(or 'rules') designed to capture a large portion of what we normally consider consensus knowledge<br />

about the world. For example, Cyc knows that trees are usually <strong>in</strong>doors, that once people die they<br />

stop buy<strong>in</strong>g th<strong>in</strong>gs, <strong>and</strong> that glasses of liquid should be carried rightside-up." [Citation]<br />

The system is today managed by Cycorp, Inc, of Aust<strong>in</strong>, TX, who describe themselves as the world's<br />

lead<strong>in</strong>g supplier of "formalised common sense", <strong>and</strong> predict great th<strong>in</strong>gs for the future [as do we]. For<br />

more about Cyc <strong>and</strong> its people, click here, or here, or here.<br />

There are also a number of network offer<strong>in</strong>gs <strong>in</strong> the Richens - Masterman - Halliday - Ceccato<br />

(psycho)l<strong>in</strong>guistic tradition [see Section 1.9]. For example, the l<strong>in</strong>k from Halliday's "systems" to<br />

Sydney M. Lamb's "relational networks" is explicit .....<br />

"A symposium at Rice University <strong>in</strong> 1984 featured among others, papers by Lamb <strong>and</strong> Halliday <strong>and</strong><br />

their co-workers, <strong>and</strong> focussed on a comparison of systemic analyses with various cognitive analyses<br />

of a common oral text captured on video [.....] Halliday's functional work has <strong>in</strong>fluenced Lamb's<br />

theoretical work <strong>in</strong> a number of important ways, <strong>and</strong> vice-versa. Lamb's relational work notation took<br />

important cues from Halliday's systemic diagrams ....." (Copel<strong>and</strong>, 2000)<br />

Then there is the work of Surrey University's Ian J. Thompson on "layered cognitive networks".<br />

Thompson beg<strong>in</strong>s by summaris<strong>in</strong>g the recent history of "semantic nets", thus .....<br />

"Semantic nets [various citations] are an attempt to represent the mean<strong>in</strong>gs of sentences by means of<br />

a formal network structure. Various forms of these structures are possible [citations], but typically<br />

objects are represented by nodes <strong>in</strong> a network, their relations by arcs between the nodes, <strong>and</strong><br />

<strong>in</strong>ferences <strong>in</strong>volv<strong>in</strong>g them by production rules which manipulate the network." (Thompson, 1990/2003<br />

onl<strong>in</strong>e)<br />

It is, however, difficult to build nets capable of loosely apply<strong>in</strong>g prior knowledge. After all, Thompson<br />

expla<strong>in</strong>s, we immediately recognise a four-leafed clover, despite the fact that there can be no preexist<strong>in</strong>g<br />

node for it. He goes on to discuss how a layered net architecture might assist .....<br />

"The ability to recognise new <strong>in</strong>stances of a specific concept means that the concept-node cannot be<br />

activated by purely historic l<strong>in</strong>ks, <strong>and</strong> means that some essential k<strong>in</strong>d of rule-based operation will<br />

have to be built <strong>in</strong>to the system. Once this is done, I argue that both the symbol <strong>and</strong> the process<strong>in</strong>g<br />

features of traditional symbolic systems can be <strong>in</strong>corporated with<strong>in</strong> connectionist networks. [//] The<br />

architecture proposed to h<strong>and</strong>le both connectionist l<strong>in</strong>ks <strong>and</strong> pattern-directed rules <strong>in</strong>volves layers of<br />

dist<strong>in</strong>ct networks, so that the relations with<strong>in</strong> a layer are given explicitly by the l<strong>in</strong>ks of the graph,<br />

whereas the relations between layers have a functional or rule-based <strong>in</strong>terpretation. Specific types of<br />

semantic contents will be proposed for the dist<strong>in</strong>ct layers, guided to some extent by Piagetian theories<br />

of development."<br />


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

And f<strong>in</strong>ally under this head<strong>in</strong>g, we must re-<strong>in</strong>troduce John F. Sowa [previously mentioned <strong>in</strong> Part 4<br />

(Section 4.2)], who has capitalised on his experience turn<strong>in</strong>g data models <strong>in</strong>to databases by serv<strong>in</strong>g<br />

on the advisory panel dur<strong>in</strong>g the draft<strong>in</strong>g of the American National St<strong>and</strong>ards Institute (ANSI) st<strong>and</strong>ard<br />

for "Conceptual Graph Interchange Form" (CGIF). This is an attempt to specify "the syntax <strong>and</strong><br />

semantics of conceptual graphs (CGs) <strong>and</strong> the representation as mach<strong>in</strong>e-readable character str<strong>in</strong>gs<br />

<strong>in</strong> [CGIF]" [Source]. To conform to this st<strong>and</strong>ard, an IT system must be able to read <strong>in</strong> a sequential<br />

description of a conceptual network, use those data to establish the physical network with<strong>in</strong> its own<br />

filestore [no mean feat, <strong>in</strong> fact, as any database programmer will confirm], <strong>and</strong> then be able to convert<br />

that network, duly updated if necessary, back out <strong>in</strong>to a sequential description aga<strong>in</strong>, for onward<br />

transmission. Here is how he sees the network content translat<strong>in</strong>g<br />

<strong>in</strong>to CGIF syntax .....<br />

[Go *x] (Agnt ?x [Person: John]) (Dest ?x [City: Boston]) (Inst ?x [Bus])<br />

3.10 Robotics, 1971 to Date<br />

When we <strong>in</strong>troduced the science of robotics <strong>in</strong> Part 4 (Section 4.6), we saw how the concept of the<br />

robot emerged from antiquity, firstly <strong>in</strong>to science fiction, then <strong>in</strong>to remote controlled weapon<br />

technology, <strong>and</strong> then <strong>in</strong>to guided missile technology <strong>and</strong> modern military robotics. Nowadays,<br />

however, the science is mature enough to support "pure" research as well as applied, <strong>and</strong> probably<br />

the s<strong>in</strong>gle most <strong>in</strong>fluential figure <strong>in</strong> modern robotics is Rodney A. Brooks, Director of the MIT <strong>Artificial</strong><br />

<strong>Intelligence</strong> Laboratory <strong>and</strong> Fujitsu Professor of Computer Science. Hav<strong>in</strong>g jo<strong>in</strong>ed MIT <strong>in</strong> 1984, his<br />

first headl<strong>in</strong>e-grabb<strong>in</strong>g development was of a six-legged <strong>in</strong>sect walk<strong>in</strong>g robot called Genghis, where<br />

the design problem was how to synchronise six simple limbs <strong>in</strong>to one overarch<strong>in</strong>g system of directed<br />

locomotion. The solution was to strap together 57 separate processors, 48 work<strong>in</strong>g at reflex level<br />

(eight per leg!), four more work<strong>in</strong>g to deliver level-platform coord<strong>in</strong>ation, <strong>and</strong> five more (<strong>and</strong> only five)<br />

dedicated to "central control" (Brooks, 1993, p359).<br />

Brooks used this experience to draw a broader po<strong>in</strong>t .....<br />

"This exercise <strong>in</strong> synthetic neuroethology has successfully demonstrated [that] higher-level<br />

behaviours (such as follow<strong>in</strong>g people) can be <strong>in</strong>tegrated <strong>in</strong>to a system that controls lower level<br />

behaviours such as leg lift<strong>in</strong>g <strong>and</strong> force balanc<strong>in</strong>g, <strong>in</strong> a completely seamless way. There is no need to<br />

postulate qualitatively different sorts of structures for different levels of behaviours <strong>and</strong> no need to<br />

postulate unique forms of network <strong>in</strong>terconnect to <strong>in</strong>tegrate high-level behaviours. [//] Coherent<br />

macro behaviours can arise from many <strong>in</strong>dependent micro behaviours [<strong>and</strong>] there is no need<br />

to postulate a central repository for sensor fusion to feed <strong>in</strong>to." (Brooks, 1993, pp362-363; bold<br />

emphasis added)<br />

Other MIT projects have s<strong>in</strong>ce focussed on different areas of biological cybernetics <strong>and</strong>/or<br />

cognition .....<br />

Coco: Coco [picture] is a quadruped robot with "gorilla-like" proportions, <strong>and</strong> articulated arms, legs,<br />

neck, <strong>and</strong> eyes. It is be<strong>in</strong>g used for research <strong>in</strong>to postural <strong>and</strong> gaze adjustment dur<strong>in</strong>g locomotion <strong>and</strong><br />

visual <strong>in</strong>spection of the world.<br />

Cog: Cog is an attempt to coord<strong>in</strong>ate robotic eyes, head, <strong>and</strong> h<strong>and</strong>s, <strong>and</strong> to use the result<strong>in</strong>g<br />

exploratory subsystem to discover for itself th<strong>in</strong>gs about its world.<br />

Revised August 5, 2008 Page 149 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Kismet: Kismet [pictures] is the robot with the highly mobile eyes <strong>and</strong> eyebrows, just like "Johnny<br />

Five" [picture] <strong>in</strong> the movie "<strong>Short</strong> Circuit".


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"Most people have the <strong>in</strong>tuition that these mach<strong>in</strong>es may be do<strong>in</strong>g someth<strong>in</strong>g clever, but not clever<br />

enough. There's also doubt that the mach<strong>in</strong>es are do<strong>in</strong>g it the 'right way'. We, after all, are not digital<br />

computers. The only trouble is that those who know what k<strong>in</strong>d of 'hardware' we are - the anatomists<br />

<strong>and</strong> physiologists, especially those who study the bra<strong>in</strong> - have absolutely no idea how our m<strong>in</strong>d works<br />

either. So our <strong>in</strong>tuitive conviction that computers work the wrong way is certa<strong>in</strong>ly not based on any<br />

knowledge of what the 'right' way is. The c<strong>and</strong>idate must be able to do, <strong>in</strong> the real world of objects <strong>and</strong><br />

people, everyth<strong>in</strong>g that real people can do, <strong>in</strong> a way that is <strong>in</strong>dist<strong>in</strong>guishable (to a person) from the<br />

way real people do." (Harnad, 1991, pp43-44)<br />

Then there is the "Total Total Tur<strong>in</strong>g Test" (TTTT). This, writes Harnad, calls "for Tur<strong>in</strong>g<br />

<strong>in</strong>dist<strong>in</strong>guishability right down to the neurons <strong>and</strong> molecules [but] my own guess, though, is that [the]<br />

TTT already narrows down the degrees of freedom sufficiently" (Ibid., p53). The TTTT was soon<br />

followed by Br<strong>in</strong>gsjord's (1994) TTTT*, which <strong>in</strong>sists on there be<strong>in</strong>g a structural equivalence of<br />

mach<strong>in</strong>e <strong>and</strong> human at flowchart level, <strong>and</strong> Schweitzer's (1998) "Truly Total Tur<strong>in</strong>g Test" (TRTTT),<br />

which po<strong>in</strong>ts out weaknesses with Harnad's TTT, namely that we are be<strong>in</strong>g asked to make<br />

judgements about a species - <strong>in</strong>telligent mach<strong>in</strong>es - of which we have no real prior experience.<br />

Computers are "toy world" entities, he argues, not real world, <strong>and</strong> his proposed TRTTT therefore<br />

looks for long term evidence of mach<strong>in</strong>es accumulat<strong>in</strong>g achievements of their own, comparable to<br />

human achievements. Mach<strong>in</strong>es now need to <strong>in</strong>vent languages <strong>and</strong> board games, Schweitzer<br />

suggests, not just use them. So all <strong>in</strong> all, it is perhaps fortunate that Tur<strong>in</strong>g himself is no longer with us,<br />

for, be<strong>in</strong>g a stutterer, he might have taken all this t-t-test<strong>in</strong>g personally! [For thorough reviews of 50<br />

years of Tur<strong>in</strong>g Test<strong>in</strong>g, we recommend Van Gulick (1988) <strong>and</strong> Sayg<strong>in</strong>, Cicekli, <strong>and</strong> Akman (2000).]<br />

3.12 Mach<strong>in</strong>e Consciousness Revisited<br />

"The question of whether computers can th<strong>in</strong>k is like the question of whether submar<strong>in</strong>es can swim."<br />

(Edsger Dijkstra)<br />

The various forms of the Tur<strong>in</strong>g Test are now merely part of a newer, much larger, science -<br />

consciousness studies. The last two decades have seen consciousness become a legitimate topic for<br />

scientific <strong>in</strong>vestigation, <strong>and</strong> so much <strong>in</strong>terest has this generated that the science has recently been<br />

described as "the race for consciousness" (Taylor, 1999). Molecular biologists <strong>and</strong> quantum physicists<br />

now vie with neurologists, l<strong>in</strong>guists, <strong>and</strong> cognitive psychologists for the next critical discovery, while<br />

philosophers alternately baffle <strong>and</strong> <strong>in</strong>spire them all. Unfortunately, all the old problems still rema<strong>in</strong>.<br />

The issue of embodiment [see Section 1.13], for example, has grown <strong>in</strong> importance, not just because<br />

it poses an explanatory challenge <strong>in</strong> itself, but also [see Section 3.10] because body language<br />

modulates consciousness much of the time. Lakoff <strong>and</strong> Johnson's (1999) "Philosophy <strong>in</strong> the Flesh" is<br />

perhaps the widest read source on the subject. Here is how the authors state the problem .....<br />

"Any reason<strong>in</strong>g you do us<strong>in</strong>g a concept requires that the neural structures of the bra<strong>in</strong> carry out that<br />

reason<strong>in</strong>g. Accord<strong>in</strong>gly, the architecture of your bra<strong>in</strong>'s neural networks determ<strong>in</strong>es what concepts<br />

you have <strong>and</strong> hence the k<strong>in</strong>d of reason<strong>in</strong>g you can do. We have <strong>in</strong>herited from the Western<br />

philosophical tradition a theory of faculty psychology, <strong>in</strong> which we have a 'faculty' of reason that is<br />

separate from <strong>and</strong> <strong>in</strong>dependent of what we do with our bodies. In particular, reason is seen as<br />

<strong>in</strong>dependent of perception <strong>and</strong> bodily movement. In the Western tradition, this autonomous capacity<br />

of reason is regarded as what makes us essentially human, dist<strong>in</strong>guish<strong>in</strong>g us from all other animals.<br />

The evidence from cognitive science shows that classical faculty psychology is wrong. There is no<br />

such fully autonomous faculty of reason separate from <strong>and</strong> <strong>in</strong>dependent of bodily capacities such as<br />

perception <strong>and</strong> movement. The evidence supports, <strong>in</strong>stead, an evolutionary view, <strong>in</strong> which reason<br />

Revised August 5, 2008 Page 151 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

uses <strong>and</strong> grows out of such bodily capacities. These f<strong>in</strong>d<strong>in</strong>gs [.....] are profoundly disquiet<strong>in</strong>g <strong>in</strong> two<br />

respects. First, they tell us that human reason is a form of animal reason, a reason <strong>in</strong>extricably tied to<br />

our bodies <strong>and</strong> the peculiarities of our bra<strong>in</strong>s. Second, these results tell us that our bodies, bra<strong>in</strong>s, <strong>and</strong><br />

<strong>in</strong>teractions with our environment provide the mostly unconscious basis for our everyday metaphysics,<br />

that is, our sense of what is real." (Lakoff <strong>and</strong> Johnson, 1999, pp16-17)<br />

Nowhere are the effects of embodiment more clearly to be seen, the argument then runs, than <strong>in</strong> the<br />

pervasiveness of embodied metaphor <strong>in</strong> everyday language .....<br />

"Our subjective mental life is enormous <strong>in</strong> scope <strong>and</strong> richness. We make subjective judgements about<br />

such abstract th<strong>in</strong>gs as importance, similarity, difficulty, <strong>and</strong> morality, <strong>and</strong> we have subjective<br />

experiences of desire, affection, <strong>in</strong>timacy, <strong>and</strong> achievement. Yet, as rich as these experiences are,<br />

much of the way we conceptualise them, reason about them, <strong>and</strong> visualise them comes from other<br />

doma<strong>in</strong>s of experience. These other doma<strong>in</strong>s are mostly sensorimotor doma<strong>in</strong>s [citation], as when we<br />

conceptualise underst<strong>and</strong><strong>in</strong>g an idea (subjective experience) <strong>in</strong> terms of grasp<strong>in</strong>g an object<br />

(sensorimotor experience) <strong>and</strong> fail<strong>in</strong>g to underst<strong>and</strong> an idea as hav<strong>in</strong>g it go right by us or over our<br />

heads. The cognitive mechanism for such conceptualisations is conceptual metaphor, which allows us<br />

to use the physical logic of grasp<strong>in</strong>g to reason about underst<strong>and</strong><strong>in</strong>g. [//] Metaphor allows conventional<br />

mental imagery from sensorimotor doma<strong>in</strong>s to be used for doma<strong>in</strong>s of subjective experience. For<br />

example, we may form an image of someth<strong>in</strong>g go<strong>in</strong>g by us or over our heads (sensorimotor<br />

experience) when we fail to underst<strong>and</strong> (subjective experience). A gesture trac<strong>in</strong>g the path of<br />

someth<strong>in</strong>g go<strong>in</strong>g past us or over our heads can <strong>in</strong>dicate vividly a failure to underst<strong>and</strong>. [//] Conceptual<br />

metaphor is pervasive <strong>in</strong> both thought <strong>and</strong> language. It is hard to th<strong>in</strong>k if a common subjective<br />

experience that is not conventionally conceptualised <strong>in</strong> terms of metaphor." (Ibid., p45)<br />

To make matters worse, new problems cont<strong>in</strong>ue to be raised. For example, the 1990s had opened<br />

with a most <strong>in</strong>sightful observation as to what the true sequence of language process<strong>in</strong>g might be by<br />

the University of London's Max Velmans. Velmans (1991) began by review<strong>in</strong>g data from the selective<br />

attention literature [see, for example, our e-précis of Cherry (1953)], the general thrust of which was<br />

(a) that there had to exist a degree of "preconscious analysis" of <strong>in</strong>com<strong>in</strong>g messages, <strong>and</strong> (b) that,<br />

although <strong>in</strong>voluntary, this nevertheless presents a considerable extra workload to the cognitive system.<br />

The fasc<strong>in</strong>at<strong>in</strong>g but <strong>in</strong>evitable consequence of preconscious analysis is that we must become aware<br />

of what we are say<strong>in</strong>g at about the same time as our listeners become aware of it! Thus .....<br />

"In assess<strong>in</strong>g whether the plann<strong>in</strong>g of what to say is conscious, it is hence <strong>in</strong>structive to exam<strong>in</strong>e what<br />

one experiences dur<strong>in</strong>g a hesitation phrase (where we have good reason to <strong>in</strong>fer such plann<strong>in</strong>g to be<br />

tak<strong>in</strong>g place). This simple thought experiment reveals that dur<strong>in</strong>g a hesitation pause one might<br />

experience a certa<strong>in</strong> sense of effort (perhaps the effort to put someth<strong>in</strong>g <strong>in</strong> an appropriate way), but<br />

no more is revealed of conceptual or semantic plann<strong>in</strong>g <strong>in</strong> hesitation pauses that is revealed of<br />

syntactic plann<strong>in</strong>g <strong>in</strong> breath<strong>in</strong>g pauses. The fact that a process dem<strong>and</strong>s effort does not ensure<br />

that it is conscious. Indeed, there is a sense <strong>in</strong> which one is only aware of what one wants to<br />

say after one has said it!" (Velmans, 1991, pp663-664; italics orig<strong>in</strong>al; bold emphasis added)<br />

This l<strong>in</strong>e of argument was then taken up by Gray (1995/2003 onl<strong>in</strong>e), who <strong>in</strong>corporated it <strong>in</strong>to his<br />

"comparator system" theory of consciousness, thus .....<br />

"..... the contents of consciousness consist of the outputs of a comparator system [refs] that has the<br />

general function of predict<strong>in</strong>g, on a moment-by-moment basis, the next perceived state of the world,<br />

compar<strong>in</strong>g this to the actual next perceived state of the world, <strong>and</strong> determ<strong>in</strong><strong>in</strong>g whether the predicted<br />

Revised August 5, 2008 Page 152 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

<strong>and</strong> actual states match or do not. The hypothesis states, therefore, that the contents of primary<br />

awareness consist of subjective qualities whose neural <strong>and</strong> computational equivalents have been<br />

processed by the comparator system, <strong>and</strong> determ<strong>in</strong>ed by that system to be familiar or novel."<br />

Anatomically, Gray places this system as follows .....<br />

"..... the heart of the comparator function is attributed to the subicular area [helpful diagram]. This is<br />

postulated (1) to receive elaborated descriptions of the perceptual world from the entorh<strong>in</strong>al cortex<br />

[helpful diagram], itself the recipient of <strong>in</strong>put from all cortical areas; (2) to receive predictions from, <strong>and</strong><br />

<strong>in</strong>itiate generation of the next prediction <strong>in</strong> the Papez circuit [helpful diagram; <strong>and</strong> (3) to <strong>in</strong>terface with<br />

motor programm<strong>in</strong>g systems. Second, the prefrontal cortex is allotted the role of provid<strong>in</strong>g the<br />

comparator system with <strong>in</strong>formation concern<strong>in</strong>g the current motor program (via its projections to the<br />

entorh<strong>in</strong>al <strong>and</strong> c<strong>in</strong>gulate cortices, the latter form<strong>in</strong>g part of the Papez circuit). Third, the<br />

monoam<strong>in</strong>ergic [useful def<strong>in</strong>ition] pathways which ascend from the mesencephalon to <strong>in</strong>nervate the<br />

[septal area, entorh<strong>in</strong>al cortex, dentate gyrus, hippocampus, <strong>and</strong> subicular area] are charged with<br />

alert<strong>in</strong>g the whole system under conditions of threat <strong>and</strong> divert<strong>in</strong>g its activities to deal with the threat;<br />

<strong>in</strong> the absence of threat, the <strong>in</strong>formation-process<strong>in</strong>g activities of the system can be put to other,<br />

nonemotional purposes ....."<br />

Of course, the fact that consciousness studies is still a comparatively young science, means that<br />

articles are still debat<strong>in</strong>g how we are actually go<strong>in</strong>g to recognise mach<strong>in</strong>e consciousness when we<br />

eventually see it. For example, Aleks<strong>and</strong>er <strong>and</strong> Dunmall (2003) have recently proposed a number of<br />

tests for "m<strong>in</strong>imal consciousness". They def<strong>in</strong>e "be<strong>in</strong>g conscious" as follows .....<br />

"Be<strong>in</strong>g conscious is def<strong>in</strong>ed by 'hav<strong>in</strong>g a private sense: of an "out there" world, of a self, of<br />

contemplative plann<strong>in</strong>g <strong>and</strong> of the determ<strong>in</strong>ation of whether, when <strong>and</strong> how to act'." (Aleks<strong>and</strong>er <strong>and</strong><br />

Dunmall, 2003, p8)<br />

Aleks<strong>and</strong>er <strong>and</strong> Dunmall then identify three basic types of test, namely behavioural, <strong>in</strong>trospective, <strong>and</strong><br />

"tests based on a knowledge of mechanism <strong>and</strong> function" (p9). The first type can be immediately<br />

discounted, they argue, because the behaviours of conscious <strong>and</strong> non-conscious systems are often<br />

identical. Nor are <strong>in</strong>trospective data any safer, because they lack third party objectivity. The real<br />

question, therefore, "is what mechanism does the conscious agent need to possess for it to<br />

have a sensation of its own presence" (p9). They then propose five axioms, as follows (where A is<br />

"an agent <strong>in</strong> a sensorily-accessible world S") .....<br />

"Axiom 1 (Depiction): A has perceptual states that depict parts of S.<br />

Axiom 2 (Imag<strong>in</strong>ation): A has <strong>in</strong>ternal imag<strong>in</strong>ational states that recall parts of S or fabricate S-like<br />

sensations.<br />

Axiom 3 (Attention): A is capable of select<strong>in</strong>g which parts of S to depict or what to imag<strong>in</strong>e.<br />

Axiom 4 (Plann<strong>in</strong>g): A has means of control over imag<strong>in</strong>ational state sequences to plan actions.<br />

Axiom 5 (Emotion): A has additional affective states that evaluate planned actions <strong>and</strong> determ<strong>in</strong>e the<br />

ensu<strong>in</strong>g action." (op. cit., pp9-10)<br />

Revised August 5, 2008 Page 153 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The authors then use these five axioms to derive specific hypotheses, <strong>and</strong> plead for close cooperation<br />

between neuroscience <strong>and</strong> computer science, for the simple reason that "hypotheses <strong>in</strong> neurology<br />

can be tested by computation" (p17).<br />

In another recent paper, Cotterill (2003) tells us about "CyberChild", a detailed simulation of the neural<br />

systems <strong>in</strong>volved <strong>in</strong> some of the most basic biological systems of the human <strong>in</strong>fant, namely voice<br />

activation, limb activation, stomach state, <strong>and</strong> bladder control. Critically, "the simulated child has its<br />

own drives" (p33), so that the system can be left to its own devices <strong>in</strong> decid<strong>in</strong>g when to <strong>in</strong>itiate this or<br />

that behaviour. Its creators thus become observers of system behaviour, <strong>in</strong> the same way that the<br />

ethologists made a hard science out of observ<strong>in</strong>g animal behaviour. As to the all-critical underly<strong>in</strong>g<br />

mechanisms, Cotterill has argued <strong>in</strong> a number of papers s<strong>in</strong>ce 1995 that consciousness <strong>and</strong> a<br />

cybernetic phenomenon known as "efference copy" are <strong>in</strong>timately related, thus .....<br />

"..... we have just been emphasis<strong>in</strong>g the importance of sequences of muscular movements, so we<br />

must ask what might be <strong>in</strong>volved <strong>in</strong> the appropriation of new context-specific reflexes, that is to say<br />

reflexes which are galvanised <strong>in</strong>to action only when triggered by the correct sequence of elements <strong>in</strong><br />

the environmental feedback. [Such] acquisition makes surpris<strong>in</strong>gly large dem<strong>and</strong>s on a nervous<br />

system [<strong>and</strong>] is possibly seen only <strong>in</strong> mammals (though perhaps also <strong>in</strong> the birds). In fact, we will<br />

argue that it actually requires consciousness, which thus becomes the raison d'etre of the<br />

phenomenon." (Cotterill, 2001, p9; italics orig<strong>in</strong>al, but bold added)<br />

"<strong>in</strong>ternal feedback made possible by the efference copy routes [<strong>and</strong>] the premotor <strong>and</strong> supplementary<br />

motor regions [of] the cerebral cortex [are] the key sources of that feedback." (p32)<br />

Key Concept - "Efference Copy" <strong>and</strong> "Reafference": These terms were <strong>in</strong>troduced by Von Holst<br />

<strong>and</strong> Mittelstaedt (1950) to describe a clever way of cop<strong>in</strong>g with the potentially excessive feedback<br />

found <strong>in</strong> most biological systems. The problem is that motor activity - "efference" - does not just<br />

<strong>in</strong>duce movement, but also affects what is picked up by the senses. As soon as you start mov<strong>in</strong>g,<br />

your proprioceptors will tell you about limb position <strong>and</strong> balance, your cutaneous receptors will tell you<br />

about changes <strong>in</strong> touch, pa<strong>in</strong>, temperature, <strong>and</strong> pressure, your homeostatic systems will signal<br />

requests for blood pressure <strong>and</strong> blood glucose ma<strong>in</strong>tenance, <strong>and</strong> your special senses (eyes <strong>and</strong> ears)<br />

will detect the chang<strong>in</strong>g visual <strong>and</strong> auditory shape of the world. The senses, <strong>in</strong> short, are <strong>in</strong>volved<br />

every bit as much <strong>in</strong> motor activity as are the motor pathways. What efference copy systems do,<br />

therefore, is subtract what you expect your senses to tell you next from what they actually tell you next.<br />

This gives zero if th<strong>in</strong>gs are go<strong>in</strong>g to plan, but a non-zero error signal if they are not. This comparison<br />

is achieved by momentarily stor<strong>in</strong>g an image of the ma<strong>in</strong> motor output - the "efference copy" - <strong>and</strong><br />

by then monitor<strong>in</strong>g what is subsequently received back from the senses - the "reafference". The<br />

pr<strong>in</strong>cipal benefit, of course, comes when the two flows totally cancel each other out, because this<br />

leaves the higher controller free to get on with more important th<strong>in</strong>gs. It is a cybernetic trick which<br />

deploys a large short term memory resource with a view to simplify<strong>in</strong>g subsequent process<strong>in</strong>g [to see<br />

these <strong>in</strong>formation flows shown graphically, go to our e-paper on "Cybernetics" <strong>and</strong> take a look at<br />

Figure 2]. Every now <strong>and</strong> then, however, the system encounters some sort of external obstacle, or<br />

"perturbation". This causes the reafference not to match the efference copy, <strong>and</strong> this, <strong>in</strong> turn, causes<br />

the higher controller to be <strong>in</strong>terrupted with requests for corrective action. And because the sensors <strong>in</strong><br />

an efference copy system thereby become capable of confirm<strong>in</strong>g for themselves that the effectors are<br />

work<strong>in</strong>g to plan, this is a highly efficient way of reduc<strong>in</strong>g unnecessary network traffic. Here are the<br />

formal def<strong>in</strong>itions: "[Efference copy is] basically a copy of the motor output [<strong>and</strong>] <strong>in</strong> some way<br />

represents the expected pattern of sensory messages that would be produced <strong>in</strong> the absence of<br />

external <strong>in</strong>terference with the action of the effectors. [Reafference is] the message returned to the<br />

Revised August 5, 2008 Page 154 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

nervous system, <strong>in</strong> consequence of the issue of the comm<strong>and</strong>." (Roberts, 1978:141.)


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Other workers <strong>in</strong> this area are the Australian researchers Graeme Halford, Bill Wilson, <strong>and</strong> Steven<br />

Phillips, who have published a number of papers promot<strong>in</strong>g the importance of relational systems to<br />

higher cognitive functions [see, for example, Halford, Wilson, <strong>and</strong> Phillips (2003 prepr<strong>in</strong>t onl<strong>in</strong>e).<br />

But still the philosophical problems loom large, <strong>and</strong> we will close with the philosopher David J.<br />

Chalmers, then at the University of California, Santa Cruz, gett<strong>in</strong>g to the heart of the first-person<br />

problem. Chalmers reviewed progress <strong>in</strong> neuroscience <strong>and</strong> identified his now famous "hard<br />

problem", as follows .....<br />

"Researchers use the word 'consciousness' <strong>in</strong> many different ways. To clarify the issues, we first have<br />

to separate the problems [<strong>and</strong>] for this purpose, I found it useful to dist<strong>in</strong>guish between the 'easy<br />

problems' <strong>and</strong> the 'hard problem' of consciousness. [The] easy problems of consciousness <strong>in</strong>clude the<br />

follow<strong>in</strong>g: How can a human subject discrim<strong>in</strong>ate sensory stimuli <strong>and</strong> react to them appropriately?<br />

How does the bra<strong>in</strong> <strong>in</strong>tegrate <strong>in</strong>formation from many different sources <strong>and</strong> use this <strong>in</strong>formation to<br />

control behaviour? How is it that subjects can verbalise their <strong>in</strong>ternal states? [these questions] all<br />

concern the objective mechanisms of the cognitive system. Consequently, we have every reason to<br />

expect that cont<strong>in</strong>ued work <strong>in</strong> cognitive psychology <strong>and</strong> neuroscience will answer them. The hard<br />

problem, <strong>in</strong> contrast, is the question of how physical processes <strong>in</strong> the bra<strong>in</strong> give rise to subjective<br />

experience. This puzzle <strong>in</strong>volves the <strong>in</strong>ner aspect of thought <strong>and</strong> perception: the way th<strong>in</strong>gs feel for<br />

the subject. When we see, for example, we experience visual sensations, such as that of vivid blue.<br />

Or th<strong>in</strong>k of the <strong>in</strong>effable sound of a distant oboe, the agony of <strong>in</strong>tense pa<strong>in</strong>, the sparkle of happ<strong>in</strong>ess<br />

or the meditative quality of a moment lost <strong>in</strong> thought. All are part of what I am call<strong>in</strong>g consciousness<br />

[<strong>and</strong>] it is these phenomena that pose the real mystery of the m<strong>in</strong>d. Remarkably, subjective<br />

experience seems to emerge from a physical process. But we have no idea how or why this is."<br />

(Chalmers, 1995, pp62-64)<br />

4 - Still to Come<br />

That concludes our review of the history of comput<strong>in</strong>g technology. We have moved slowly <strong>and</strong> (we<br />

hope) surely from the groundwork <strong>in</strong>ventions of the 18th <strong>and</strong> 19th centuries [see Part 1] through the<br />

heydey of the analog computer to the emergence of the digital alternative [see Part 2], <strong>and</strong> thence to<br />

the number-crunch<strong>in</strong>g pioneers who cracked codes, programmed air defence systems, <strong>and</strong> designed<br />

thermonuclear devices [see Part 3]. This then set the scene for a progressive walk through the<br />

concepts <strong>and</strong> <strong>in</strong>ventions which have made modern comput<strong>in</strong>g what it is today, paus<strong>in</strong>g regularly to<br />

highlight this or that clever use of computer memory, <strong>and</strong> search<strong>in</strong>g all the time for potentially fruitful<br />

explanatory metaphors to assist those struggl<strong>in</strong>g to expla<strong>in</strong> "the go" of biological <strong>in</strong>formation<br />

process<strong>in</strong>g. In Part 6 we shall be look<strong>in</strong>g <strong>in</strong> greater detail at the various ways computer memory can<br />

be used, <strong>and</strong> we do this for two products <strong>in</strong> particular, namely (a) the COBOL programm<strong>in</strong>g language,<br />

<strong>and</strong> (b) the IDMS DBMS. And f<strong>in</strong>ally, <strong>in</strong> Part 7 we undertake a comparative review of how well the full<br />

richness of the subtypes of computer memory has been <strong>in</strong>corporated <strong>in</strong>to psychological theory.<br />

Part 6 - <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g<br />

1 - Programm<strong>in</strong>g as "Structured" Problem Solv<strong>in</strong>g<br />

Although our narrative sequence thus far has been driven primarily by advances <strong>in</strong> comput<strong>in</strong>g<br />

hardware, our official objective throughout has been to highlight the software <strong>in</strong>novations which<br />

accompanied them, especially where they <strong>in</strong>volved an <strong>in</strong>novative use of electronic memory. Hence<br />

the various "Key Concept" paragraphs dotted around Parts 1 to 5, <strong>and</strong> hence our repeated<br />

Revised August 5, 2008 Page 156 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

observation that no matter how sophisticated the mach<strong>in</strong>ery <strong>in</strong> question the basic software problem<br />

has always been the same - how to deploy the available electronic memory to best advantage, given<br />

the often conflict<strong>in</strong>g dem<strong>and</strong>s of the computation <strong>and</strong> the capabilities of the processor [see, for<br />

example, the story of buffer storage <strong>in</strong> Part 4 (Section 1.3)]. Our task is now to collate <strong>and</strong> categorise<br />

all those key concepts, but before we do that we need (a) to say a few words about the nature of<br />

"structure" <strong>in</strong> computer programm<strong>in</strong>g, what it is <strong>and</strong> where it comes from, <strong>and</strong> (b) to take an<br />

<strong>in</strong>troductory look at the COBOL programm<strong>in</strong>g language.<br />

1.1 Systems Analysis, Programm<strong>in</strong>g, <strong>and</strong> Programmers<br />

In Part 4 (Section 3.1), we expla<strong>in</strong>ed how the roles of systems analyst <strong>and</strong> programmer call for<br />

significantly different sets of skills <strong>and</strong> types of m<strong>in</strong>d. Metaphorically speak<strong>in</strong>g, it is the analyst's job to<br />

tease each new problem from its lair, <strong>and</strong> only then - when it is out <strong>in</strong> the open - does it become the<br />

programmer's job to move <strong>in</strong> for the kill. Given the right people, the result<strong>in</strong>g object code is then<br />

anyth<strong>in</strong>g between ruthlessly efficient <strong>and</strong> downright elegant; cut corners, however, <strong>and</strong> the whole<br />

th<strong>in</strong>g soon degenerates <strong>in</strong>stead <strong>in</strong>to a dog's breakfast. So where exactly does the analyst's work start,<br />

<strong>and</strong> when should they best h<strong>and</strong> over the results of their prelim<strong>in</strong>ary <strong>in</strong>vestigations for cod<strong>in</strong>g? Let us<br />

look <strong>in</strong> a little more detail at what the two jobs <strong>in</strong>volve .....<br />

Scenario: Imag<strong>in</strong>e that you are a rich <strong>in</strong>ventor, who has just developed a new form of digital<br />

display. You wish to use your new technology <strong>in</strong> a bedside alarm clock, so you sketch out the<br />

sort of display you have decided to provide, <strong>and</strong> head off to see your IT Department. Here is<br />

what you have <strong>in</strong> m<strong>in</strong>d .....<br />

MON | SEP 08 03 | 09:23 am<br />

Now the po<strong>in</strong>t is that before any analysis or programm<strong>in</strong>g has been done, many of the most important<br />

design decisions have already been taken. In other words, you - the system's "sponsor" - have<br />

already grossly overspecified your requirement, which is unfortunate, because your sketched design<br />

suffers several potentially serious difficulties. For example .....<br />

The XXX abbreviations for Day <strong>and</strong> Month are seen commonly enough, but what does the<br />

research base actually say? For example, might two- or four-letter alternatives be objectively more<br />

effective at gett<strong>in</strong>g the required message across? Or might the Day sit better at the right of the<br />

display l<strong>in</strong>e <strong>in</strong>stead of the left? And is Day go<strong>in</strong>g to be set manually by the user (with all the<br />

associated risk of error), or is it go<strong>in</strong>g to be computed from the Date, us<strong>in</strong>g the sort of Day-Date<br />

algorithm detailed <strong>in</strong> Part 5 (Section 3.6)? And would it not have been an additional sell<strong>in</strong>g po<strong>in</strong>t if<br />

Time Zone had been <strong>in</strong>cluded?<br />

The 99 format for Date is both harsh on the eye <strong>and</strong> confus<strong>in</strong>g to the m<strong>in</strong>d. It would probably be<br />

more user friendly as 99XX (that is to say, 08 would become _8th), even though this would mean<br />

hav<strong>in</strong>g to fit a longer display.<br />

The 99 format for Year might be more user friendly as 9999 (ie. 03 would become 2003).<br />

Who says that two 12-hour clock sweeps are better than one 24-hour sweep? Or that one long<br />

display l<strong>in</strong>e is better than three short ones, say, set one above the other? And so on.<br />

You have straightjacketed your creatives, <strong>in</strong> other words ["micromanaged" is the current buzzword]. In<br />

fact, it would normally be the system analyst's job, tak<strong>in</strong>g due specialist advice, to devise a display<br />

Revised August 5, 2008 Page 157 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

which was simultaneously ergonomically sound, commercially promis<strong>in</strong>g, <strong>and</strong> technically feasible.<br />

This display would then need to be formally approved by your <strong>in</strong>tellectual property, product design,<br />

br<strong>and</strong><strong>in</strong>g, <strong>and</strong> market<strong>in</strong>g people, <strong>and</strong> only when those <strong>in</strong>dividual approvals were forthcom<strong>in</strong>g would<br />

the idea be released for development. There are therefore several occasions when a vivid <strong>and</strong><br />

unambiguous form of document<strong>in</strong>g the proposed process<strong>in</strong>g would be needed, <strong>and</strong> preferably one<br />

which was equally accessible to non-technical <strong>and</strong> technical staff. One of the tools available to do this<br />

is the "program flowchart", <strong>and</strong> we <strong>in</strong>cluded a tutorial on this particular method <strong>in</strong> Section 1 of our epaper<br />

on "How to Draw Cognitive Diagrams". Here is how the program flowchart for the present<br />

scenario might look .....<br />

Figure 1 - The Digital Clock Display Program Flowchart: Here we see the flow of decision<br />

mak<strong>in</strong>g required to advance (from left to right) the , , , ,<br />

, , <strong>and</strong> display registers on the sort of 2x12-hour sweep digital<br />

clock display shown above. We have presumed that this rout<strong>in</strong>e will <strong>in</strong> practice only be called after<br />

the user has set the various display elements to desired start<strong>in</strong>g values, however we have not<br />

shown the detailed process<strong>in</strong>g necessary to do this, preferr<strong>in</strong>g to collapse it <strong>in</strong>stead <strong>in</strong>to the dotted<br />

p<strong>in</strong>k panel [top, centre]. The dotted green panel [top, centre] is then an optional set of validat<strong>in</strong>g<br />

tests <strong>in</strong>tended to ensure that the pre-set start<strong>in</strong>g values have not been corrupted by the transfer of<br />

control. Purists often claim that this is not necessary, because "noth<strong>in</strong>g can go wrong";<br />

pragmatists do it anyway, for safety's sake, because accidental range errors can cause havoc to<br />

the meticulously structured branch<strong>in</strong>g <strong>and</strong> loop<strong>in</strong>g which is to follow [specifically, we do not want to<br />

<strong>in</strong>crement until it gets to 60, only to be given that field already preset to 61]. There is<br />

then an unconditional operation [topmost yellow box], where any process-<strong>in</strong>ternal<br />

fields - that is to say, fields not already set by the prior process<strong>in</strong>g - are set to their own start<strong>in</strong>g<br />

values. The captions down the right-h<strong>and</strong> side of the diagram show the ma<strong>in</strong> phases of the<br />

process<strong>in</strong>g, but annotation such as this is not normally <strong>in</strong>cluded.<br />

The process then beg<strong>in</strong>s <strong>in</strong> earnest. The <strong>in</strong>tention, of course, is that each separate display register<br />

should advance to its logical limit (ie. the 59th second, the 23rd hour, etc.), <strong>and</strong> then "carry" <strong>in</strong> the<br />

same way that each advanc<strong>in</strong>g n<strong>in</strong>e carries <strong>in</strong> a decimal display. We have presumed that the<br />

entire system is driven ultimately by an electronic oscillator which pulses to a TIMER PIN precisely<br />

once per second. The underly<strong>in</strong>g electronics need not concern us, for we may refer to the<br />

condition as TIMER PIN ON or TIMER PIN OFF. If we then wait on each tim<strong>in</strong>g pulse, we can use<br />

it to drive the register directly. This, of course, gives us a problem every 60<br />

seconds, whereupon we need to carry one to the display <strong>and</strong> set back<br />

to zero. And whenever we advance , we need to check for carry over to the<br />

, <strong>and</strong> so on for the <strong>in</strong>dicator every 12 hours, the every 24 hours, the<br />

every 30 or so days, <strong>and</strong> the every 12 months [not all months have the same<br />

number of days <strong>in</strong> them, of course, <strong>and</strong> February has a leap year problem]. Note that for the hour<br />

after noon or midnight, the displays as , not . F<strong>in</strong>ally, we need to convert each<br />

advanc<strong>in</strong>g to its equivalent day of the week, <strong>and</strong> display that answer <strong>in</strong> the field.<br />

However, this caption is already overlong, so we have decided to implement date-day conversion<br />

as a subrout<strong>in</strong>e [dotted green panel, lower left], <strong>and</strong> leave it to someone else to design!<br />

Revised August 5, 2008 Page 158 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Revised August 5, 2008 Page 159 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

One of the strengths of program flowcharts such as the one shown above, is that it is possible to<br />

generate mach<strong>in</strong>e code more or less directly from the diagram. For example, any sequentially<br />

"<strong>in</strong>terpreted" programm<strong>in</strong>g language would simply follow the diagram down the page substitut<strong>in</strong>g its<br />

own syntax for all the operations, tests, <strong>and</strong> branches identified there<strong>in</strong>. In the table below, we show<br />

what the result<strong>in</strong>g code might look like, written <strong>in</strong> syntax similar to that used by Microsoft's BASIC<br />

programm<strong>in</strong>g language, an <strong>in</strong>terpreted language <strong>in</strong> which each <strong>in</strong>struction is automatically selected<br />

sequentially from the top, unless <strong>and</strong> until that selection sequence is overridden by an explicit "GO<br />

TO" <strong>in</strong>struction of the form seen on L<strong>in</strong>es 20, 30, etc., whereupon control jumps <strong>in</strong>stead to the<br />

<strong>in</strong>struction thereby specified .....<br />

Key Concept - "GO TOs": A "GO TO" is a specific jump<strong>in</strong>g <strong>in</strong>struction designed to allow<br />

programmers to override their default execution sequence. This enables them to prepare their code <strong>in</strong><br />

logically discrete chunks, despite the tight physical pack<strong>in</strong>g of the <strong>in</strong>structions. These chunks can then<br />

be GO TO'd <strong>in</strong> <strong>and</strong> out of when needed. GO TOs are particularly useful when controlled by an "IF .....<br />

THEN ....." condition test (eg. as shown on L<strong>in</strong>e 20 below), allow<strong>in</strong>g condition-specific blocks of<br />

<strong>in</strong>structions to be selected or ignored as appropriate. As we are about to learn <strong>in</strong> Section 1.2, GO TOs<br />

came under heavy criticism <strong>in</strong> the 1960s, <strong>and</strong> were largely ab<strong>and</strong>oned <strong>in</strong> favour of the much more<br />

human-friendly "PERFORM" statement.<br />

Key Concept - "Iterations" <strong>and</strong> "Loops": GO TOs are also useful for simple repetitions, or<br />

"iterations", of blocks of code (eg. as shown <strong>in</strong> L<strong>in</strong>es 20-30 below). These are commonly known as<br />

"loops", because control repeatedly loops back to the beg<strong>in</strong>n<strong>in</strong>g of the specified block.<br />

Instruction Comment<br />

NB: The GREEN <strong>in</strong>structions establish important<br />

process<strong>in</strong>g loops, <strong>and</strong> will be discussed further <strong>in</strong> Section<br />

3.5 below. LT = LESS THAN; GT = GREATER THAN<br />

10 SECONDS = 0 INITIAL PROCESSING: This <strong>in</strong>struction sets the<br />

display register to zero. All other display<br />

registers will already have been set to their desired<br />

start<strong>in</strong>g values by a preced<strong>in</strong>g rout<strong>in</strong>e.<br />

20 IF TIMER PIN ON THEN GO TO LINE 40 AWAIT NEW SECOND: This <strong>in</strong>struction repeatedly does<br />

noth<strong>in</strong>g, wait<strong>in</strong>g for the TIMER PIN ON signal to occur.<br />

S<strong>in</strong>ce this happens precisely once a second, this is the<br />

mechanism by which the timer mechanism communicates<br />

with <strong>and</strong> actuates the display software.<br />

30 GO TO LINE 20 This is the "ELSE" element of L<strong>in</strong>e 20, that is to say, you<br />

only get this far if the TIMER PIN ON test is failed. The<br />

GO TO LINE 20 then serves to loop back to the preced<strong>in</strong>g<br />

<strong>in</strong>struction, so that the TIMER PIN status can be resampled.<br />

This will happen many thous<strong>and</strong>s, if not millions,<br />

of times a second, depend<strong>in</strong>g on the speed of the<br />

processor.<br />

40 SECONDS = SECONDS + 1 NEW SECOND PROCESSING: You only get this far when<br />

a new second has just been signalled. This <strong>in</strong>struction<br />

adds 1 to whatever the count currently<br />

Revised August 5, 2008 Page 160 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

50 IF SECONDS = 60 THEN GO TO LINE<br />

70<br />

conta<strong>in</strong>s [we are presum<strong>in</strong>g that the TIMER PIN sets itself<br />

back to OFF, once sampled].<br />

If has now advanced to 60, then control is<br />

taken down to L<strong>in</strong>e 70. A cautious programmer might<br />

replace the analyst's "equals 60" test with the more<br />

defensive "GT 59", because this is better able to cope with<br />

an accidental corruption of the value <strong>in</strong> question.<br />

60 GO TO LINE 20 This is the "ELSE" element of L<strong>in</strong>e 50, that is to say, you<br />

only get this far if is <strong>in</strong> the range 1 to 59<br />

<strong>in</strong>clusive, <strong>and</strong> no "m<strong>in</strong>utes carry" is required. This<br />

<strong>in</strong>struction takes us back to our TIMER PIN sampl<strong>in</strong>g<br />

process.<br />

70 SECONDS = 0; MINUTES = MINUTES +<br />

1<br />

80 IF MINUTES = 60 THEN GO TO LINE<br />

100<br />

NEW MINUTE PROCESSING: You only get this far when<br />

a new m<strong>in</strong>ute has just been detected. This <strong>in</strong>struction<br />

adds 1 to whatever the count currently<br />

conta<strong>in</strong>s, <strong>and</strong> sets the register back to zero.<br />

If has now advanced to 60, then control<br />

drops through to L<strong>in</strong>e 100. Aga<strong>in</strong>, a cautious programmer<br />

might then replace the analyst's "equals 60" test with the<br />

more defensive "GT 59"<br />

90 GO TO LINE 20 This is the "ELSE" element of L<strong>in</strong>e 80, that is to say, you<br />

only get this far if is <strong>in</strong> the range 1 to 59<br />

<strong>in</strong>clusive, <strong>and</strong> no "hours carry" is required.<br />

100 MINUTES = 0; HOURS = HOURS + 1 NEW HOUR PROCESSING: You only get this far when a<br />

new hour has just been detected. This <strong>in</strong>struction adds 1<br />

to whatever the count currently conta<strong>in</strong>s, <strong>and</strong><br />

sets the register back to zero.<br />

AND SO ON<br />

The result<strong>in</strong>g sequence of one-offs <strong>and</strong> iterations, conditionals <strong>and</strong> compulsories, GO TOs <strong>and</strong><br />

returns, rout<strong>in</strong>es <strong>and</strong> subrout<strong>in</strong>es, is known as the "program structure" .....<br />

Key Concept - A Program's "Structure": A program's "structure" determ<strong>in</strong>es the sequence of<br />

execution of each mach<strong>in</strong>e <strong>in</strong>struction. The default structure is simple sequential execution, but this<br />

can be creatively exp<strong>and</strong>ed by conditional branches <strong>and</strong> loops where appropriate. But beware - just<br />

as "ready - fire - aim" is a notably <strong>in</strong>effective sequence of <strong>in</strong>structions to a fir<strong>in</strong>g party [th<strong>in</strong>k about it],<br />

so, too, does the slightest mis-sequenc<strong>in</strong>g of mach<strong>in</strong>e <strong>in</strong>structions prejudice a calculation. Indeed, it<br />

only takes one rogue <strong>in</strong>struction to wreak total <strong>and</strong> immediate havoc. Structur<strong>in</strong>g therefore helps to<br />

ensure (a) that only logically related sets of <strong>in</strong>structions are executed, <strong>and</strong> (b) that they are executed<br />

when <strong>and</strong> only when necessary.


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Useful though the program flowchart is, there exists a diagramm<strong>in</strong>g format which is typically a whole<br />

lot easier on both eye <strong>and</strong> bra<strong>in</strong>. We refer to the format known as the "program structure diagram".<br />

Here is Figure 1's substantive logic expressed <strong>in</strong> this alternative set of conventions .....<br />

Figure 2 - The Digital Clock Display Structure Diagram: Here we see exactly the same<br />

solution as was proposed <strong>in</strong> Figure 1, but drawn differently. The rules for this type of diagram are<br />

that each box represents a related cluster of <strong>in</strong>structions, but that the f<strong>in</strong>e detail of those<br />

<strong>in</strong>structions should be excluded because it confuses both eye <strong>and</strong> m<strong>in</strong>d. Instead, the box is<br />

given a title ["Process Control", "Initial Process", "Ma<strong>in</strong> Process", etc.] which succ<strong>in</strong>ctly states its<br />

contribution to the whole. Execution passes downwards <strong>and</strong> left-to-right <strong>in</strong> turn, beg<strong>in</strong>n<strong>in</strong>g at the<br />

top, <strong>and</strong> the result is a process<strong>in</strong>g "tree" which methodically advances the po<strong>in</strong>t of control<br />

through a given problem until it has been resolved. In so do<strong>in</strong>g, some blocks of <strong>in</strong>structions are<br />

executed once, some a known number of times, some only under a particular condition, <strong>and</strong><br />

some until a particular end state is reached. The repeat<strong>in</strong>g blocks are conventionally shown with<br />

an asterisk <strong>in</strong> their top right corner, accompanied by a concise textual caption [eg. the "UNTIL<br />

RESET", top centre]. The conditional blocks are l<strong>in</strong>ked <strong>in</strong>to the tree by a dotted l<strong>in</strong>e, aga<strong>in</strong><br />

captioned so as to <strong>in</strong>dicate when they are to be <strong>in</strong>voked [eg. the "SECONDS = 60" condition<br />

which controls when the NEW MINUTE PROCESS is to run]. One of the strengths of program<br />

structure diagrams such as this, is that it is possible to generate high level source code (that is to<br />

say, code ready for compilation rather than <strong>in</strong>terpretation) more or less directly from the diagram.<br />

We show this <strong>in</strong> the column of text to the right of the diagram, <strong>and</strong> we shall be go<strong>in</strong>g <strong>in</strong>to greater<br />

detail on how this is done <strong>in</strong> Section 2.4 below.<br />

Revised August 5, 2008 Page 162 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

1.2 Structured Programm<strong>in</strong>g<br />

In Part 4 (Section 3.2), we expla<strong>in</strong>ed how assembled <strong>and</strong> compiled programm<strong>in</strong>g languages emerged<br />

<strong>in</strong> the early 1950s to help relieve the monotony <strong>and</strong> <strong>in</strong>efficiency of enter<strong>in</strong>g mach<strong>in</strong>e code <strong>in</strong>structions<br />

the hard way. In fact, the idea goes back to about 1942, when the German eng<strong>in</strong>eer Konrad Zuse<br />

began devis<strong>in</strong>g the Plankalkül programm<strong>in</strong>g language to go with his Z4 computer. Zuse described his<br />

computer programs as Rechenplans, the German word for "plans for calculation", <strong>and</strong> believed that<br />

writ<strong>in</strong>g them was as much part of own<strong>in</strong>g a computer as collat<strong>in</strong>g packs of Jacquard cards was part of<br />

own<strong>in</strong>g a loom. Zuse's Plankalkül is nowadays commonly accepted as be<strong>in</strong>g the first complete<br />

programm<strong>in</strong>g language [for a more technical <strong>in</strong>troduction, complete with detailed examples, see<br />

Bauer <strong>and</strong> Wössner (1972/2002 onl<strong>in</strong>e)]. Other early languages were .....<br />

Cambridge University: Maurice Wilkes' EDSAC team were hot on Zuse's heels (although they<br />

knew noth<strong>in</strong>g of him at the time), <strong>and</strong> are usually credited with the <strong>in</strong>vention of "assembly code",<br />

the generic name for software which translates human-readable mnemonics <strong>in</strong>to mach<strong>in</strong>e<br />

<strong>in</strong>structions. Wilkes (1956) claims "an assembly subrout<strong>in</strong>e" for the EDSAC <strong>in</strong> 1950, <strong>and</strong> the<br />

approach was fully documented a year later <strong>in</strong> Wilkes, Wheeler, <strong>and</strong> Gill's (1951) "The Preparation<br />

of Programs for an Electronic Digital Computer".<br />

Eckert-Mauchly: In July 1949, the Eckert-Mauchly Computer Corporation's John Mauchly<br />

authorised work on a language called <strong>Short</strong>-Code, for the BINAC <strong>and</strong> UNIVAC projects. The<br />

actual development work was then carried out by William F. Schmitt, Albert B. Tonik, <strong>and</strong> J.R.<br />

Logan.<br />

MIT: Jack T. Gilmore <strong>and</strong> Charles Adams wrote an assembly program for the Whirlw<strong>in</strong>d, us<strong>in</strong>g<br />

mnemonic codes <strong>and</strong> allow<strong>in</strong>g decimal <strong>in</strong>put. The assembly process then substituted one or more<br />

mach<strong>in</strong>e <strong>in</strong>structions for the mnemonic, <strong>and</strong> turned the decimals <strong>in</strong>to b<strong>in</strong>ary.<br />

Manchester University: Between 1951 <strong>and</strong> 1952, R.A. ("Tony") Brooker <strong>and</strong> Alick Glennie<br />

developed AUTOCODE for the Manchester Mark 1.<br />

However, perhaps the best remembered of all the pioneer programmers was US Navy Lieutenant<br />

(later Rear Admiral) Grace Murray Hopper (1906-1992). This Yale mathematician jo<strong>in</strong>ed the US Navy<br />

<strong>in</strong> 1943, <strong>and</strong> - despite the fact that "she did not know the difference between a relay <strong>and</strong> a basket of<br />

tomatoes" (Schneider <strong>and</strong> Schneider, 1998) - was assigned to ballistics computation duties. She<br />

learned quickly, <strong>and</strong> the quality of her work soon took her to Howard Aiken's computer development<br />

unit at Harvard, where she helped prepare mathematical formulae for the Harvards Mark I <strong>and</strong> II [she<br />

also found the first software "bug" - story <strong>and</strong> picture]. She then moved to the Eckert-Mauchly<br />

Computer Corporation <strong>in</strong> 1949 to help out on the BINAC <strong>and</strong> UNIVAC projects, <strong>and</strong> began develop<strong>in</strong>g<br />

early "compil<strong>in</strong>g rout<strong>in</strong>es" such as A-0. This ran for the first time <strong>in</strong> 1952, <strong>and</strong> is described by Sammet<br />

(1992/2003 onl<strong>in</strong>e) as be<strong>in</strong>g "<strong>in</strong>credibly primitive by today's st<strong>and</strong>ards". Sammet ranks the 1955-1958<br />

follow-up product far more highly. This was B-0, later renamed Flow-Matic, a compiled language<br />

which allowed programmers to write <strong>in</strong> a simple form of English. Here is how Hopper herself<br />

described the achievement a few years later .....<br />

"It was determ<strong>in</strong>ed that the only common symbology used by the various <strong>in</strong>stallations was the English<br />

language <strong>and</strong> it was therefore decided to use a selected English vocabulary as a pseudo-code [note<br />

this word]. It was possible to isolate <strong>and</strong> def<strong>in</strong>e 30 verbs<br />

Revised August 5, 2008 Page 163 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

ADD CLOSE-OUT COMPARE COUNT DIVIDE EXECUTE FILL HALT IGNORE<br />

INPUT INSERT JUMP MOVE MULTIPLY NUMERIC-TEST OVERLAY PRINT-OUT<br />

READ-ITEM REPLACE REWIND SELECT SELECT-LEAST SET STOP SUBTRACT<br />

SWITCH TEST TRANSFER TYPE-IN WRITE-ITEM<br />

which as a start could make possible def<strong>in</strong>ition of data-process<strong>in</strong>g problems <strong>in</strong> a common manner.<br />

Thus a sentence could be written<br />

(19) COMPARE INV-ON-HAND WITH INV-LIMIT; IF GREATER GO TO OPERATION<br />

29; IF EQUAL GO TO OPERATION 23; IF LESS GO TO OPERATION 23.<br />

While 30 verbs could be dist<strong>in</strong>guished, no such list of nouns could be prepared. It became clear that<br />

each <strong>in</strong>stallation must be permitted to def<strong>in</strong>e its own nouns, thus describ<strong>in</strong>g its own data. It was<br />

determ<strong>in</strong>ed that these def<strong>in</strong>itions must <strong>in</strong>clude descriptions of (1) the data as a file, (2) the data as<br />

items or records of sets of words, <strong>and</strong> (3) the data as fields as sets of characters." (Hopper, 1959,<br />

pp171-172)<br />

[To see a specimen Flow-Matic program, click here; the dist<strong>in</strong>ction between file, record, <strong>and</strong> field<br />

rema<strong>in</strong>s fundamental with<strong>in</strong> the <strong>in</strong>dustry to this day.]<br />

S<strong>in</strong>ce 1954, meanwhile, the American mathematician John Backus (1924-) had been conduct<strong>in</strong>g trials<br />

with what was to become <strong>in</strong> 1957 the first commercially successful higher order programm<strong>in</strong>g<br />

language, FORTRAN. While work<strong>in</strong>g on the IBM704, Backus, too, had grown concerned by how<br />

<strong>in</strong>efficient mach<strong>in</strong>e code programm<strong>in</strong>g actually was. Mistakes were particularly common when<br />

improvements were needed to pre-exist<strong>in</strong>g programs (a process known as "software ma<strong>in</strong>tenance"),<br />

simply because the structure of the orig<strong>in</strong>al solution was usually far from transparent. Programmers<br />

rout<strong>in</strong>ely took days mak<strong>in</strong>g improvements at one po<strong>in</strong>t <strong>in</strong> the program, only to f<strong>in</strong>d that they had<br />

<strong>in</strong>advertently precipitated failures elsewhere. What was needed was a way to keep programs<br />

"<strong>in</strong>tellectually manageable".<br />

ASIDE: This will all be depress<strong>in</strong>gly familiar to readers who have ever had to ma<strong>in</strong>ta<strong>in</strong> software [those<br />

who have not had this pleasure will ga<strong>in</strong> some idea of the severity of the problem by now try<strong>in</strong>g to<br />

convert the Figure 1 flowchart to offer a s<strong>in</strong>gle 24-hour sweep rather than two 12-hour sweeps]. Nor is<br />

ma<strong>in</strong>tenance programm<strong>in</strong>g any easier if the orig<strong>in</strong>al code is your own, because the act of<br />

programm<strong>in</strong>g is fundamentally an act of l<strong>in</strong>guistic output <strong>and</strong> your memory for what you have written<br />

soon reduces to a garbled gist - presumably the result of the sort of forgett<strong>in</strong>g studied by Bartlett<br />

(1932) [detail]. To this day, therefore, it is often quicker to write a new program than it is to repair an<br />

old one, even if you wrote that old one yourself.<br />

Even more concerned with the need to manage the process of computer programm<strong>in</strong>g was the muchhonoured<br />

Dutchman, Edsger W. Dijkstra (1930-2002), orig<strong>in</strong>ally of E<strong>in</strong>dhoven University of<br />

Technology, <strong>and</strong> later of the University of Texas at Aust<strong>in</strong>. His focus, too, was on the fallibility of<br />

human cognition. Consider .....<br />

"..... our <strong>in</strong>tellectual powers are rather geared to master static relations <strong>and</strong> [our] powers to visualise<br />

processes evolv<strong>in</strong>g <strong>in</strong> time are relatively poorly developed. For that reason we should do (as wise<br />

programmers aware of our limitations) our utmost to shorten the conceptual gap between the static<br />

program <strong>and</strong> the dynamic process, to make the correspondence between the program (spread out <strong>in</strong><br />

text space) <strong>and</strong> the process (spread out <strong>in</strong> time) as trivial as possible." (Dijkstra, 1968, p147)<br />

Revised August 5, 2008 Page 164 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

ASIDE: Dijkstra's "conceptual gap" is precisely the same explanatory problem as was made famous<br />

with<strong>in</strong> psychology by Lashley's (1951) paper "The problem of serial order <strong>in</strong> behaviour". Lashley was<br />

concerned with the technical problem of convert<strong>in</strong>g such th<strong>in</strong>gs as thoughts, images, or <strong>in</strong>tentions out<br />

of some <strong>in</strong>itially timeless physical memory trace - a structural "engram" of some sort - <strong>in</strong>to a timesequenced<br />

succession of behaviours. His explanation was - <strong>and</strong> the explanation of choice still is - that<br />

the motor engram is capable (a) of be<strong>in</strong>g located as a unit whenever its particular piece of behaviour<br />

is called for, <strong>and</strong> then (b) of be<strong>in</strong>g reactivated as a succession of subunits. This sort of motor engram<br />

is better known as a "motor schema", <strong>and</strong> its reactivation as "motor programm<strong>in</strong>g".


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Language"), the project was coord<strong>in</strong>ated by the US Department of Defence, <strong>and</strong> the first work<strong>in</strong>g<br />

version of the product was available <strong>in</strong> December 1959. For fuller histories <strong>and</strong> overviews of the<br />

COBOL programm<strong>in</strong>g language, click here, or here, or here.<br />

Nigh on half a century later, COBOL rema<strong>in</strong>s quantitatively the most successful programm<strong>in</strong>g<br />

language ever, thus .....<br />

"Cobol has underp<strong>in</strong>ned much of the f<strong>in</strong>ancial sector's IT <strong>in</strong>frastructure s<strong>in</strong>ce its <strong>in</strong>ception <strong>in</strong> 1959, <strong>and</strong><br />

it is still go<strong>in</strong>g strong. Accord<strong>in</strong>g to <strong>in</strong>dustry estimates, there are currently more than 200 billion l<strong>in</strong>es of<br />

Cobol code used <strong>in</strong> today's bus<strong>in</strong>ess applications, with several billion l<strong>in</strong>es of new application code<br />

added annually." (Archbell, 2000) [For a longer discussion of the reasons for this success, click here<br />

or here.]<br />

..... <strong>and</strong>, by virtue of COBOL's approximation to English, its code makes excellent pseudocode .....<br />

Key Concept - "Pseudocode": Pseudocode is code which is not yet code because it is still on the<br />

cod<strong>in</strong>g sheet. It is "sketchbook" code, if you like; code which is still be<strong>in</strong>g considered by the relatively<br />

forgiv<strong>in</strong>g m<strong>in</strong>ds of the humans <strong>in</strong> the loop, <strong>and</strong> which has yet to be subjected to the full rigours of the<br />

compilation process. Nevertheless, it is code which approximates to English <strong>and</strong> which can<br />

therefore adequately convey at a glance the essence of the process<strong>in</strong>g solution be<strong>in</strong>g<br />

proposed. This makes pseudocode a very powerful way of l<strong>in</strong>k<strong>in</strong>g the conceptualis<strong>in</strong>g <strong>and</strong><br />

problem solv<strong>in</strong>g capabilities of the human m<strong>in</strong>d to the number crunch<strong>in</strong>g capabilities of the<br />

logic circuitry.<br />

COBOL's approximation to English also means that once your m<strong>in</strong>d has formed some idea of an<br />

appropriate process<strong>in</strong>g sequence (a pseudocode representation of the problem solv<strong>in</strong>g structure), you<br />

immediately have the skeleton of your source code [see the paragraph structure <strong>in</strong>set <strong>in</strong>to Figure 2].<br />

In the rema<strong>in</strong>der of this section we present what is effectively a short course on "COBOL<br />

Pseudocode", <strong>and</strong> we do this because we are go<strong>in</strong>g to need that pseudocode <strong>in</strong> earnest to get the<br />

most out of the various worked examples yet to come. However, readers eager for the cognitive<br />

science should feel free to jump straight to Section 3, <strong>and</strong> refer back to the technicalities as <strong>and</strong> when<br />

necessary.<br />

2.1 The COBOL Program Divisions<br />

To create an executable COBOL program, you have to provide the compiler with three preparatory<br />

blocks of def<strong>in</strong>itions <strong>and</strong> declarations, <strong>and</strong> one further block of logical <strong>in</strong>structions. This is done under<br />

the follow<strong>in</strong>g four head<strong>in</strong>gs .....<br />

1. Identification Division: The first few statements <strong>in</strong> a COBOL program address basic<br />

requirements such as the program name, its author (<strong>and</strong> author history), the date it was first<br />

written (<strong>and</strong> its amendment history), <strong>and</strong> the like. This comm<strong>and</strong>s no further explanation at this<br />

juncture, because it contributes noth<strong>in</strong>g to the pseudocode facility.<br />

2. Environment Division: The next few statements serve primarily to describe the file(s) which<br />

is/are go<strong>in</strong>g to be read from, or written to, by the program. We say more on this <strong>in</strong> Section 2.2.<br />

3. Data Division: There then follows what can end up as a long <strong>and</strong> tortuous set of data declaration<br />

statements. These are the "nouns" talked about by Grace Hopper <strong>in</strong> Section 1.2 above, <strong>and</strong><br />

they are vitally important to effective programm<strong>in</strong>g because they force you to def<strong>in</strong>e the<br />

Revised August 5, 2008 Page 166 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

data you wish to process at a very early stage, allocat<strong>in</strong>g it byte by byte (<strong>and</strong> sometimes bit<br />

by bit) to the physical storage resource provided <strong>in</strong> Ma<strong>in</strong> <strong>Memory</strong>. We say more on this <strong>in</strong><br />

Section 2.3.<br />

4. Procedure Division: F<strong>in</strong>ally, we come to the programm<strong>in</strong>g proper, that is to say, to the operations<br />

you wish to have carried out on said data, <strong>and</strong> which you therefore want the compiler to convert to<br />

substantive mach<strong>in</strong>e code. This is dealt with <strong>in</strong> Section 2.4.<br />

2.2 The COBOL Environment Division<br />

Non-programmers should refamiliarise themselves with the topics of Batch vs Onl<strong>in</strong>e<br />

Process<strong>in</strong>g from Part 2 (Section 1), Onl<strong>in</strong>e Transaction Process<strong>in</strong>g from Part 5 (Section 1.7),<br />

<strong>and</strong> Job Control Language from Part 5 (Section 1.2), before proceed<strong>in</strong>g.<br />

Early experience soon persuaded computer programmers to dist<strong>in</strong>guish carefully between<br />

compilation-time <strong>and</strong> run-time considerations. The most cost-effective programs were those which<br />

could be compiled once <strong>and</strong> then executed repeatedly on no end of different <strong>in</strong>put <strong>and</strong> output data<br />

files. Thus a monthly account<strong>in</strong>g program might run on January's data at the beg<strong>in</strong>n<strong>in</strong>g of February,<br />

on February's at the beg<strong>in</strong>n<strong>in</strong>g of March, <strong>and</strong> so on - yes, it would cost you a lot of secondary storage<br />

(<strong>in</strong>itially card or paper tape, but later magnetic drums, tapes, or disks) to keep your data safe (for<br />

many years <strong>in</strong> the case of account<strong>in</strong>g or legal data), but you would only ever need a s<strong>in</strong>gle copy of<br />

the object code [at least until the need for rout<strong>in</strong>e repairs or enhancements <strong>in</strong>tervened].<br />

This arrangement was managed by hav<strong>in</strong>g one set of filenames reserved for use by the operat<strong>in</strong>g<br />

system <strong>in</strong> its day-to-day management of the physical filestore, <strong>and</strong> a different, much simpler, set of<br />

filenames for use by the programmer. The former were called the "physical filenames", because<br />

they referred to data which actually existed somewhere on tangible storage media, <strong>and</strong> the latter were<br />

called the "logical filenames" because they only ever had to make sense to the person actively<br />

do<strong>in</strong>g the problem solv<strong>in</strong>g. All that then rema<strong>in</strong>ed to do at run-time was to "assign" each of the file(s)<br />

conta<strong>in</strong><strong>in</strong>g the specific data you wanted to process to the "selected" logical filenames by which they<br />

would be known for the duration of that process<strong>in</strong>g.<br />

ASIDE: By def<strong>in</strong>ition, both <strong>in</strong>put files <strong>and</strong> output files be<strong>in</strong>g "extended" (that is to say, added to rather<br />

than be<strong>in</strong>g created from scratch) are pre-exist<strong>in</strong>g files, <strong>and</strong> are accord<strong>in</strong>gly already known by name to<br />

the operat<strong>in</strong>g system. Any appropriately structured file can therefore be assigned by its external<br />

filename to the simpler local filename. Less obviously, empty output files are also pre-exist<strong>in</strong>g files,<br />

be<strong>in</strong>g typically created by the job pack immediately before execution of the program which is to write<br />

to them. In fact, it was the need to keep re-creat<strong>in</strong>g <strong>and</strong> re-assign<strong>in</strong>g your data files each time a<br />

program was to run which drove the development of the Job Control Languages described <strong>in</strong> Part 5<br />

(Section 1.2).<br />

Turn<strong>in</strong>g now to COBOL, this sort of run-time "b<strong>in</strong>d<strong>in</strong>g" is controlled by the Input-Output Section, File-<br />

Control Subsection, <strong>and</strong> the basic syntax is .<br />

Revised August 5, 2008 Page 167 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

2.3 The COBOL Data Division<br />

Early experience also persuaded programmers of the need to deploy their computer's available Ma<strong>in</strong><br />

<strong>Memory</strong> with the utmost forethought <strong>and</strong> precision. In COBOL, this is done <strong>in</strong> the "Data Division",<br />

the third of the four program divisions. The key facility under this head<strong>in</strong>g is the "Picture Clause" .....<br />

Key Concept - The "Picture Clause": A COBOL Picture Clause is a specific allocation of a number<br />

of bytes of Ma<strong>in</strong> <strong>Memory</strong> to a particular type of data, under one or more unique names, <strong>and</strong> optionally<br />

pre-set to a required value. It is the mechanism by which the programmer controls the <strong>in</strong>itial<br />

build of the Record <strong>and</strong> Data Areas, <strong>and</strong> was presented to CODASYL by Bob Bemer, who had<br />

developed the idea on the 1957 IBM COMTRAN language. Data arrays can be set up us<strong>in</strong>g an<br />

OCCURS N TIMES extension to the basic clause, <strong>and</strong> the optional field pre-sett<strong>in</strong>g is done us<strong>in</strong>g a<br />

VALUE IS "....." extension [various examples below].<br />

The follow<strong>in</strong>g data types are recognised by COBOL .....<br />

PIC A: The PIC A data type allocates a specified number of bytes to "alphabetical" characters, that<br />

is to say, to the 26 letters of the alphabet, plus space, plus the commonest punctuation marks, on a<br />

one-byte-per-character basis. The number of bytes to be allocated can be determ<strong>in</strong>ed either by the<br />

number of As stated [so PIC AAA will allocate a three-byte field] OR by bracket<strong>in</strong>g that requirement<br />

numerically [so PIC A(16) will allocate a 16-byte field]. Data <strong>in</strong> a PIC A field is automatically left<br />

justified dur<strong>in</strong>g storage <strong>and</strong> display [so PIC A(16) VALUE IS "HI THERE" will allocate a 16-byte field<br />

conta<strong>in</strong><strong>in</strong>g "HI_THERE________"].<br />

PIC X: The PIC X data type allocates a specified number of bytes to "alphanumeric" characters, that<br />

is to say, to the 26 letters of the alphabet, the ten numerals, plus space, plus the rema<strong>in</strong>der of the<br />

available character set, on a one-byte-per-character basis. Aga<strong>in</strong>, the number of bytes to be allocated<br />

is determ<strong>in</strong>ed by the number of Xs stated [so PIC XXX will allocate a three-byte field <strong>and</strong> PIC X(16)<br />

will allocate a 16-byte field]. Data <strong>in</strong> a PIC X field is also automatically left justified dur<strong>in</strong>g storage <strong>and</strong><br />

display.<br />

PIC 9 DISPLAY: The PIC 9 DISPLAY data type allocates a specified number of bytes to "decimal<br />

numeric" characters, that is to say, the ten decimal numerals on a one-byte-per-digit basis. It also<br />

allows declaration of the decimal po<strong>in</strong>t, us<strong>in</strong>g an <strong>in</strong>set "V" (although no decimal po<strong>in</strong>t is stored as<br />

such). Thus PIC 999V99 will allocate a five byte field, <strong>in</strong> which the two lowest order digits are<br />

processed as decimal fractions. This form of representation is <strong>in</strong>tended for human consumption: it is<br />

non-b<strong>in</strong>ary, <strong>and</strong> so should not be used for calculation purposes. Data <strong>in</strong> a PIC 9 DISPLAY field is<br />

automatically right justified dur<strong>in</strong>g storage <strong>and</strong> display.<br />

PIC 9 COMPUTATIONAL: The PIC 9 COMPUTATIONAL data type allocates an appropriate number<br />

of bytes to "b<strong>in</strong>ary numeric" data.<br />

ASIDE: A s<strong>in</strong>gle 8-bit byte can store the b<strong>in</strong>ary number 11111111 (decimal 255), although if you want<br />

signed fields this will effectively steal the highest order bit, reduc<strong>in</strong>g the limit to 127. Two bytes can<br />

cope with 1111111111111111 (decimal 65535; 32767 if signed), <strong>and</strong> so on. The <strong>in</strong>set on float<strong>in</strong>g po<strong>in</strong>t<br />

arithmetic <strong>in</strong> Part 4 (Section 1.3) will give some idea how this resource is used.<br />

There are a number of subtypes to the PIC 9 COMPUTATIONAL declaration, but these need not<br />

concern us at the pseudocode stage. Data <strong>in</strong> a PIC 9 COMPUTATIONAL field cannot be directly<br />

displayed because it is <strong>in</strong> b<strong>in</strong>ary [not entirely true - it can be displayed, but it screens as gibberish <strong>in</strong><br />

Revised August 5, 2008 Page 168 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

the same way that your word processor can quite happily open, but then make no sense of, a digital<br />

photograph]. If numerical display is needed, then the b<strong>in</strong>ary data needs to be moved to a suitable<br />

DISPLAY field beforeh<strong>and</strong>.<br />


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

05 IP-FAMILY-NAME PIC X(20).<br />

03 IP-CUSTOMER-DETAILS PIC X(52).<br />

The second block of data declarations is called the "Work<strong>in</strong>g-Storage Section" .....<br />

The Work<strong>in</strong>g-Storage Section: In this section, the programmer's scratchpad storage<br />

requirements are def<strong>in</strong>ed down to field level. This allows the compiler to earmark Ma<strong>in</strong> <strong>Memory</strong><br />

as scratchpad memory, thus allow<strong>in</strong>g programmers to manipulate each <strong>and</strong> any <strong>in</strong>tended<br />

fragment of their data by name. Typical work<strong>in</strong>g storage applications are for constants, counts,<br />

tabular data arrays, loop control, <strong>and</strong> the dissection <strong>and</strong> manipulation of fragments of <strong>in</strong>put or<br />

output data, <strong>and</strong> these are further discussed <strong>in</strong> Section 3.3. Note how the field name prefix is<br />

now WS- <strong>in</strong>stead of IP-, <strong>in</strong> an attempt to make the nam<strong>in</strong>g scheme more programmer-friendly.<br />

Note also how the IP-CUSTOMER-DETAILS field has now been "opened up" <strong>in</strong>to the two<br />

separate subfields of WS-CUSTOMER-DETAILS. The motivation for this is that there is no po<strong>in</strong>t<br />

nam<strong>in</strong>g someth<strong>in</strong>g until it is needed, <strong>and</strong> on this occasion the presumption would therefore be<br />

that WS-CUSTOMER-PIN is go<strong>in</strong>g to needed <strong>in</strong> this program, but that the field named WS-NOT-<br />

NEEDED-IN-THIS-PROGRAM would conta<strong>in</strong> data <strong>in</strong>serted by, <strong>and</strong> of relevance to, other<br />

programs, but not this one.<br />

WORKING-STORAGE SECTION.<br />

01 WS-CONSTANTS.<br />

03 WS-CONSTANT-TEXTS.<br />

05 WS-DUMP-AID PIC A(27) VALUE IS " WORKING-STORAGE<br />

STARTS HERE".<br />

05 WS-ABORT-TEXT.<br />

07 WS-ABORT-TEXT-HEADER PIC A(20) VALUE<br />

IS "ABORT WITH ERROR NO:".<br />

07 WS-ABORT-TEXT-NUMBER PIC 9(5).<br />

01 WS-COUNTS.<br />

03 WS-RECORDS-READ PIC 9(3) VALUE IS ZERO.<br />

03 WS-RECORDS-WRITTEN PIC 9(3) VALUE IS ZERO.<br />

01 WS-ARRAYS.<br />

03 WS-MONTHS PIC X(3) OCCURS 12 TIMES.<br />

03 WS-DAYS PIC X(3) OCCURS 7 TIMES.<br />

01 WS-LOOPS.<br />

03 WS-UNTIL PIC 9(3) COMP.<br />

01 WS-CUSTOMER-RECORD.<br />

03 WS-RECORD-TYPE PIC 9(2).<br />

03 WS-CUSTOMER-NAME PIC X(26).<br />

03 WS-CUSTOMER-DETAILS.<br />

05 WS-CUSTOMER-PIN PIC 9(4).<br />

05 WS-NOT-NEEDED-IN-THIS-PROGRAM PIC X(48).<br />

Note how the field nam<strong>in</strong>g <strong>in</strong> both the File Section <strong>and</strong> the Work<strong>in</strong>g-Storage Section is hierarchical,<br />

with the Picture Clause added only at the lowest level. This hierarchical structur<strong>in</strong>g is important,<br />

because it allows categorical as well as atomic reference to your data. In fact, nearly 100<br />

Revised August 5, 2008 Page 170 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

separate hierarchical levels are supported, although normally only the first half dozen are ever used.<br />

The rule is that MOVEs will be executed at <strong>and</strong> below the specified hierarchical level. Thus if you<br />

, this is a Level 01 move [see the<br />

orig<strong>in</strong>al declaration l<strong>in</strong>es above], <strong>and</strong> so every one of the 80 constituent bytes is moved .....<br />

ASIDE: We have arranged for the receiv<strong>in</strong>g field on this occasion to be exactly the right size. Had it<br />

been larger, the leftmost 80 bytes of the receiv<strong>in</strong>g field would have been overwritten (<strong>and</strong> the<br />

rema<strong>in</strong>der set to spaces), <strong>and</strong> had it been smaller, the rightmost end of the <strong>in</strong>com<strong>in</strong>g field would have<br />

been "truncated" (ie. snipped off <strong>and</strong> lost). Carelessness <strong>in</strong> field siz<strong>in</strong>g is a major source of bugs<br />

early <strong>in</strong> program development.<br />

..... however, if you then follow this with , then only the 20<br />

bytes specifically referred to by this name are affected. It is even possible to move bits around with<strong>in</strong><br />

the bytes, although the mechanisms by which this is achieved need not concern us at the pseudocode<br />

stage. In other words, no matter how big your Ma<strong>in</strong> <strong>Memory</strong>, the programmer can retrieve,<br />

exam<strong>in</strong>e, <strong>and</strong> if necessary amend every s<strong>in</strong>gle bit of it, by name, or by any of its higher order<br />

names.<br />

The third block of data declarations is called the "Screen Section", <strong>and</strong> is needed when preformatted<br />

<strong>in</strong>put/output screens are required. Whenever this happens, the "templates" - that is to say, the<br />

<strong>in</strong>variable portions thereof - also need to be specified <strong>in</strong> advance. This section will therefore conta<strong>in</strong><br />

as many screen def<strong>in</strong>itions as the system specification has asked for, each with lots of Picture<br />

Clauses with pre-set VALUE IS elements.<br />

The fourth block of data declarations is called the "L<strong>in</strong>kage Section", <strong>and</strong> is needed when a call-<strong>and</strong>return<br />

relationship exists between two or more programs. Whenever this happens, the call<strong>in</strong>g program<br />

will usually need to pass data across to the called program when mak<strong>in</strong>g the call, <strong>and</strong> receive back<br />

some results of the computation upon the return of control. This exchange of data is done by l<strong>in</strong>k<strong>in</strong>g<br />

the object modules <strong>in</strong> such a way that they have a number of data fields <strong>in</strong> common. These commonly<br />

addressable data fields need to be separately identified to the compiler <strong>and</strong> this is done <strong>in</strong> the L<strong>in</strong>kage<br />

Section provided.<br />

For a simple example of what a Data Division might look on paper, click here, for good examples of<br />

Work<strong>in</strong>g-Storage Picture Clauses see Col<strong>in</strong> Wheeler's "COBOL Bible", <strong>and</strong> for a full tutorial, we<br />

recommend Michael Coughlan's pages [menu] at the University of Limerick [check it out].<br />

2.4 The COBOL Procedure Division<br />

With the environmental <strong>in</strong>formation <strong>in</strong> place <strong>and</strong> the necessary data declarations made, attention can<br />

now turn to the logic of the program. In COBOL this is traditionally expressed as a sequence of<br />

paragraphs of detailed source code, which are "performed" <strong>in</strong> the sequence already decided upon at<br />

the analysis <strong>and</strong> design stage. The key facility under this head<strong>in</strong>g is the "PERFORM" statement .....<br />

Key Concept - The COBOL "PERFORM" Statement: The COBOL PERFORM statement is the<br />

solution to Dijkstra's compla<strong>in</strong>t about GO TOs [see Section 1.1]. What it does is to allow one or more<br />

<strong>in</strong>structions to be declared as a paragraph, named as a paragraph, <strong>and</strong> thereafter executed as often<br />

as necessary as a unit. The paragraph, <strong>in</strong> other words, is "performed" when called by name, <strong>and</strong>,<br />

when completed, passes control back to the call<strong>in</strong>g paragraph. What happens, of course, is that the<br />

compiler simply replaces each PERFORM with two GO TOs, one at the top of the paragraph <strong>and</strong><br />

Revised August 5, 2008 Page 171 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

another at the bottom, on a call-<strong>and</strong>-return basis. However, it does this with 100% accuracy, whereas<br />

human GO TO programmers get mightily confused mightily quickly.<br />

Paragraphs can also be "nested", that is to say, you can PERFORM a paragraph which itself<br />

PERFORMs one or more lesser paragraphs, which themselves PERFORM still other paragraphs, <strong>and</strong><br />

so on. This is what gave Figure 2 its layered depth, <strong>and</strong> does much to turn a two-dimensionality <strong>in</strong><br />

space <strong>in</strong>to what will ultimately be executed as a l<strong>in</strong>earity <strong>in</strong> time - Section 1's Lashley-Dijkstra<br />

problem, of course.<br />

Armed with this vocabulary, it rema<strong>in</strong>s only to control how often, <strong>and</strong> <strong>in</strong> what precise circumstances,<br />

each PERFORM is to be PERFORMed. Now the concepts of "iterations", "conditionals", <strong>and</strong> "loop<br />

control" were <strong>in</strong>troduced <strong>in</strong> the worked example <strong>in</strong> Section 1.1 above, <strong>and</strong> examples of them were<br />

given <strong>in</strong> Section 2.4. In fact the GO TOs highlighted there<strong>in</strong> created a nest of such loops - the<br />

<strong>in</strong>nermost loop repeatedly checks the TIMER PIN while the value is OFF, the next loop repeatedly<br />

adds while build<strong>in</strong>g up towards a complete MINUTE, the next loops MINUTES wait<strong>in</strong>g<br />

on a complete HOUR, <strong>and</strong> so on. However, there are a number of m<strong>in</strong>or variations to loop control, as<br />

follows .....<br />

Key Concept - DO WHILE <strong>and</strong> DO UNTIL Loops: The approach to loop control used by BASIC-style<br />

<strong>in</strong>terpreters supports two forms of DO loop. In the DO WHILE form, a test expression is stated <strong>and</strong> the<br />

body of the loop is repeated until that test is no longer satisfied [for example, ]. The DO UNTIL form is similar, save that the test is now for an end condition to be passed<br />

rather than failed [for example, ] (Ware, 2002/2003 onl<strong>in</strong>e).<br />

Key Concept - FOR NEXT Loops: Another BASIC-style variant of loop control takes the form . This<br />

repeats the nested <strong>in</strong>structions, <strong>in</strong>crement<strong>in</strong>g {counter} by STEP (or default 1 if omitted) each time.<br />

Key Concept - The PERFORM N TIMES Loop: This is probably the simplest COBOL repetition, <strong>and</strong><br />

repeats the specified paragraph the specified number of times. The N can either be a pre-set <strong>in</strong>teger<br />

[as <strong>in</strong> ], or else a variable [as <strong>in</strong> ].<br />

Key Concept - The PERFORM UNTIL Loop: This is the COBOL equivalent of the DO UNTIL loop<br />

described above, <strong>and</strong> is commonly used for process<strong>in</strong>g each record from a file [as <strong>in</strong> ].<br />

Key Concept - The PERFORM VARYING Loop: This is the COBOL equivalent of the FOR NEXT<br />

loop described above, <strong>and</strong> takes the form . It is often used to loop a process through all the<br />

entries <strong>in</strong> a data array <strong>in</strong>dexed by [see under Data Arrays <strong>and</strong> Index<strong>in</strong>g <strong>in</strong> Section 3.3<br />

below].<br />

Once the skeletal PERFORM structure has been established, it rema<strong>in</strong>s only to "flesh out" each<br />

paragraph with the logically appropriate detailed <strong>in</strong>structions. These are selected from a fairly short<br />

vocabulary, <strong>in</strong> which the follow<strong>in</strong>g <strong>in</strong>structions are the most common .....<br />

ACCEPT <strong>and</strong> DISPLAY: These two <strong>in</strong>structions take data from, or send it to, named term<strong>in</strong>al devices<br />

[examples]. They are often used <strong>in</strong> pairs <strong>in</strong>teractively <strong>in</strong> the form


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

name} NOW:"> followed by an , thus prompt<strong>in</strong>g the user to enter<br />

the specified data item for storage <strong>in</strong> the specified field.<br />

OPEN <strong>and</strong> CLOSE: The OPEN <strong>in</strong>struction prepares the specified file (as previously identified <strong>in</strong> the<br />

SELECT-ASSIGN <strong>and</strong> FD statements) for active use [the downside of which is that the operat<strong>in</strong>g<br />

system now has to manage the filestore very carefully to avoid accidentally corrupt<strong>in</strong>g the data,<br />

especially on multi-user systems], <strong>and</strong> the CLOSE <strong>in</strong>struction signals the operat<strong>in</strong>g system that those<br />

files are f<strong>in</strong>ished with <strong>and</strong> can be re-catalogued (complete with new file size, placement, <strong>and</strong> lastamended<br />

date) <strong>and</strong> de-protected.<br />

READ <strong>and</strong> WRITE: These two <strong>in</strong>structions read/write records <strong>in</strong>/out of their allocated record areas,<br />

that is to say, they momentarily open the data bus for communication between the Record Area <strong>and</strong><br />

the device concerned [more on this <strong>in</strong> Section 3.2 below]. Attempts to READ beyond the last record <strong>in</strong><br />

a file generate an AT END Boolean, which can be tested as part of primary loop control [more on this<br />

<strong>in</strong> Section 3.3 below].<br />

MOVE: This <strong>in</strong>struction takes the form , <strong>and</strong> copies the<br />

contents of the first fieldname to the space available <strong>in</strong> the second. It is commonly the most heavily<br />

used <strong>in</strong>struction of them all.<br />

ADD: These <strong>in</strong>structions take the form , <strong>and</strong> execute the named<br />

arithmetical operation on the given oper<strong>and</strong> str<strong>in</strong>g.<br />

SUBTRACT: These <strong>in</strong>structions take the form , <strong>and</strong><br />

execute the specified arithmetical operation on the given oper<strong>and</strong> str<strong>in</strong>g.<br />

MULTIPLY: These <strong>in</strong>structions take the form , <strong>and</strong> execute<br />

the specified arithmetical operation on the given oper<strong>and</strong> str<strong>in</strong>g.<br />

DIVIDE: These <strong>in</strong>structions take the form , <strong>and</strong> execute the<br />

specified arithmetical operation on the given oper<strong>and</strong> str<strong>in</strong>g.<br />

COMPUTE: This <strong>in</strong>struction takes the form .<br />

2.5 The Story So Far<br />

So to recap, a s<strong>in</strong>gle sheet of structure diagram [as per Figure 2 body] can be used to give a static<br />

visuospatial representation of what will ultimately be a time-sequenced solution to our orig<strong>in</strong>al real<br />

world problem. This visuospatial structure can then be "peeled off" the two-dimensional sheet from top<br />

left to bottom right, <strong>and</strong> mapped onto a nested l<strong>in</strong>ear paragraph structure [as per Figure 2 <strong>in</strong>dent],<br />

which can then be fleshed out with any miss<strong>in</strong>g detail before be<strong>in</strong>g compiled <strong>in</strong>to raw mach<strong>in</strong>e code.<br />

The mach<strong>in</strong>e code then executes one <strong>in</strong>struction at a time [save as pipel<strong>in</strong>ed or parallel processed]<br />

under the FETCH-<strong>and</strong>-EXECUTE logic of the CPU provided. Moreover, s<strong>in</strong>ce the systems analyst's<br />

orig<strong>in</strong>al solution was effectively an exercise of human "right-hemisphere" problem solv<strong>in</strong>g skill, we<br />

may look upon structured programm<strong>in</strong>g as open<strong>in</strong>g up a direct channel of communication <strong>and</strong><br />

Revised August 5, 2008 Page 173 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

opportunity between the full creative richness of the human m<strong>in</strong>d <strong>and</strong> the logic gates of the CPU;<br />

between human <strong>in</strong>genuity <strong>in</strong> all its glory, <strong>and</strong> b<strong>in</strong>ary <strong>in</strong> its rasp<strong>in</strong>g simplicity. The translation is<br />

achieved <strong>in</strong> discrete steps, of course, but if you had the time <strong>and</strong> <strong>in</strong>cl<strong>in</strong>ation every s<strong>in</strong>gle one of those<br />

steps could nonetheless be traced with total accuracy. The real world can thus rout<strong>in</strong>ely - <strong>and</strong> with<br />

full audit trail - be reduced to b<strong>in</strong>ary <strong>and</strong> the Explanatory Gap can be duly closed.<br />

Reductionism, <strong>in</strong> other words, suddenly becomes a viable option!<br />

ASIDE - THE EXPLANATORY GAP: The Explanatory Gap is the long-st<strong>and</strong><strong>in</strong>g philosophical gulf<br />

between explanations of human behaviour [nowadays especially consciousness] couched <strong>in</strong><br />

sociocultural <strong>and</strong>/or psychological language, <strong>and</strong> explanations based on the underly<strong>in</strong>g physiological,<br />

chemical, <strong>and</strong> even sub-atomic processes. It is the problem of expla<strong>in</strong><strong>in</strong>g the macroscopic <strong>in</strong> terms of<br />

the microscopic, <strong>and</strong> it has yet to be adequately resolved. In Smith (1998b), we blamed the<br />

explanatory gap on the fact that "we are notoriously bad at see<strong>in</strong>g how wholes can ever become<br />

greater than the sums of their parts" (p215): we know that wholes rout<strong>in</strong>ely are greater than the sums<br />

of their parts, of course, but our explanations at one level do not map readily onto explanations at<br />

another. Yet compilers do precisely this, rout<strong>in</strong>ely reduc<strong>in</strong>g sourcecode wholes <strong>in</strong>to object code parts.<br />

The Explanatory Gap, if anyth<strong>in</strong>g, is a compiler gap.<br />

For a full Procedure Division tutorial, we recommend Michael Coughlan's pages at the University of<br />

Limerick.<br />

3 - The <strong>Subtypes</strong> of Volatile Electronic <strong>Memory</strong><br />

In this section, we take the various types of computer STM previously identified, rem<strong>in</strong>d ourselves of<br />

where they sit physically with<strong>in</strong> the hardware, <strong>and</strong> then describe how they work <strong>in</strong> practice. We do this<br />

under n<strong>in</strong>e organis<strong>in</strong>g head<strong>in</strong>gs - the "memory subtypes" of our title - as follows. The Remarks<br />

column identifies the major areas of similarity between biological <strong>and</strong> non-biological systems, <strong>and</strong><br />

may, on occasions, come close to stat<strong>in</strong>g the obvious .....<br />

STM Subtype Section Remarks<br />

STM <strong>in</strong> the FETCH-<strong>and</strong>-<br />

EXECUTE Cycle<br />

STM for Input <strong>and</strong> Output<br />

Purposes<br />

3.1 Science is currently unable to expla<strong>in</strong> the <strong>in</strong>s-<strong>and</strong>-outs<br />

of biological data process<strong>in</strong>g at the level of the<br />

underly<strong>in</strong>g electronics. Certa<strong>in</strong>ly, it EXECUTEs<br />

<strong>in</strong>structions of some sort, but whether this requires<br />

activation <strong>in</strong> situ or a physical FETCH is not known.<br />

3.2 The bra<strong>in</strong> spends most of its time <strong>and</strong> effort convert<strong>in</strong>g<br />

<strong>in</strong>put (sensory) data <strong>in</strong>to output data (behaviour).<br />

However .....<br />

STM for Scratchpad Purposes 3.3 ..... less than one part <strong>in</strong> ten million of the <strong>in</strong>put stream<br />

is ever stored long term (Frank, 1963). The rest, of<br />

necessity, must either be reduced <strong>in</strong> flight or else<br />

scratch-padded momentarily, <strong>and</strong> then discarded.<br />

STM for Multiprogramm<strong>in</strong>g<br />

Purposes<br />

3.4 The bra<strong>in</strong> is <strong>in</strong> some important respects a<br />

Multiprogramm<strong>in</strong>g system.<br />

STM for Transaction 3.5 The bra<strong>in</strong> is <strong>in</strong> some important respects a Transaction<br />

Revised August 5, 2008 Page 174 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Process<strong>in</strong>g Applications Process<strong>in</strong>g system.<br />

STM for Database Applications 3.6 The bra<strong>in</strong> is <strong>in</strong> some important respects a Database<br />

system.<br />

STM for Distributed Process<strong>in</strong>g<br />

Purposes<br />

STM for Real-Time Process<strong>in</strong>g<br />

Purposes<br />

STM for "Object-Oriented"<br />

Process<strong>in</strong>g Purposes<br />

3.7 The bra<strong>in</strong> is <strong>in</strong> some important respects a Distributed<br />

Process<strong>in</strong>g system.<br />

3.8 The bra<strong>in</strong> is <strong>in</strong> some important respects a Real-Time<br />

Process<strong>in</strong>g system.<br />

3.9 The bra<strong>in</strong> is <strong>in</strong> some important respects an Object-<br />

Oriented system.<br />

So let us beg<strong>in</strong> by donkey-tail<strong>in</strong>g these various memory subtypes onto our st<strong>and</strong>ard hardware<br />

diagram. For simplicity's sake, we shall follow the context provided by the layout of the typical Eckertvon<br />

Neumann mach<strong>in</strong>e - the computer as it stood <strong>in</strong> 1950 - <strong>and</strong> simply add <strong>in</strong> whatever needs add<strong>in</strong>g<br />

<strong>in</strong>; there would be little advantage to be ga<strong>in</strong>ed by overlay<strong>in</strong>g a more recent architecture because the<br />

pr<strong>in</strong>ciples rema<strong>in</strong> the same. Here, then, is the last of the diagrams used <strong>in</strong> Part 3 (Section 6 subfile),<br />

with additional highlight<strong>in</strong>g to show the distribution of short- <strong>and</strong> long-term memory resources .....<br />

Figure 3 - STM <strong>and</strong> LTM Resources <strong>in</strong> a Typical General Purpose Computer: Here is<br />

the basic modular architecture of a typical computer [rem<strong>in</strong>der], rendered fe<strong>in</strong>t, <strong>and</strong> then<br />

overla<strong>in</strong> with additional detail. We have made the operat<strong>in</strong>g system's share of Ma<strong>in</strong> <strong>Memory</strong><br />

more visible [yellow underpanel, top left], allowed for optional extension software packages<br />

[mauve underpanel, top right], <strong>and</strong> then surrounded the whole th<strong>in</strong>g with starred captions<br />

show<strong>in</strong>g where the ma<strong>in</strong> subtypes of electronic STM may be found. The system supervisor<br />

resources specifically identified are the Stack H<strong>and</strong>ler, the Pag<strong>in</strong>g Tables, the Interrupt<br />

H<strong>and</strong>ler, Block Buffer<strong>in</strong>g, <strong>and</strong> the Semaphores. The two most important optional extensions<br />

to the system software are the DBMS (<strong>and</strong> with<strong>in</strong> that the Currency Tables), <strong>and</strong> the TP<br />

Monitor (<strong>and</strong> with<strong>in</strong> that the Partial Results). There are also two bold blue captions, one to<br />

show where the ma<strong>in</strong> body of LTM is located [bottom left], <strong>and</strong> the other to show the LTM<br />

read-only memory used to hold the microcode [left, as an adjunct to the Control Unit]. Note<br />

how peripheral these LTM resources are to the all-important FETCH-<strong>and</strong>-EXECUTE <strong>and</strong><br />

INPUT-OUTPUT cycles of STM process<strong>in</strong>g. In other words, for computers as well as<br />

bra<strong>in</strong>s, if you want to know the "go" of a given system, then there is no better learn<strong>in</strong>g<br />

experience than to accompany STM on its journey through that system, carefully<br />

observ<strong>in</strong>g (a) where it comes from <strong>in</strong> the first <strong>in</strong>stance, (b) how it circulates with<strong>in</strong> the<br />

hardware, (c) how it <strong>in</strong>teracts with <strong>and</strong> is transformed by the logic gates, <strong>and</strong> (d)<br />

where it then ends up.<br />

Revised August 5, 2008 Page 175 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

3.1 STM <strong>in</strong> the FETCH-<strong>and</strong>-EXECUTE Cycle<br />

The key concepts under this head<strong>in</strong>g are Control Registers <strong>and</strong> the FETCH-<strong>and</strong>-EXECUTE Cycle.<br />

We first <strong>in</strong>troduced registers <strong>in</strong> Part 1 (Section 1) as the name given to the "tens carry" cogwheel<br />

displays used on the 17th century mechanical calculators, <strong>and</strong> we then discussed their<br />

metamorphosis <strong>in</strong>to electronic components <strong>in</strong> Part 3 (Section 2), where we def<strong>in</strong>ed them <strong>in</strong> general<br />

terms as storage locations closely <strong>and</strong> permanently attached to the CPU. Two registers <strong>in</strong> particular<br />

were highlighted <strong>in</strong> our e-paper on "The Eckert-von Neumann Mach<strong>in</strong>e". These were the Instruction<br />

Register <strong>and</strong> the Program Counter, <strong>and</strong> what these comb<strong>in</strong>ed mechanisms do is drive the basic<br />

FETCH-<strong>and</strong>-EXECUTE comput<strong>in</strong>g cycle. The former conta<strong>in</strong>s the <strong>in</strong>struction currently be<strong>in</strong>g<br />

processed, <strong>and</strong> the latter conta<strong>in</strong>s the address of the next program <strong>in</strong>struction to be obeyed. Both<br />

these STM elements require updat<strong>in</strong>g after every <strong>in</strong>struction, <strong>and</strong> should either of them fail the<br />

computational <strong>in</strong>tegrity of the entire system is immediately <strong>and</strong> fatally compromised.<br />

Revised August 5, 2008 Page 176 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

We also need to consider the mach<strong>in</strong>e's <strong>in</strong>struction queu<strong>in</strong>g philosophy. As expla<strong>in</strong>ed <strong>in</strong> Part 5<br />

(Section 1.4), most modern processors are designed to operate accord<strong>in</strong>g to the stack pr<strong>in</strong>ciple. This<br />

means that a s<strong>in</strong>gle queue of cleverly <strong>in</strong>termixed op codes <strong>and</strong> oper<strong>and</strong>s is ma<strong>in</strong>ta<strong>in</strong>ed at the Control<br />

Unit, <strong>and</strong> then acted upon as time permits. This has the advantage that as you develop more <strong>and</strong><br />

more powerful <strong>in</strong>structions you merely add to the length of the stack, not to the complexity of the<br />

electronics [cost<strong>in</strong>g you only process<strong>in</strong>g time, not cash]. It also makes it easier to <strong>in</strong>troduce<br />

"recursion" [literally "re-runn<strong>in</strong>g"] <strong>in</strong>to your programm<strong>in</strong>g toolbox, <strong>and</strong> that br<strong>in</strong>gs even greater<br />

sav<strong>in</strong>gs. Here are some def<strong>in</strong>itions of this important, but unfortunately quite obscure, concept .....<br />

"In mathematics, recursion is the name given to the technique of def<strong>in</strong><strong>in</strong>g a function or process <strong>in</strong><br />

terms of itself" (Barron, 1968, p1).<br />

ASIDE: Never one to ignore a strong historical l<strong>in</strong>k, we must mention that our old friend, Christopher<br />

Strachey [see Part 4 (Section 2.3)], also played a part <strong>in</strong> the development of recursive programm<strong>in</strong>g,<br />

via a 1966 paper co-authored with the same David Barron mentioned above. See Gordon (2000/2003<br />

onl<strong>in</strong>e) for more on this l<strong>in</strong>k.<br />

"[Recursion is] a technique of describ<strong>in</strong>g someth<strong>in</strong>g partly <strong>in</strong> terms of itself" (Rohl, 1984, p1).<br />

Recursion allows you to simplify programm<strong>in</strong>g by divid<strong>in</strong>g a problem <strong>in</strong>to "subproblems of the same<br />

type" (Wikipedia, 2003 onl<strong>in</strong>e).<br />

Barron (1968) suggests that the best known example of mathematical recursion is the factorial<br />

expression. Thus we know that .....<br />

Factorial 6 = 6 x 5 x 4 x 3 x 2 x 1<br />

which is the same th<strong>in</strong>g as .....<br />

6 (Factorial 5)<br />

<strong>and</strong> work<strong>in</strong>g to this pattern we may recursively def<strong>in</strong>e factorial n by us<strong>in</strong>g the factorial function on both<br />

sides of the equation, as follows .....<br />

Factorial n = n (Factorial (n-1))<br />

And of course one of the few true pleasures of programm<strong>in</strong>g is when the problem solv<strong>in</strong>g algorithm at<br />

the heart of your program reduces to an elegant one-l<strong>in</strong>er such as this.<br />

When implemented on a computer, recursion requires that a s<strong>in</strong>gle block of <strong>in</strong>structions is there to be<br />

repeated; <strong>and</strong> <strong>in</strong> this respect it is superficially similar to the PERFORM UNTILs <strong>and</strong> DO WHILEs of<br />

conventionally structured code. Recursion is more than a simple program loop, however, because<br />

each pass through the loop is <strong>in</strong> some way progressive, tak<strong>in</strong>g you one step closer to a given logical<br />

objective. Simple loop<strong>in</strong>g is mere "iteration" (= repetition), <strong>and</strong> merely achieves another record<br />

written or another second counted off on your clock display. Recursion is "similar to a loop because it<br />

repeats the same code, but it requires pass<strong>in</strong>g <strong>in</strong> the loop<strong>in</strong>g variable <strong>and</strong> be<strong>in</strong>g more careful" (Alegre,<br />

2003 onl<strong>in</strong>e), <strong>and</strong> it is the requirement to nest the loop<strong>in</strong>g variable <strong>in</strong> this way which makes stackbased<br />

systems the rout<strong>in</strong>e choice for recursive programm<strong>in</strong>g. This is because the recursions can<br />

simply be stored <strong>in</strong> the stack until the <strong>in</strong>nermost condition is met, whereupon the whole function can<br />

Revised August 5, 2008 Page 177 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

be resolved us<strong>in</strong>g the characteristic last-<strong>in</strong>-first-out quality of the stack. Here is how Barron (1968)<br />

expla<strong>in</strong>s the item h<strong>and</strong>l<strong>in</strong>g sequence .....<br />

"..... for each call of the subrout<strong>in</strong>e there must be a different set of work<strong>in</strong>g registers <strong>and</strong> a different<br />

place to store the return address; on entry to the subrout<strong>in</strong>e a new set of work<strong>in</strong>g registers must be<br />

allocated, <strong>and</strong> on exit, before transferr<strong>in</strong>g control to the return address, the environment (work<strong>in</strong>g<br />

registers, etc.) must be restored to the status exist<strong>in</strong>g at the call of the subrout<strong>in</strong>e. These operations<br />

are carried out automatically <strong>in</strong> 'built <strong>in</strong>' recursive systems, but [otherwise] have to be explicitly<br />

programmed." (Barron, 1968, p34)<br />

"Almost all recursive programm<strong>in</strong>g systems are based on the idea of the stack (sometimes called a<br />

push-down store or nest<strong>in</strong>g store). [.....] A push-down store is a store that operates on the last-<strong>in</strong>-firstout<br />

pr<strong>in</strong>ciple. Whenever an item is placed <strong>in</strong> such a store, we speak of it go<strong>in</strong>g to the head of the store,<br />

push<strong>in</strong>g down all the items already there. Whenever an item is taken from the store it is taken from<br />

the head, <strong>and</strong> all the other items pop up. Thus it is always the item most recently added which is<br />

removed first. The term stack is usually applied to such a store when, <strong>in</strong> addition to access<strong>in</strong>g the item<br />

at the top, items <strong>in</strong> the <strong>in</strong>terior may be consulted. More precisely, a stack is a store which works on<br />

the push-down pr<strong>in</strong>ciple as far as add<strong>in</strong>g or remov<strong>in</strong>g items is concerned, <strong>and</strong> <strong>in</strong> which items not at<br />

the head can be accessed by quot<strong>in</strong>g their position relative to one of a small number of po<strong>in</strong>ters."<br />

(Barron, 1968, p35; italics orig<strong>in</strong>al)<br />

In fact, it is the stack po<strong>in</strong>ter which really makes the stack system so easy to use, because all it ever<br />

does is po<strong>in</strong>t to the next free cell <strong>in</strong> the stack. Everyth<strong>in</strong>g else can then be calculated relative to this.<br />

Key Concept - The Stack Po<strong>in</strong>ter: The stack po<strong>in</strong>ter is a CPU register conta<strong>in</strong><strong>in</strong>g the address, S, of<br />

the first unused slot <strong>in</strong> the run of volatile memory declared as the stack. It thus serves to identify the<br />

notional head of the stack (which, by def<strong>in</strong>ition, will always be at storage position S-1), <strong>and</strong> it also<br />

allows the stack length to be managed logically rather than physically, that is to say, the contents of<br />

storage register position S before a push-down are totally irrelevant, because they are about to be<br />

overwritten. As the head of the stack is processed, its contents are left <strong>in</strong> situ, safe <strong>in</strong> the knowledge<br />

that they can do no harm as long as the stack po<strong>in</strong>ter has been simultaneously decremented by one.<br />

Other applications of recursive techniques are .....<br />

(1) Algebraic Analysis: Follow<strong>in</strong>g the example of factorial n above, mathematicians regularly reduce<br />

long algebraic expressions to recursive functions.<br />

(2) Elegant Programm<strong>in</strong>g: Similarly, programmers have a repertoire of recursive functions for such<br />

otherwise complex tasks as sort<strong>in</strong>g.<br />

(3) Syntax Analysis: L<strong>in</strong>guists with a computational bent also use recursive approaches to the<br />

pars<strong>in</strong>g of sentence structures.<br />

(4) Mach<strong>in</strong>e Problem-Solv<strong>in</strong>g: As already expla<strong>in</strong>ed <strong>in</strong> Part 4 (Section 4.7), Newell, Shaw, <strong>and</strong><br />

Simon's (1957) General Problem Solver (GPS) was driven by a recursive algorithm capable of scor<strong>in</strong>g<br />

<strong>and</strong> re-scor<strong>in</strong>g an <strong>in</strong>ternally ma<strong>in</strong>ta<strong>in</strong>ed stack of possible problem solv<strong>in</strong>g options <strong>in</strong> its search for the<br />

best. In other words, recursive techniques are not just there for master-mathematicians to show how<br />

clever they are. They have also been used <strong>in</strong> artificial <strong>in</strong>telligence. Barron, for example, summarises<br />

Newell, Shaw, <strong>and</strong> Simon's General Problem Solver as follows .....<br />

Revised August 5, 2008 Page 178 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"[GPS] endeavours to discover a suitable attack on a problem by try<strong>in</strong>g a variety of methods <strong>and</strong><br />

assess<strong>in</strong>g their relative success. Broadly, given a goal to be achieved, GPS breaks it down <strong>in</strong>to<br />

subgoals <strong>and</strong> attempts first to achieve these. The process of achiev<strong>in</strong>g a subgoal may <strong>in</strong>volve further<br />

subdivision, <strong>and</strong> so we see the essentially recursive nature of the system - the subprocesses are<br />

identical with the ma<strong>in</strong> process of which they form part." (Barron, 1968, p32; italics orig<strong>in</strong>al; bold<br />

emphasis added)<br />

To summarise, recursive programm<strong>in</strong>g buys you short sweet algorithms at the (low) comb<strong>in</strong>ed cost of<br />

(a) mak<strong>in</strong>g Ma<strong>in</strong> <strong>Memory</strong> available for the stack, (b) <strong>in</strong>corporat<strong>in</strong>g the necessary stack h<strong>and</strong>l<strong>in</strong>g logic<br />

<strong>in</strong>to the operat<strong>in</strong>g system, <strong>and</strong> (c) mak<strong>in</strong>g register(s) available to the CPU to hold the stack po<strong>in</strong>ter(s).<br />

In Part 7, we shall consider whether biological cognition uses directly or metaphorically cognate<br />

systems, <strong>and</strong>, if so, what neural mechanisms might be <strong>in</strong>volved.<br />

3.2 STM for Input <strong>and</strong> Output Purposes<br />

The key concepts under this head<strong>in</strong>g are record areas <strong>and</strong> (the various forms of) buffer<strong>in</strong>g, as<br />

<strong>in</strong>troduced <strong>in</strong> Part 3 (Section 6 subfile) <strong>and</strong> Part 4 (Section 1.3) respectively. Now we have already<br />

seen [Section 2.3 above] how the COBOL File Section sets aside areas of Ma<strong>in</strong> <strong>Memory</strong> to hold one<br />

record for every nom<strong>in</strong>ated <strong>in</strong>put <strong>and</strong> output file. This is where <strong>in</strong>put records are stored while be<strong>in</strong>g<br />

acted upon <strong>and</strong> future output records are constructed field by field until ready to be written out to their<br />

dest<strong>in</strong>ation device. However, at least two variations on the buffer<strong>in</strong>g pr<strong>in</strong>ciple need to be considered,<br />

namely "device buffer<strong>in</strong>g" <strong>and</strong> "block buffer<strong>in</strong>g" .....<br />

Device Buffer<strong>in</strong>g: This is where data can be momentarily accumulated with<strong>in</strong> a peripheral device,<br />

await<strong>in</strong>g onward transmission. As previously expla<strong>in</strong>ed, this design feature is forced upon the<br />

designers by the <strong>in</strong>evitable difference between stor<strong>in</strong>g <strong>and</strong> retrieval speed <strong>and</strong> onward transmission<br />

speed.<br />

Block Buffer<strong>in</strong>g: This is where a conveniently-sized "block" of contiguous <strong>in</strong>put or output records is<br />

held as a unit with<strong>in</strong> the operat<strong>in</strong>g system's share of Ma<strong>in</strong> <strong>Memory</strong>, thus allow<strong>in</strong>g the operat<strong>in</strong>g system<br />

to "read ahead" <strong>and</strong> "write beh<strong>in</strong>d" the program's actual requirements. When the application program<br />

needs a record from a file, the operat<strong>in</strong>g system will get the block conta<strong>in</strong><strong>in</strong>g it, <strong>and</strong> if that block<br />

conta<strong>in</strong>s n records the next n-1 program reads can be serviced without any further physical reads.<br />

The program simply reads from the buffer as though it was the file, but at a fraction of the normal<br />

delay. Double buffer<strong>in</strong>g, etc., sacrifices yet more Ma<strong>in</strong> <strong>Memory</strong> to ga<strong>in</strong> an even bigger read<strong>in</strong>g ahead<br />

or writ<strong>in</strong>g beh<strong>in</strong>d advantage.<br />

Device buffer<strong>in</strong>g is quite commonly seen <strong>in</strong> cognitive science, <strong>in</strong> such areas as perception [eg. the<br />

"recognition buffer" <strong>in</strong> Sperl<strong>in</strong>g's (1967) model of text perception], biological motor programm<strong>in</strong>g [eg.<br />

the "motor program buffer" <strong>in</strong> Sternberg, Knoll, Monsell, <strong>and</strong> Wright's (1988) model of motor<br />

subprogram retrieval], <strong>and</strong> language process<strong>in</strong>g [eg. the "phonological <strong>in</strong>put buffer" <strong>and</strong> the two<br />

output buffers <strong>in</strong> Kay, Lesser, <strong>and</strong> Coltheart's (1992) PALPA transcod<strong>in</strong>g model], <strong>and</strong> <strong>in</strong> Part 7 we<br />

shall be look<strong>in</strong>g for neuroanatomical evidence for the location of the structures <strong>in</strong>volved. Block<br />

buffer<strong>in</strong>g appears to lack similar appeal.<br />

3.3 STM for Scratchpad Purposes<br />

All complex data process<strong>in</strong>g creates <strong>in</strong>termediate results, <strong>and</strong> therefore all systems need to provide<br />

somewhere to store them. The issue is easy to demonstrate .....<br />

Revised August 5, 2008 Page 179 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

The Nature of Intermediate Results: Use the empty box below to multiply 1437 by 469 .....<br />

We make the answer 673,953 <strong>and</strong> used the "traditional long multiplication" method [there are<br />

others - see Biggs (1994/2003 onl<strong>in</strong>e)]. This method generated three separate vertically<br />

aligned subproduct l<strong>in</strong>es, one for each of the significant digits <strong>in</strong> the short multiplic<strong>and</strong>, <strong>and</strong> the<br />

<strong>in</strong>dividual multiplications were supported by n<strong>in</strong>e subscripted "carry digits". These three<br />

subproducts were then added downwards to give the f<strong>in</strong>al total product (generat<strong>in</strong>g three<br />

further carry digits, which we h<strong>and</strong>led mentally. The po<strong>in</strong>t of this exercise is that every one<br />

of the n<strong>in</strong>e subscripted carry digits, the three separate subproducts, <strong>and</strong> the three<br />

further carry digits generated dur<strong>in</strong>g the f<strong>in</strong>al addition are discarded afterwards; <strong>and</strong><br />

although they were wholly <strong>in</strong>termediate to the calculation at h<strong>and</strong>, they were far from<br />

negligible <strong>in</strong> terms of resources used.<br />

Perry (1962a,b) called this type of STM "scratch-pad memory" because it is the electronic equivalent<br />

of scrap paper for do<strong>in</strong>g complex calculations by h<strong>and</strong>, but <strong>in</strong> fact the need for scratchpad storage had<br />

been there from the very beg<strong>in</strong>n<strong>in</strong>g. For example, the store <strong>in</strong> Babbage's Analytical Eng<strong>in</strong>e catered<br />

explicitly for <strong>in</strong>termediate results, as did Atanasoff <strong>and</strong> Berry's ABC [rem<strong>in</strong>der], <strong>and</strong> Zuse's Plankalkül<br />

allocated a specific data type "Z" for the purpose. Here, from Wilkes (1956), is perhaps the earliest<br />

detailed example available .....<br />

Babbage's Solution to Simultaneous Equations: Babbage, it seems, kept few<br />

programm<strong>in</strong>g notes, but Wilkes (1956) tells how an Italian military eng<strong>in</strong>eer Luigi Federico<br />

Menabrea (1809-1896) met Babbage <strong>in</strong> 1840 <strong>and</strong> was fully briefed on the latter's<br />

programm<strong>in</strong>g methods. Menabrea faithfully recorded these <strong>in</strong>formal tutorials, <strong>and</strong> his<br />

explanations of what Babbage taught him have survived. Here, from Menabrea (1842), <strong>and</strong><br />

enhanced to show <strong>in</strong>termediate results <strong>in</strong> red <strong>and</strong> the f<strong>in</strong>al answer <strong>in</strong> green, is how the<br />

Analytical Eng<strong>in</strong>e would go about solv<strong>in</strong>g a simultaneous equation of the general form .....<br />

ax + by = c<br />

a'x + b'y = c'<br />

The solution required 14 registers, numbered V0 to V14, the first six be<strong>in</strong>g set to the six<br />

known values a to c <strong>and</strong> a' to c'. Their use <strong>in</strong> comput<strong>in</strong>g the first of the unknowns, x, is shown<br />

<strong>in</strong> the follow<strong>in</strong>g table. A similar set of <strong>in</strong>structions solves the same equations for y. [Menabrea<br />

(1842, cited <strong>in</strong> Wilkes, 1956; Table 1.1)]<br />

Step Operation Stored In<br />

1 V2 x V4 V8<br />

2 V5 x V1 V9<br />

3 V4 x V0 V10<br />

4 V1 x V3 V11<br />

Revised August 5, 2008 Page 180 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

5 V8 - V9 V12<br />

6 V10 - V11 V13<br />

7 V12 / V13 V14 (= x)<br />

Us<strong>in</strong>g the syntax set out <strong>in</strong> Section 2.4, the same effect would be achieved <strong>in</strong> COBOL by a<br />

comb<strong>in</strong>ation of DISPLAYs <strong>and</strong> ACCEPTs to prompt the user to <strong>in</strong>put variables a to c', followed by the<br />

appropriate sequence of MULTIPLYs, SUBTRACTs, <strong>and</strong> DIVIDEs, followed by one f<strong>in</strong>al DISPLAY of<br />

the solutions for x <strong>and</strong> y.<br />

However, there is a lot more to more to scratchpad storage than immediate results. Here are some of<br />

the most significant other uses .....<br />

Constants: A constant is a data field whose contents are set once <strong>and</strong> then used repeatedly. This<br />

might be as a numerical oper<strong>and</strong> <strong>in</strong> calculations, such as a current <strong>in</strong>terest or tax rate, or pi, or any<br />

other algebraic constant. Alternatively, it might be as a textual element <strong>in</strong> a repeat<strong>in</strong>g display, for an<br />

example of which, see the VALUE IS element of the WS-DUMP-AID field <strong>in</strong> Section 2.3.<br />

Counts: A count is a numeric data field used to accumulate useful data over major process<strong>in</strong>g<br />

phases. It is common practice, for example, to count how many records have been read from an <strong>in</strong>put<br />

file for reconciliation purposes, a simple task requir<strong>in</strong>g the declaration of a suitably sized Work<strong>in</strong>g-<br />

Storage field, <strong>in</strong>itialis<strong>in</strong>g it to zero, <strong>and</strong> then <strong>in</strong>crement<strong>in</strong>g it by one for every successful pass through<br />

the READ paragraph. [The "right" answer would need to have been previously stored either on a fileend<br />

trailer record or somewhere <strong>in</strong> the job control environment, <strong>and</strong> if the actual <strong>and</strong> the expected<br />

counts did NOT match, then the run would need to be aborted for <strong>in</strong>vestigation.]<br />

Loop Control: We have already seen (a) how file process<strong>in</strong>g typically processes every record<br />

available, until the AT END condition is reached, (b) how the ma<strong>in</strong> process loops conditionally through<br />

short sequences of <strong>in</strong>structions, <strong>and</strong> (c) how recursive algorithms allow complex processes to be<br />

reduced to "subproblems of the same type". Work<strong>in</strong>g Storage assists the various loop<strong>in</strong>g processes<br />

by provid<strong>in</strong>g the necessary control fields <strong>and</strong> counts. Consider the field WS-LOOP <strong>in</strong> our Section 2.3<br />

example.<br />

Key Concept - "Flag" Bytes <strong>in</strong> Loop Control: A "flag" is a small Work<strong>in</strong>g-Storage field, usually only<br />

one byte long, <strong>and</strong> often set either to "Y" or "N". Flags are commonly used <strong>in</strong> loop control as the<br />

tests described <strong>in</strong> Section 2.4 above.<br />

Data Arrays <strong>and</strong> Index<strong>in</strong>g: This is also a convenient po<strong>in</strong>t at which to rem<strong>in</strong>d ourselves about "Index<br />

Registers". These were <strong>in</strong>troduced <strong>in</strong> Part 4 (Section 2.3), where they were described as a trick for<br />

retriev<strong>in</strong>g a s<strong>in</strong>gle entry from a long table of entries.<br />

Aga<strong>in</strong> we must not forget that the Operat<strong>in</strong>g System is itself a program, <strong>and</strong> that it will therefore have<br />

Work<strong>in</strong>g-Storage resources of its own. Nor, if it comes to that, is Work<strong>in</strong>g-Storage the only scratchpad<br />

resource actually available. As expla<strong>in</strong>ed <strong>in</strong> Part 5 (Section 1.1), the use of microcode requires<br />

scratchpad support from the registers directly available to the CPU. The key concept here is the<br />

"Accumulator Register", as <strong>in</strong>troduced <strong>in</strong> our e-paper on "The General Purpose Computer" (see<br />

Figure 2, caption step 11). Unlike the two FETCH-<strong>and</strong>-EXECUTE registers discussed above,<br />

Revised August 5, 2008 Page 181 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

accumulators are entirely arithmetical registers, that is to say, they are used by the Arithmetic/Logic<br />

Unit for stor<strong>in</strong>g the <strong>in</strong>termediate results of complex s<strong>in</strong>gle calculations such as DIVIDEs <strong>and</strong><br />

MULTIPLYs. What we have, therefore, is an important dist<strong>in</strong>ction between "user scratchpad"<br />

resources <strong>and</strong> "system scratchpad" resources. The former is the Work<strong>in</strong>g-Storage resource<br />

controlled by the <strong>in</strong>dividual application programmer, <strong>and</strong> the latter is the CPU-resource controlled by<br />

the system programmer.<br />

CRITICAL DISTINCTION - GENERAL REGISTERS VS SCRATCHPAD STORAGE: The po<strong>in</strong>t about<br />

<strong>in</strong>termediate results is that some live longer than others. Some are <strong>in</strong>termediate only with<strong>in</strong> the<br />

execution of a s<strong>in</strong>gle complex <strong>in</strong>struction - a particular DIVIDE, or MULTIPLY, or COMPUTE<br />

statement, for example. These resources can be freed up immediately after that statement has been<br />

executed. Other results are <strong>in</strong>termediate with<strong>in</strong> the broader context of the program as a whole. These<br />

resources cannot be freed up, for example, until a particular record has been output, or (as would be<br />

the case with end-to-end clos<strong>in</strong>g totals <strong>and</strong> reconciliations, for example) until the very last record has<br />

been processed.<br />

In Part 7, we shall (a) be explor<strong>in</strong>g how the work<strong>in</strong>g-storage concept made a major breakthrough <strong>in</strong>to<br />

cognitive theory as "work<strong>in</strong>g memory", (b) look<strong>in</strong>g for evidence of biological general registers, <strong>and</strong> (c)<br />

consider<strong>in</strong>g whether biological cognition might rely on directly or metaphorically cognate systems, <strong>and</strong>,<br />

if so, what neural mechanisms might be <strong>in</strong>volved.<br />

3.4 STM for Multiprogramm<strong>in</strong>g Purposes<br />

The key concepts here are multiprogramm<strong>in</strong>g itself, virtual memory, <strong>and</strong> the System Supervisor,<br />

as <strong>in</strong>troduced <strong>in</strong> Part 5 (Section 1.2), <strong>and</strong> we should beg<strong>in</strong> by rem<strong>in</strong>d<strong>in</strong>g ourselves that the<br />

development of multiprogramm<strong>in</strong>g was one of comput<strong>in</strong>g's quantum leaps back <strong>in</strong> the late-1950s.<br />

Tak<strong>in</strong>g the Manchester University Atlas as typical of the lead<strong>in</strong>g edge hardware available, then its<br />

System Supervisor was equally typical of lead<strong>in</strong>g edge operat<strong>in</strong>g software. The critical design feature<br />

was the ability to conjure effectively unlimited Ma<strong>in</strong> <strong>Memory</strong> out of th<strong>in</strong> air, by surreptitiously pag<strong>in</strong>g all<br />

non-active Ma<strong>in</strong> <strong>Memory</strong> out onto drum or disc r<strong>and</strong>om access back<strong>in</strong>g store. For the cost of the<br />

pag<strong>in</strong>g software <strong>and</strong> the page tables to keep track of where everyth<strong>in</strong>g was, the system was suddenly<br />

able to support a much higher number of concurrent programs. For even greater efficiency, the<br />

operat<strong>in</strong>g system could also cope with a queue of jobs await<strong>in</strong>g execution, <strong>and</strong> gave its console<br />

operators the power to "tweak" the process<strong>in</strong>g workmix here <strong>and</strong> there <strong>in</strong> an ongo<strong>in</strong>g attempt to match<br />

the overall availability of system resources aga<strong>in</strong>st the overall dem<strong>and</strong>s of all the jobs <strong>in</strong> the job queue.<br />

The name subsequently given to this aspect of system supervision was "execution schedul<strong>in</strong>g" .....<br />

Key Concept - Execution Schedul<strong>in</strong>g: An "execution scheduler" is a module with<strong>in</strong> a<br />

multiprogramm<strong>in</strong>g operat<strong>in</strong>g system which manages the job queue. It submits the jobs <strong>in</strong> priority order,<br />

monitors their progress, resolves any contention schedul<strong>in</strong>g problems, <strong>and</strong> varies how many jobs are<br />

allowed to be execut<strong>in</strong>g simultaneously. It also allows specific jobs to be "expressed" or suspended at<br />

will. The ICL 2900/3900 systems described <strong>in</strong> Part 5 (Section 3.3) mounted separate Job <strong>and</strong> TP<br />

Execution Schedulers for batch <strong>and</strong> TP, with TP normally gett<strong>in</strong>g the highest priority call on resources.<br />

In Part 7, we shall be consider<strong>in</strong>g whether some sort of biological pag<strong>in</strong>g <strong>and</strong> execution schedul<strong>in</strong>g<br />

mechanisms might underlie our ability to "multitask" a number of cognitive objectives<br />

simultaneously. If so, then it may or may not turn out to be relevant that biology already has a<br />

tried <strong>and</strong> tested mechanism for medium-term memory sensitisation, <strong>in</strong> the form of calciummodulated<br />

"second messenger" neurotransmission.<br />

Revised August 5, 2008 Page 182 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

3.5 STM for Transaction Process<strong>in</strong>g Applications<br />

The key concepts here are transaction process<strong>in</strong>g itself, as <strong>in</strong>troduced <strong>in</strong> Part 5 (Section 3.3), <strong>and</strong>,<br />

with<strong>in</strong> that, partial results. The raison d'etre for the partial results facility <strong>in</strong> transaction process<strong>in</strong>g is<br />

that it allows large applications to proceed <strong>in</strong> stages, often separated by many seconds. The physical<br />

requirement, however, is simplicity itself - just a small area of Ma<strong>in</strong> <strong>Memory</strong> under the control of the<br />

TP Monitor, which is written to at the end of one pass through a multiphase application, <strong>and</strong> re-read<br />

by the same application-user comb<strong>in</strong>ation at the beg<strong>in</strong>n<strong>in</strong>g of the follow<strong>in</strong>g pass. In Part 7, we shall be<br />

consider<strong>in</strong>g whether time-extensive biological cognition resorts to some sort of partial results facility,<br />

<strong>and</strong>, if so, what neural mechanisms might be <strong>in</strong>volved. Aga<strong>in</strong>, it may or may not turn out to be<br />

relevant that biology already has a tried <strong>and</strong> tested mechanism for medium-term memory<br />

sensitisation, <strong>in</strong> the form of calcium-modulated "second messenger" synaptic sensitisation.<br />

3.6 STM for Database Applications<br />

The key concept here is that of database currencies, as <strong>in</strong>troduced <strong>in</strong> Part 5 (Section 3.1) (<strong>and</strong><br />

explicitly located at the top of Figure 3 above). The essence of the currency concept is that the DBMS<br />

can <strong>in</strong>stantly relocate the "current" record - that is to say, the record last accessed <strong>in</strong> a given set or of<br />

a given type. It does this by ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g what is known as a "run time currency <strong>in</strong>dicator" for every<br />

set <strong>and</strong> record type that it knows about, <strong>and</strong> every time it accesses a record it copies that record's<br />

database key <strong>in</strong>to the appropriate "current of set" <strong>and</strong> "current of record type" currency<br />

<strong>in</strong>dicator(s). The device comes as st<strong>and</strong>ard with what are known as "Codasyl" databases such as<br />

Computer Associates' Integrated Database Management System (IDMS), <strong>and</strong> is actually noth<strong>in</strong>g<br />

more than a small address table held <strong>in</strong> memory <strong>and</strong> constantly updated. As to how this works <strong>in</strong><br />

practice, see our e-paper on "Database Navigation <strong>and</strong> the IDMS Semantic Net". The importance of<br />

currency mechanisms to cognitive science lies <strong>in</strong> the fact that what they do is uncannily<br />

similar to what calcium-modulated synaptic sensitisation does <strong>in</strong> biological memory systems.<br />

We have previously argued this <strong>in</strong> Smith (1997d) <strong>and</strong> Smith (1998b), <strong>and</strong> we shall be<br />

microscopically explor<strong>in</strong>g the issue <strong>in</strong> Part 7.<br />

3.7 STM for Distributed Process<strong>in</strong>g Purposes<br />

The key concepts here are those which support <strong>in</strong>termodular communication, as <strong>in</strong>troduced <strong>in</strong> our epaper<br />

on "The Relevance of Shannonian Communication Theory to Biological Communication" [see<br />

Section 5 thereof; especially Figure 7]. Indeed, the true value of 21st century comput<strong>in</strong>g lies squarely<br />

<strong>in</strong> its "connectivity", <strong>and</strong>, without exaggeration, almost the entire electronics <strong>in</strong>dustry is currently<br />

work<strong>in</strong>g on network<strong>in</strong>g developments of some sort or other, <strong>and</strong> a sizeable proportion of the software<br />

<strong>in</strong>dustry is <strong>in</strong> there alongside them.<br />

The first of our specific concepts is called the "semaphore", after the military signall<strong>in</strong>g system<br />

popularised dur<strong>in</strong>g the Napoleonic age [as already mentioned <strong>in</strong> Part 1 (Section 4)]. Here is how<br />

Ra<strong>in</strong>eault (2001/2003 onl<strong>in</strong>e) summarises its electronic descendents .....<br />

"Introduced by Edgar [sic] Dijkstra <strong>in</strong> the mid-1960s, the semaphore is a system-level abstraction<br />

used for <strong>in</strong>terprocess synchronisation. The semaphore provides two atomic operations, wait (P) <strong>and</strong><br />

signal (V), which are <strong>in</strong>voked to manipulate a nonnegative <strong>in</strong>teger <strong>in</strong> the semaphore data structure.<br />

The wait operation checks the value of the <strong>in</strong>teger <strong>and</strong> either decrements it if it's positive or blocks the<br />

call<strong>in</strong>g task. The signal operation, <strong>in</strong> turn, checks for tasks blocked on the semaphore <strong>and</strong> either<br />

unblocks a task wait<strong>in</strong>g for the semaphore or <strong>in</strong>crements the semaphore if no tasks are wait<strong>in</strong>g. A<br />

b<strong>in</strong>ary semaphore, which has counter values limited to 0 <strong>and</strong> 1, can be used effectively by an<br />

application to guard critical systems. (Ra<strong>in</strong>eault, 2001/2003 onl<strong>in</strong>e, p15).<br />

Revised August 5, 2008 Page 183 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Before say<strong>in</strong>g any more about semaphores, we need for a moment to consider the physical nature of<br />

the modern computer. Even with the most modern micro-fabrication techniques, the majority of<br />

computers end up with the electronics chip-mounted onto pr<strong>in</strong>ted circuit boards, the circuit boards<br />

slotted <strong>in</strong>to a larger chassis, <strong>and</strong> the chassis equipped with the necessary communications sockets<br />

(or "ports"). A system of <strong>in</strong>ternal wir<strong>in</strong>g (the "loom", or "bus") then connects separate mount<strong>in</strong>g<br />

boards to each other <strong>and</strong>/or to the communications sockets as appropriate. The connections between<br />

the electronics components <strong>and</strong> the circuit board, <strong>and</strong> between the circuit board <strong>and</strong> the wir<strong>in</strong>g loom,<br />

are called "p<strong>in</strong>s" <strong>and</strong> "p<strong>in</strong>outs", respectively. Software modules written specifically to <strong>in</strong>itiate output<br />

to, or <strong>in</strong>terpret <strong>in</strong>put (or feedback) from, p<strong>in</strong>outs, are known generically as "device drivers" (or just<br />

"drivers" for short).<br />

Now if semaphores are memory abstractions as Dijkstra says, <strong>and</strong> p<strong>in</strong>s are physical th<strong>in</strong>gs, then the<br />

art clearly lies <strong>in</strong> gett<strong>in</strong>g the two th<strong>in</strong>gs to work together, <strong>and</strong> the classic solution for half a century has<br />

been for the CPU <strong>in</strong> question (a) to monitor the process<strong>in</strong>g state of an associated module by wir<strong>in</strong>g<br />

the latter to a p<strong>in</strong> it can itself directly access, (b) to monitor said p<strong>in</strong> [the way we monitored the TIMER<br />

PIN <strong>in</strong> Section 1.1 above], <strong>and</strong> (c) to schedule its own process<strong>in</strong>g accord<strong>in</strong>g to what that monitor<strong>in</strong>g<br />

reveals. The signal p<strong>in</strong>s are known generically with<strong>in</strong> electronics as "busy p<strong>in</strong>s", <strong>and</strong> the tim<strong>in</strong>g<br />

<strong>in</strong>structions are of the nature . The semaphores - one per unit<br />

be<strong>in</strong>g monitored - then simply echo that p<strong>in</strong> status <strong>in</strong>to the software, where it can be tested. To<br />

maximise process<strong>in</strong>g speed it is usual to ma<strong>in</strong>ta<strong>in</strong> the semaphores at bit level rather than at byte level,<br />

<strong>and</strong> to provide them as a class of purpose-built CPU registers called "status registers". Heidenstrom<br />

(1998/2003 onl<strong>in</strong>e) shows several nice tables relat<strong>in</strong>g bit values with<strong>in</strong> the status registers to the<br />

numbered p<strong>in</strong>s on the communication ports, if <strong>in</strong>terested.<br />

Key Concept - Semaphores <strong>and</strong> Busy P<strong>in</strong>s: A semaphore is a status register bit, addressable <strong>in</strong><br />

the <strong>in</strong>ward direction by the local CPU, <strong>and</strong> directly connected <strong>in</strong> the outward direction to a<br />

communications p<strong>in</strong> of some sort. This allows the local Control Unit to monitor the process<strong>in</strong>g state of<br />

a remote module with which it is for the time be<strong>in</strong>g associated. Semaphores are typically used to<br />

synchronise the execution of logically related software <strong>in</strong> distributed process<strong>in</strong>g systems.<br />

Thus far, we have been concerned with a s<strong>in</strong>gle CPU with<strong>in</strong> a distributed process<strong>in</strong>g architecture.<br />

However, as soon as we consider arrangements of more than one CPU we encounter a whole cluster<br />

of new key concepts at once. Rather than be constantly <strong>in</strong>terrupt<strong>in</strong>g our core argument, therefore, we<br />

strongly recommend pre-read<strong>in</strong>g our e-paper on "The Relevance of Shannonian Communication<br />

Theory to Biological Communication". As to what the associated modules might be, the detail<br />

depends on the <strong>in</strong>dividual model of computer <strong>and</strong>/or the particular network architecture <strong>in</strong>volved, but<br />

here are the usual options .....<br />

ONE LOCATION MODULARITY<br />

CPU to Coprocessor [eg. a mathematics or graphics chip, case-<strong>in</strong>ternal <strong>and</strong> connected via bus]<br />

CPU to Internal Peripheral [eg. communications card or disk drive, case-<strong>in</strong>ternal <strong>and</strong> connected via bus]<br />

CPU to External Device [eg. pr<strong>in</strong>ter, zip drive, etc., case-external <strong>and</strong> connected via port <strong>and</strong> cable]<br />

TWO LOCATION MODULARITY<br />

CPU to Hierarchically Subord<strong>in</strong>ate Remote CPU [eg. local server, via port <strong>and</strong> complex network]<br />

CPU to Hierarchically Equal Remote CPU [eg. e-mail correspondent on own PC, via port <strong>and</strong> complex<br />

network]<br />

Revised August 5, 2008 Page 184 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Fortunately, there is really only one problem, regardless of the architecture, <strong>and</strong> that is how to keep all<br />

the nodes properly synchronised. Less fortunately, perhaps, this is not just a matter of provid<strong>in</strong>g<br />

sufficient semaphores <strong>and</strong> busy p<strong>in</strong>s. Instead, it calls for sophisticated network<strong>in</strong>g protocols (for when<br />

th<strong>in</strong>gs are work<strong>in</strong>g well), <strong>and</strong> equally sophisticated exception h<strong>and</strong>l<strong>in</strong>g mechanisms (for when they are<br />

not).<br />

Key Concept - Exception H<strong>and</strong>l<strong>in</strong>g: Exception h<strong>and</strong>l<strong>in</strong>g is the systematic (ie. pre-programmed)<br />

response to an error condition. In a st<strong>and</strong>-alone program, such errors can arise on just about any<br />

s<strong>in</strong>gle program <strong>in</strong>struction, although they are especially common <strong>in</strong> file h<strong>and</strong>l<strong>in</strong>g, data exceptions, <strong>and</strong><br />

large computations. In a networked program, they can arise on any <strong>in</strong>struction <strong>in</strong> any of the<br />

associated processors as well, <strong>in</strong>clud<strong>in</strong>g those mak<strong>in</strong>g up the carry<strong>in</strong>g data network. Overall, the<br />

biggest s<strong>in</strong>gle risk to any complex system is when accident or breakdown at one po<strong>in</strong>t creates a<br />

situation which had not - due to corner-cutt<strong>in</strong>g, ignorance, or laz<strong>in</strong>ess - been catered for elsewhere.<br />

Burns <strong>and</strong> Well<strong>in</strong>gs (1990) describe how exception h<strong>and</strong>l<strong>in</strong>g uses the sort of <strong>in</strong>terrupts previously<br />

<strong>in</strong>troduced <strong>in</strong> Part 4 (Section 1.3). In fact, they carefully dist<strong>in</strong>guish between I/O Interrupts (the l<strong>in</strong>e<br />

speed type), <strong>and</strong> "exception h<strong>and</strong>l<strong>in</strong>g", the ability of cooperat<strong>in</strong>g modules to react to problems<br />

elsewhere <strong>in</strong> the process<strong>in</strong>g network. For IO Interrupts, they expla<strong>in</strong> .....<br />

"..... the role of <strong>in</strong>terrupts <strong>in</strong> controll<strong>in</strong>g <strong>in</strong>put/output is an important one. They allow <strong>in</strong>put/output to be<br />

performed asynchronously [glossary] <strong>and</strong> so avoid the 'busy wait<strong>in</strong>g' or constant status check<strong>in</strong>g that<br />

is necessary if a purely status-controlled mechanism is used. In order to support <strong>in</strong>terrupt-driven <strong>in</strong>put<br />

<strong>and</strong> output, the follow<strong>in</strong>g mechanisms are required [.....] When an <strong>in</strong>terrupt occurs, the current<br />

processor state must be preserved <strong>and</strong> the appropriate service rout<strong>in</strong>e activated. Once the <strong>in</strong>terrupt<br />

has been serviced, the orig<strong>in</strong>al process is resumed <strong>and</strong> execution cont<strong>in</strong>ues. Alternatively, a new<br />

process may be selected by the scheduler as a consequence of the <strong>in</strong>terrupt. [.....] Devices differ <strong>in</strong><br />

the way they must be controlled; consequently, they will require different <strong>in</strong>terrupt-h<strong>and</strong>l<strong>in</strong>g rout<strong>in</strong>es."<br />

(Burns <strong>and</strong> Well<strong>in</strong>gs, 1990, pp434-435)<br />

Now the reason we are bother<strong>in</strong>g with all this detail is that the similarity between distributed<br />

process<strong>in</strong>g <strong>in</strong> the computer world <strong>and</strong> the parallel distributed process<strong>in</strong>g approach to cognitive theory<br />

is more than just superficial - it could very well be that biological process<strong>in</strong>g networks share the<br />

need for busy p<strong>in</strong>s <strong>and</strong> semaphores. Here is how Philip Johnson-Laird, Stuart Professor of<br />

Psychology at Pr<strong>in</strong>ceton University, puts it .....<br />

"But parallel computation has its dangers too. One processor may be wait<strong>in</strong>g for data from a second<br />

before it can beg<strong>in</strong> to compute, but the second processor may itself be wait<strong>in</strong>g for data from the first.<br />

The two processors will thus be locked <strong>in</strong> a 'deadly embrace' from which neither can escape. Any<br />

simple nervous system with a 'wired <strong>in</strong>' program that behaved <strong>in</strong> this way would soon be elim<strong>in</strong>ated by<br />

natural selection. Higher organisms, however, can develop new programs - they can learn - <strong>and</strong><br />

therefore there must be mechanisms, other than those of direct selective pressure, to deal with<br />

pathological configurations that may arise between the processors. A sensible design is to promote<br />

one processor to monitor the operations of others <strong>and</strong> to override them <strong>in</strong> the event of<br />

deadlocks <strong>and</strong> other pathological states of affairs. If this design feature is replicated on a large<br />

scale, the result<strong>in</strong>g architecture is an hierarchical system of parallel processors: a high-level<br />

processor that monitors lower level processors, which <strong>in</strong> turn monitor the processors at a still lower<br />

level, <strong>and</strong> so on down to the lowest level of processors govern<strong>in</strong>g sensory <strong>and</strong> motor <strong>in</strong>teractions with<br />

the world. A hierarchical organisation of the nervous system has <strong>in</strong>deed been urged by<br />

Revised August 5, 2008 Page 185 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

neuroscientists from Hughl<strong>in</strong>gs Jackson to H.J. Jerison [citation], <strong>and</strong> Simon (1969) has argued<br />

<strong>in</strong>dependently that it is an essential feature of <strong>in</strong>telligent organisms. [.....] In a simple hierarchical<br />

computational device, the highest level of process<strong>in</strong>g could consist of an operat<strong>in</strong>g system."<br />

(Johnson-Laird, 1988, pp361-362; bold emphasis added)


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

biology, they are designed to enable a motor hierarchy of some sort, <strong>and</strong> this constra<strong>in</strong>s their design<br />

<strong>in</strong> three very important ways. Firstly, users f<strong>in</strong>d themselves sitt<strong>in</strong>g [functionally always, <strong>and</strong> possibly<br />

physically <strong>in</strong>to the barga<strong>in</strong>] at the top of a complex comm<strong>and</strong> <strong>and</strong> control structure - they are pilots of<br />

aircraft, say, or the duty controllers <strong>in</strong> nuclear power stations, <strong>and</strong> so on. Secondly, the higher<br />

processes communicate relatively few guid<strong>in</strong>g <strong>in</strong>structions <strong>and</strong> rely on relatively sparse feedback.<br />

Instead, they leave the bulk of the dataflow to the lower system to adm<strong>in</strong>ister, via a host of low level,<br />

heavy traffic, automatic control loops <strong>and</strong> servosystems.<br />

ASIDE: It is not always appropriate for cognitive modellers to draw flowl<strong>in</strong>es "to scale" <strong>in</strong> an attempt to<br />

emphasise the relative flow of <strong>in</strong>formation at any one po<strong>in</strong>t. Nevertheless, Smith (1993) <strong>and</strong> Smith<br />

(2003 onl<strong>in</strong>e; Figure 2) both show the low level <strong>in</strong>formation flows with heavy flowl<strong>in</strong>es, <strong>and</strong> Frank<br />

(1963) solves the same problem a different way by annotat<strong>in</strong>g bits per second measures onto his<br />

flowl<strong>in</strong>es.<br />

And thirdly, this raises exceptionally high dem<strong>and</strong>s for accuracy <strong>and</strong> reliability on the part of any<br />

<strong>in</strong>termodular systems components.<br />

So it turns out that the central issue for real-time systems designers is actually the same as it was <strong>in</strong><br />

Section 3.7 for the designers of distributed systems - it is the <strong>in</strong>herent difficulty of manag<strong>in</strong>g the<br />

necessary modularity. Thus .....<br />

"The software which controls the operations of the [typical real-time] system can be written <strong>in</strong> modules<br />

which reflect the physical nature of the environment. Usually there will be a module which conta<strong>in</strong>s the<br />

algorithms necessary for physically controll<strong>in</strong>g the devices, a module responsible for record<strong>in</strong>g the<br />

system's state changes, a module to retrieve <strong>and</strong> display those changes, <strong>and</strong> a module to <strong>in</strong>teract<br />

with the operator." (Burns <strong>and</strong> Well<strong>in</strong>gs, 1990, p6)<br />

And it is <strong>in</strong> putt<strong>in</strong>g all these modules together that the key concepts we have encountered so far start<br />

to fall <strong>in</strong>to place - concepts such as buffers, nodes, <strong>in</strong>terrupts, busy p<strong>in</strong>s, semaphores, <strong>and</strong> the like. In<br />

Part 7, we shall be look<strong>in</strong>g for evidence of biological real-time process<strong>in</strong>g, <strong>and</strong> consider<strong>in</strong>g whether<br />

biological cognition might rely on directly or metaphorically cognate systems, <strong>and</strong>, if so, what neural<br />

mechanisms might be <strong>in</strong>volved. Aga<strong>in</strong>, similarities with the seven-layered network structures<br />

currently used throughout non-biological telecommunications [rem<strong>in</strong>der] will need to be<br />

microscopically explored.<br />

3.9 STM for "Object-Oriented" Process<strong>in</strong>g Purposes<br />

We turn f<strong>in</strong>ally to the difference between conventional <strong>and</strong> what is known as "object-oriented"<br />

comput<strong>in</strong>g. Khoshafian <strong>and</strong> Abnous (1990) <strong>in</strong>troduce this issue as follows .....<br />

"..... <strong>in</strong> the late 1950s, one problem found when develop<strong>in</strong>g large FORTRAN programs was that<br />

variable names would conflict <strong>in</strong> different parts of a program. [.....] The designers of the language<br />

ALGOL decided to provide barriers to separate variable names with<strong>in</strong> program segments. This gave<br />

birth to the Beg<strong>in</strong> ..... End blocks <strong>in</strong> ALGOL 60 [Citation]. S<strong>in</strong>ce the variable names appear<strong>in</strong>g with<strong>in</strong> a<br />

block are known only to that block, their use will not conflict with the use of the same variable name <strong>in</strong><br />

other blocks of the program. This was a first attempt at provid<strong>in</strong>g protection or encapsulation with<strong>in</strong> a<br />

programm<strong>in</strong>g language. Block structures are now widely used <strong>in</strong> a variety of languages. [//] In the<br />

early 1960s, the designers of the language SIMULA-67 [Citation] took the block concept one step<br />

further, <strong>and</strong> <strong>in</strong>troduced the concept of an object [thus lay<strong>in</strong>g] the foundation of object-oriented<br />

languages <strong>and</strong> some of the object-oriented term<strong>in</strong>ology."(Khoshafian <strong>and</strong> Abnous, 1990, p11)<br />

Revised August 5, 2008 Page 187 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

"Us<strong>in</strong>g conventional techniques, the code generated for a real-world problem consists of first encod<strong>in</strong>g<br />

the problem <strong>and</strong> then transform<strong>in</strong>g the problem <strong>in</strong>to terms of a von Neumann computer language.<br />

Object-oriented discipl<strong>in</strong>es <strong>and</strong> techniques h<strong>and</strong>le the transformation automatically, so the bulk of the<br />

code just encodes the problem <strong>and</strong> the transformation is m<strong>in</strong>imised. In fact, when compared to more<br />

conventional (procedural) styles of programm<strong>in</strong>g, code reductions rang<strong>in</strong>g from 40% to an order of<br />

magnitude have been reported. [Therefore] the object-oriented concepts <strong>and</strong> tools are enabl<strong>in</strong>g<br />

technologies that allow real-world problems to be expressed easily <strong>and</strong> naturally [<strong>and</strong>] provide better<br />

methodologies to construct complex software systems out of modularised reusable software units."<br />

(Khoshafian <strong>and</strong> Abnous, 1990, pp7-8)<br />

With<strong>in</strong> the computer world, therefore, the ideal object is an "encapsulated" (= physically del<strong>in</strong>eated)<br />

run of object code with<strong>in</strong> what is otherwise a conventional program, which has been deliberately set<br />

up as such by an object-oriented compiler from an equally encapsulated run of source code. The<br />

result is a mach<strong>in</strong>e <strong>in</strong>stantiation of a real world object, <strong>and</strong> the fact that it rema<strong>in</strong>s encapsulated at<br />

object code level gives it a powerful practical appeal as a means of deliver<strong>in</strong>g "re-usable software".<br />

Indeed, object orientation "can be loosely described as the software modell<strong>in</strong>g <strong>and</strong> development<br />

(eng<strong>in</strong>eer<strong>in</strong>g) discipl<strong>in</strong>es that make it easy to construct complex systems from <strong>in</strong>dividual components"<br />

(Khoshafian <strong>and</strong> Abnous, 1990, p6; italics orig<strong>in</strong>al).<br />

But that is not all. Gorlen, Orlow, <strong>and</strong> Plexico (1990) summarise the benefits of the object-oriented<br />

approach as follows .....<br />

"When do<strong>in</strong>g object-oriented programm<strong>in</strong>g, a programmer specifies what to do with an object rather<br />

than focuss<strong>in</strong>g on the conventional procedural aspects of how someth<strong>in</strong>g gets done. Simply stated an<br />

object comprises the data elements or the data structure needed to describe the object, together with<br />

the set of permissible operations on the data." (Gorlen, Orlow, <strong>and</strong> Plexico, 1990, p2; italics orig<strong>in</strong>al)<br />

Needless to say, successful object-orientation needs to beg<strong>in</strong> at the early analysis stage with a search<br />

for the real world objects the system is go<strong>in</strong>g to be deal<strong>in</strong>g with. We have already described this<br />

process <strong>in</strong> Part 4 (Section 4.2) <strong>and</strong> Part 5 (Section 3.1), <strong>and</strong> emphasised the pivotal role of the data<br />

model <strong>in</strong> software development. The process then cont<strong>in</strong>ues <strong>in</strong>to the detailed design stage, look<strong>in</strong>g for<br />

hierarchies with<strong>in</strong> these real world objects, so that "classes" of objects may eventually be declared to<br />

the compiler, so that attributes are not needlessly duplicated. This is what provides an object-oriented<br />

system with what is known as "<strong>in</strong>heritance". Here is a formal def<strong>in</strong>ition .....<br />

"Inheritance simplifies the task of creat<strong>in</strong>g a new class that is similar to an exist<strong>in</strong>g class by enabl<strong>in</strong>g a<br />

programmer to express just the differences between the new class <strong>and</strong> the exist<strong>in</strong>g class, rather than<br />

requir<strong>in</strong>g the new class to be written from the beg<strong>in</strong>n<strong>in</strong>g" (Gorlen, Orlow, <strong>and</strong> Plexico, 1990, p101).<br />

ASIDE: In fact, the process of data modell<strong>in</strong>g has always <strong>in</strong>volved abstraction of this sort, <strong>and</strong> <strong>in</strong> the<br />

early 1980s we personally carried out detailed design abstraction for an IDMS network database<br />

system to be implemented <strong>in</strong> conventional COBOL. This was perfectly straightforward, given that the<br />

Entity-Relationship Diagram is qu<strong>in</strong>tessentially a model of objects <strong>and</strong> hierarchically <strong>in</strong>herited<br />

attributes, <strong>and</strong> is designed to be implemented <strong>in</strong> a variety of ways. Object-oriented products need,<br />

therefore, to be approached with caution, for it is sound design which delivers truly reusable software,<br />

not this or that breed of compiler. What does make the object-oriented paradigm <strong>in</strong>terest<strong>in</strong>g is the<br />

encapsulation it offers .....<br />

Revised August 5, 2008 Page 188 of 190


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

Yet aga<strong>in</strong>, however, the central issue for object-oriented systems designers is actually the same as it<br />

was <strong>in</strong> Section 3.7, namely the <strong>in</strong>herent problems of modularity. Only now it is called encapsulation,<br />

<strong>and</strong> encapsulation is a very important issue .....<br />

"[Encapsulation] is a good programm<strong>in</strong>g practice because it enforces the separation between the<br />

specification <strong>and</strong> the implementation of abstract data types ....." (Gorlen, Orlow, <strong>and</strong> Plexico, 1990,<br />

p21).<br />

"The design of a large embedded system cannot be undertaken <strong>in</strong> one exercise. It must be structured<br />

<strong>in</strong> some way [<strong>and</strong>] two complementary approaches are often used: decomposition <strong>and</strong> abstraction.<br />

Decomposition, as the name suggests, <strong>in</strong>volves the systematic breakdown of the complex system <strong>in</strong>to<br />

smaller <strong>and</strong> smaller parts until components are isolated that can be understood <strong>and</strong> eng<strong>in</strong>eered by<br />

<strong>in</strong>dividuals or small groups. [.....] Abstraction [allows] a simplified view of the system <strong>and</strong> of the objects<br />

conta<strong>in</strong>ed with<strong>in</strong> it to be taken, which, nevertheless, still conta<strong>in</strong>s its essential properties <strong>and</strong> features.<br />

The needs of abstraction dictate that [program] subcomponents should have well def<strong>in</strong>ed roles, <strong>and</strong><br />

clear <strong>and</strong> unambiguous <strong>in</strong>ter-connections <strong>and</strong> <strong>in</strong>terfaces." (Burns <strong>and</strong> Well<strong>in</strong>gs, 1990, pp18-19)<br />

The guru of modularity <strong>in</strong> cognitive science is Rutgers University's Jerry Fodor, who first raised the<br />

topic <strong>in</strong> his 1983 book "The Modularity of M<strong>in</strong>d", <strong>and</strong> who went on to def<strong>in</strong>e a cognitive module as an<br />

"'<strong>in</strong>formationally encapsulated' cognitive facility" (Fodor, 1987:25). We should also mention University<br />

College, London's Richard Cooper, who is work<strong>in</strong>g on an object-oriented language called COGENT<br />

for cognitive modell<strong>in</strong>g (Cooper undated/2003 onl<strong>in</strong>e), <strong>and</strong> who po<strong>in</strong>ts out that functional modularity <strong>in</strong><br />

the bra<strong>in</strong> achieves exactly the sort of encapsulation which prompted the object-oriented movement <strong>in</strong><br />

the first place. Thus .....<br />

"[OOP] offers the possibility of directly address<strong>in</strong>g, with<strong>in</strong> a sound computational framework, the<br />

functional modularity implicit <strong>in</strong> box/arrow diagrams. Specifically, with<strong>in</strong> an object-oriented paradigm,<br />

boxes might be directly modelled as objects (of various classes), with arrows be<strong>in</strong>g directly modelled<br />

as communication channels between those objects." (Cooper undated/2003 onl<strong>in</strong>e)<br />


<strong>Short</strong>-<strong>Term</strong> <strong>Memory</strong> <strong>Subtypes</strong> <strong>in</strong> Comput<strong>in</strong>g <strong>and</strong><br />

<strong>Artificial</strong> <strong>Intelligence</strong><br />

Derek J. Smith<br />

construct is still nevertheless important. It has a role <strong>in</strong> the construction of processes themselves <strong>and</strong>,<br />

moreover, it can be used to def<strong>in</strong>e the <strong>in</strong>terface to a process [where] the process is def<strong>in</strong>ed with<strong>in</strong> the<br />

'body' of the object." (Burns <strong>and</strong> Well<strong>in</strong>gs, 1990, p19)<br />

Revised August 5, 2008 Page 190 of 190

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!