ARC(ID:4929/arc002)

Assembler for Booth 


machine language for Automatic Relay Computer by Kathleen Booth at Birkbeck College Computation Laboratory, University of London in 1948

A hand annotation from Ferranti people says that the ARC was the equivalent of the Manchester machine in power and speed (see ref below)

Places
People:
Related languages
ENIAC short code => ARC   Based on
ARC => APE(X)C   Evolution of

References:
  • [Booth] "Improvements in and relating to Calculators Patent specification by A.D. Booth" view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "General Considerations in the Design of an All-Purpose Electronic Digital Computer" view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "General Considerations in the Design of an All-Purpose Electronic Digital Computer" view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Coding for ARC ", typescript, September 1947. view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Coding for ARC ", typescript, September 1947. view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Principles and Progress in the Construction of High-Speed Digital Computers" Quart. Journ. Mech. and Applied Math. Sept 1947 view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Principles and Progress in the Construction of High-Speed Digital Computers" Quart. Journ. Mech. and Applied Math. Sept 1947 view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Coding for ARC", typescript, pp.39, 2nd edition 1948 view details
  • Booth, Andrew D. and Britten, Kathleen H.V. "Coding for ARC", typescript, pp.39, 2nd edition 1948 view details
  • Kitz, D. "A Description of the ARC", typescript, pp.4, n.d. view details
  • Lavington, S.H. "An Evaluation of the ARC Project", unpublished typescript, 1979 view details
  • Campbell-Kelly, Martin "The Development of Computer Programming in Britain (1945 to 1955)" view details Extract: The Birkbeck College Machines
    The Birkbeck College Machines
    The smallest of the early British computer groups consisted of A. D. Booth and K. H. V. Britten (later Booth), based at Birkbeck College in the University of London (Booth 1975). That this group produced three machines, ARC,SEC, and APEXC, during the period 1947 to 1953 was a remarkable achievement, considering the size of the group (mainly just Booth and Britten) and the limited funds at its disposal. Although APEXC eventually led to the successful HEC series manufactured by the British Tabulating Machine Company, the small scale of the Birkbeck operation did not place it in the front rank of British computer activity.

    In 1946 Booth visited the United States and studied the work of a number of groups, including that of von Neumann and Goldstine at Princeton. The following year, Booth and Britten spent a much longer period with the Princeton group (March to September 1947). During their period at Princeton, Booth and Britten divided their efforts; Booth worked on the logical design of an Automatic Relay Computer (ARC) based on the IAS machine, while Britten studied programming and wrote a report on the subject. This report, Coding for the ARC (1947), became the primary source of programming ideas for the Birkbeck machines, which an had similar programming notation.

    On their return to England, Booth and Britten began work on the ARC. The control was entirely electromechanical, and the memory was based on a magnetic drum (probably the first drum store in existence). According to K. H. V. Booth (1979), ARC first operated on May 12, 1948. Very little programming work was evidently done on the ARC, for it was soon deprived of its drum to make the SEC, the Booths' next machine. SEC (Simple Electronic Computer) was completed during 1950 or 1951; again, no serious programming was done on it because it was mainly a teethed for the circuits of the APEXC, the Booths' third machine.

    The APEXC (All-Purpose Electronic X-ray Computer) was the most important of the Booths' designs. Four machines of the class were reported to have been built (Booth and Booth 1953): APEXC for Birkbeck College; APENC for the Board of Mathematical Machines, Norway; APEHC for BTM; and APERC for the British Rayon Research Association.

    The most complete account for the APEXC is the Booths' textbook Automatic Digital Calculators (Booth and Booth 1953). Several programs for APEXC in this book indicate a strong link with both the ARC and the Princeton group. Indeed, a full half of the programming examples in the Booths' book are instruction-for-instruction transliterations for APEXC of routines developed for the IAS machine in Goldstine and von Neumann's Princeton reports. The order codes of the two machines, even down to the mnemonics and register names, are strikingly similar.

    The final programming system for the APEXC developed by K. H. V. Booth is described in considerable detail in her book Programming for an Automatic Digital Calculator (1958). The programming system was based on a simple input routine that read in programs punched in binary. There was a substantial subroutine library for input/output operations, mathematical functions, floating point, and matrix work. Other interesting items included an input routine for programs punched in decimal, an interpretive floating-point scheme, and trace-and-dump routines.

    K. H. V. Booth evidently devised and implemented the entire programming system single-handedly, and the result is very polished and professional -- a remarkable achievement considering her workload. Her textbook on programming, however, appears to have had little or no influence on the development of programming systems. The content of the book was roughly comparable to that of Wilkes, Wheeler, and Gill (1951), but by the time it appeared in 1958, those lessons had long since been assimilated.

    Although the Booths produced a number of further machines at Birkbeck and at the University of Saskatchewan, which they joined in 1963, none of these seems to have had any appreciable influence on the mainstream of computer development. The failure of the Birkbeck group to affect early computer developments significantly in Britain was no doubt the result of a variety of causes, certainly including the lack of size, funds, and prestige.
    Extract: Conclusions
    Conclusions
    When we compare the development of programming at the three centers -- Cambridge, Manchester, and Teddington -- there are several factors to consider. First, we must consider the quality of the programming system; this is a subjective issue that ranges from the purely aesthetic to the severely practical -- for example, from the elegance of an implementation at one extreme to the speed of a matrix inversion at the other. We must also consider the failures of the three centers, especially the failure to devise a programming system that exploited the full potential of the hardware. Finally, we must consider the influence of the programming systems on other groups; this is less subjective -- it was described in the previous two sections and is summarized in Figure 2.

    Few could argue that Cambridge devised the best of the early programming systems. The work done by Wilkes and Wheeler stood out as a model of programming excellence. Cambridge made several outstanding contributions to early programming: the use of closed subroutines and parameters, the systematic organization of a subroutine library, interpretive routines, and the development of debugging routines. Perhaps the finest innovation was the use of a symbolic notation for programming, as opposed to the use of octal or some variant. It is difficult for us today to appreciate the originality of this concept.
    If Cambridge can be said to have had a failure, it was the failure to develop programming languages and autocodes during the middle and late 1950s, as reflected in the second edition of Wilkes, Wheeler, and Gill (1957), of which Hamming said in a review,

    It is perhaps inevitable that the second edition, though thoroughly revised, does not represent an equally great step forward, but it is actually disappointing to find that they are no longer at the forefront of theoretical coding. (Hamming 1958)]

    By neglecting research into programming languages, Cambridge forfeited its preeminence in the programming field.

    In the early 1950s, however, Cambridge was by far the most important influence on programming in Britain. This came about partly through the excellence of the programming system and partly through the efforts that Cambridge made to promote its ideas. Two machines (I`EO and TREAC) based their programming system directly on EDSAC, and five machines (Nicholas, the Elliott 401 and 402, MOSAIC, and Pegasus) were strongly influenced by it. It is also probably true that no programming group was entirely uninfluenced by the Cambridge work. Overseas, the influence of the EDSAC programming system was just as great, largely through the classic programming textbook by Wilkes, Wheeler, and Gill (1951) (see Campbell-Kelly 1980a).

    At Manchester the programming system devised by Turing for the Mark I makes a disappointing contrast with the elegance of the Cambridge work. From the point of view of notation, it is difficult to find a single redeeming feature. Probably the only feature of real merit was the concept of dividing a program into physical and logical pages. Echoes of this idea can be discerned in today's segmented computers.

    In its way, Turing's programming system did have considerable influence, for all efforts to replace it with something more suitable were curiously unsuccessful.

    Thus programmers for both Mark Is and all seven Mark Iota's had to struggle with Turing's clumsy teleprinter notation throughout the life of these machines. Here is perhaps one of the most valuable lessons of this study: poor design decisions taken early on are almost impossible to correct later. Thus even when people with a Cambridge background arrived at Manchester, they were unable to make a really fresh start. By producing two successive input routines that were not much better than Turing's, they managed to combine the worst of both worlds: an unsatisfactory programming system that was not even a stable one.

    The one real high spot of the Manchester programming activity was Brooker's Mark I Autocode. Brooker's achievement was the most important programming event of the mid-1950s in Britain. If Brooker had not devised his autocode at that time, programming in Britain might have developed very differently. The autocodes for DEUCE and Pegasus were directly inspired by Brooker's and had considerable notational similarities with it. Beyond the time scale of this paper, Brooker's Mark I Autocode and his later Mercury Autocode (1958) were a dominant influence on British programming until well into the 1960s, when languages such as ALGOL 60 and FORTRAN came onto the scene in Britain.

    Of the three programming systems devised at Cambridge, Manchester, and Teddington, it is probably the latter that inspires the least passion. Ii the punching of programs in pure binary was an efficient method, it was also a singularly uninspiring one. Curiously, aficionados of the Pilot ACE and the DEUCE had great enthusiasm for programming these machines, which really had more to do with the joys of optimum coding and exploiting the eccentric architecture than with any merits of the programming system.

    In many ways the crudity of the programming system for the Pilot ACE was understandable: the speed of events, the lack of a backing store, and so on. But perpetuating it on the DEUCE was a minor tragedy; by replicating the programming system on the 32 commercially manufactured DEUCES, literally hundreds of rank-and-file programmers were imbued in this poor style of programming. MOSAIC (Section 3.4) shows that it was entirely possible to devise a satisfactory programming system for machines of the ACE pattern; it is most unfortunate that this work was not well enough known to influence events.

    NPL did, however, have one notable programming-success: the GIP matrix scheme devised by Woodger and Munday. This scheme became the sole reason for the existence of many DEUCES. The reliability of the mathematical programs produced by NPL, their comprehensiveness, and their speed have become almost legendary. A history of numerical methods in Britain would no doubt reveal the true role of NPL in establishing the methods of linear algebra as an analytical tool for the engineer.

    In an interview, P. M. Woodward, one of the principals of the TREAC programming activity, recalled, "Our impression was that Cambridge mattered in software whereas Manchester mattered in hardware" (Woodward and Jenkins 1977). He might well have added that NPL mattered in numerical methods.

    Because this paper has been primarily concerned with the development of programming during the period 1945-1955, Cambridge has received pride of place as the leading innovator. Had the paper been concerned principally with hardware or numerical methods, however, the ranking of the three centers would have been different. But considered purely as innovators of programming, there can be no question that Cambridge stood well above the rest.
    Abstract: By 1950 there were three influential centers of programming in Britain where working computers had been constructed: Cambridge University (the EDSAC), Manchester University (the Mark I), and the National Physical Laboratory (the Pilot ACE). At each of these centers a distinctive style of programming evolved, largely independently of the others. This paper describes how the three schools of programming influenced programming for the other stored-program computers constructed in Britain up to the year 1955. These machines included several prototype and research computers, as well as five commercially manufactured machines. The paper concludes with a comparative assessment of the three schools of programming.


          in Annals of the History of Computing 4(2) April 1982 IEEE view details