Kathleen Booth: Assembling Early Computers While Inventing Assembly

Imatge
Àmbits Temàtics

Origi­nal post here

Kath­leen Booth: Assem­bling Early Compu­ters While Inven­ting Assembly

Imagine having to program your compu­ter by rewi­ring it. For a brief period of time around the mid-1940s, the first gene­ral-purpose elec­tro­nic compu­ters worked that way. Compu­ters like ENIAC initi­ally had no inter­nal storage for code. Program­ming it invol­ved mani­pu­la­ting thou­sands of swit­ches and cables. The posi­ti­ons of those swit­ches and cables were the program.

Kath­leen Booth began working on compu­ters just as the idea of storing the program inter­nally was star­ting to perme­ate through the small set of people buil­ding compu­ters. As a result, she was one of the first program­mers to work on soft­ware and is credi­ted with inven­ting assembly language. But she also got her hands dirty with the hard­ware, having built a large portion of the compu­ters which she program­med. She also did some early work with natu­ral language proces­sing and neural networks. And this was all before 1962, making her truly a pioneer. This then is her tale.

 

Early Years

Kath­leen Booth was born Kath­leen Brit­ten in 1922 in Stour­bridge, Worces­ters­hire, England. She got a B.Sc. in Mathe­ma­tics from the Univer­sity of London and a Ph.D. in Applied Mathe­ma­tics in 1950. There weren’t any compu­ter degrees to be had as of yet. From 1944 to 1946 she was a Junior Scien­ti­fic Office at the Royal Aircraft Esta­blish­ment and then from 1946 to 1952, a Rese­arch Scien­tist at the British Rubber Produ­cer’s Rese­arch Asso­ci­a­tion (BRPRA). Also in 1946, she star­ted work as a rese­arch assis­tant at Birk­beck College, Univer­sity of London, later beco­ming a Rese­arch Fellow and Lectu­rer.

Buil­ding Compu­ters At Birk­beck College

Kathleen, Xenia Sweeting and Andrew working on the ARC in 1946
Kath­leen, Xenia Swee­ting and Andrew working on the ARC in 1946, Source: Birk­beck

At Birk­beck, compu­ter rese­arch was being done by Andrew Booth whom Kath­leen would even­tu­ally marry. Andrew had previ­ously done X-ray crys­ta­llo­graphy rese­arch at the Univer­sity of Birming­ham and that inclu­ded doing a lot of compu­ta­ti­ons. This star­ted him down the path of buil­ding compu­ting machi­nes to make the work easier. He next spent a short time as a rese­arch physi­cist at the BRPRA where he began work on the ARC, the Auto­ma­tic Relay Compu­ter (some­ti­mes refer­red to as the Auto­ma­tic Relay Calcu­la­tor). This used paper tape for input and was really a special purpose compu­ter serving as a Fourier synt­he­si­zer.

In 1946 he took up a post as a Nuffield fellow at Birk­beck. He conti­nued work on the ARC but as there was no room at the College, and since the BRPRA was funding it, the work was done at their faci­li­ties. It was then that he met Kath­leen. Kath­leen and anot­her rese­arch assis­tant, Xenia Swee­ting, helped Andrew conti­nue buil­ding the ARC and in fact did most of the cons­truc­tion.

6 Months In Prin­ce­ton

Von Neumann architecture/stored program architectureIn 1945, John von Neumann wrote a docu­ment called the First Draft of a Report on the EDVAC wherein he descri­bed what became known as the von Neumann archi­tec­ture for a compu­ter. In it, he defi­nes the parts of a compu­ter and in parti­cu­lar that program is stored in the compu­ter’s memory. For that reason, it’s also some­ti­mes called the stored-program compu­ter.

In 1947, through funding from the Rocke­fe­ller Foun­da­tion and the BRPRA, Andrew and Kathe­leen took a 6 month US tour with von Neumann whom Andrew had met during a previ­ous visit. The tour was based in Prin­ce­ton, New Jersey at the Insti­tute for Advan­ced Study.

This visit was also the first time that the Booth’s had heard of the von Neumann archi­tec­ture. It led Andrew to rede­sign the ARC, desig­ning the relay part of the machine in only 2 months, coming up with what is some­ti­mes refer­red to as the ARC2. Still in 1947, Kath­leen and he also wrote up two reports about it, Gene­ral consi­de­ra­ti­ons in the design of an all-purpose elec­tro­nic digi­tal compu­ter and Coding for A.R.C.. The first of those reports was widely circu­la­ted and even under­went a 2nd edition. In it, they detai­led what’s needed for a von Neumann archi­tec­ture machine, outli­ning a number of diffe­rent opti­ons for the memory.

Inven­ting Early Assembly Language

Contracted notationThe only place I could find Coding for A.R.C. was as a hard copy on the Insti­tu­te’s shel­ves, which is unfor­tu­nate as it’s usually the refe­rence for where Kath­leen first outli­ned her assembly language, or auto­code, for ARC2. She also wrote the assem­bler for it.

The other report was rele­a­sed around the same time, and while it does give a contrac­ted nota­tion for the ARC2’s machine language, I suspect that this wasn’t the assembly language. In that report, she first explains how the orders, which we now call instruc­ti­ons, are repre­sen­ted by 0s and 1s loaded into some sort of storage. For the ARC2, 10011 was the order to clear the arith­me­tic regis­ter and trans­fer a value from memory into the regis­ter. Today, we call this machine language. In contrac­ted nota­tion, she then gives the same order as M -> cR.

The Elec­tro­nic Compu­ters

Andrew Booth’s next compu­ter was enti­rely elec­tro­nic and called the SEC (Simple Elec­tro­nic Compu­ter). That was follo­wed by the APE(*)C (All Purpose Elec­tro­nic Compu­ter) where the * was to be repla­ced by a letter repre­sen­ting the spon­sor.

Kathe­rine also wrote soft­ware for those two compu­ters but unlike with ARC and ARC2, she didn’t do any of the cons­truc­tion.

Natu­ral Language Proces­sing

In 1947, in order to get funding from Rocke­fe­ller, the Booth’s added working on natu­ral language proces­sing to their list of projects. The goal was to achi­eve accu­rate tech­ni­cal trans­la­tion and not lite­rary quality. In their book, Auto­ma­tic Digi­tal Calcu­la­tors, they outline some of the algo­rithms which they and colle­gues had worked on up to 1965, star­ting out with word subs­ti­tu­ti­ons and proces­sing of stems and word endings. While they did a lot of work on NLP at Birk­beck College with their students, there’s also a record of them working on English-French trans­la­ti­ons for the Nati­o­nal Rese­arch Coun­cil Canada between 1965 and 1972.

French-English translation
French-English trans­la­tion, Source: Birk­beck

Neural Networ­king In The 1950s

As anot­her exam­ple of her pione­e­ring work, the Birk­beck College Annual Report of 1958/59 says that Kath­leen wrote a program to simu­late a neural network inves­ti­ga­ting ways in which animals recog­nize patterns and that the follo­wing year’s report menti­ons her work on a neural network for charac­ter recog­ni­tion. This was only four years after the first running of a neural network on a compu­ter.

Off To Canada

The Booth’s left Birk­beck College in 1962, both moving to Canada to work at the Univer­sity of Saskat­che­wan and then at Lake­head Univer­sity in 1972. She reti­red from Lake­head in 1978 but an arti­cle search shows a paper by her and her son, Dr. Ian J. M. Booth, entit­led Using neural nets to iden­tify marine mammals dated 1993 when she would have been 71 and still going strong.