Two Pioneering Projects from the Early History of Computer-Aided Algorithmic Composition

Total Page:16

File Type:pdf, Size:1020Kb

Two Pioneering Projects from the Early History of Computer-Aided Algorithmic Composition Two Pioneering Projects from the Early History of Computer-Aided Algorithmic Composition The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation Ariza, Christopher. “Two Pioneering Projects from the Early History of Computer-Aided Algorithmic Composition.” Computer Music Journal 35.3 (2011): 40-56. Web. 20 Jan. 2012. © 2011 Massachusetts Institute of Technology As Published http://dx.doi.org/10.1162/COMJ_a_00068 Publisher MIT Press Version Final published version Citable link http://hdl.handle.net/1721.1/68626 Terms of Use Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use. Christopher Ariza Massachusetts Institute of Technology Two Pioneering Projects Music and Theater Arts, 4-246 77 Massachusetts Avenue from the Early History Cambridge, Massachusetts 02139-4307 USA of Computer-Aided [email protected] Algorithmic Composition Lejaren Hiller’s 1970 chapter, “Music Composed new techniques. Further, each was likely a historical with Computers: An Historical Survey” (Hiller first. The work of Caplin and Prinz in 1955 may 1970) contains numerous descriptions of projects be the first use of a computer to generate not just in the computer generation of musical structures. sound (as was done as early as 1950 or 1951; see By then, just over ten years after the publication Doornbusch 2004), but new musical structures. of Hiller’s and Leonard Isaacson’s seminal book The work of Padberg in the early 1960s may be the Experimental Music (Hiller and Isaacson 1959), a first academic dissertation in CAAC, as well as the startling number of experiments in generative music first research and software in CAAC published by a with early computers had been completed. Hiller’s woman. early research, compositions, and publications This article not only details the historical con- established him as a leader in the then-emerging text and implementation of these projects for the field of computer-aided algorithmic composition first time, but offers original recordings and new (CAAC). Some researchers, likely inspired by Hiller realizations of these early computer-aided composi- and Isaacson’s 1956 Illiac Suite string quartet, even tions. These audio materials are available on-line at duplicated their instrumentation: in an amusing www.flexatone.net/docs/cmj35-3.zip, and will also footnote, Hiller writes that “it is curious to note be included on the Computer Music Journal Sound how many computer pieces have been written for and Video Anthology DVD accompanying the next string quartet . particularly since string-quartet issue (35:4, Winter 2011). performers seem to be among the least receptive to This research would not have been possible newer compositional ideas such as computer music” without the continuing contributions of the original (Hiller 1970, p. 70). authors; numerous personal correspondences with Hiller’s prominence in a young and decentralized both Caplin and Padberg have provided critical field led many independent researchers to contact details on their projects. It is a great fortune that, him directly. He became, it seems, a repository of through Hiller’s desire to document the work information (often obtained only through direct completed in the field, and through the willingness correspondence). Although Hiller’s chapter reports of Caplin and Padberg to revisit and discuss work on numerous projects that are now well known and they completed a half-century ago, we can today independently documented, buried in the historical listen to some of the earliest attempts at composing survey are a few remarkable endeavors of significant music with a computer. historical importance that have not hitherto been fully documented, corroborated, or heard. This article brings forth two of these projects, the work of David Caplin and Dietrich Prinz, and the work of The First Ten Years of Computer-Aided Algorithmic Sister (then Mother) Harriet Padberg. In his chapter, Composition Hiller describes both of these projects primarily through letters he received from the authors. The work of Hiller and Isaacson, leading to the Both projects were pioneering: they began with completion of the Illiac Suite string quartet, is often little or no knowledge of other applications of credited as the first extensive use of a computer computers to music generation, and they explored to create music with algorithms (Dodge and Jerse 1997, p. 373). As Hiller frequently notes, however, Computer Music Journal, 35:3, pp. 40–56, Fall 2011 there were earlier experiments. The most well- c 2011 Massachusetts Institute of Technology. documented of these experiments is the song Push 40 Computer Music Journal Button Bertha. This piece was the result of program- himself and Prinz, that created music using two dis- ming by Douglas Bolitho and Martin L. Klein, with tinct methods. The first approach employed the com- lyrics written by Jack Owens (Anonymous 1956a, bination of precomposed melodic fragments based 1956b, 1956c; Darreg 1957; Klein 1957; Pierce 1961; on the dice games attributed to Mozart (Hiller 1970; Hiller 1970; Ames 1987). On 15 July 1956, Push Gardner 1974; Hedges 1978). The second approach Button Bertha aired on the television program built melodic lines with conditional probabilities. “Adventure Tomorrow,” less than one month before Hiller, in Experimental Music (Hiller and Isaacson 9 August 1956, the date Hiller staged a performance 1959), mentions this research, citing as his source an of an incomplete Illiac Suite at the University of Illi- earlier, though undated, letter from R. J. Lunbeck. nois (Hiller and Isaacson 1959). The Illiac Suite was Caplin was well suited to design a computer not completed until November, three months later. music system in 1955: he had experience with The work of Caplin and Prinz in 1955 thus preceded music, had worked with some of the earliest both the Illiac Suite and Push Button Bertha. computers, and had abundant access to a newly From 1955 to 1965 there were numerous exper- installed machine in his workplace. Caplin was born iments in CAAC. In addition to more well-known in 1927 in Leeds, England. Although lacking formal projects, such as Hiller and Robert Baker’s MUsic music training, he studied music independently and SImulator-Interpreter for COMpositional Proce- began composing at the age of nine. He entered dures (MUSICOMP; Baker 1963; Hiller 1967, 1969), the London School of Economics (LSE) in 1944 Gottfried Michael Koenig’s Project 1 (first tested in at age 17. In his last two years at the LSE he 1964; Koenig 1970), and Iannis Xenakis’s Stochastic specialized in mathematical statistics, and notes Music Program (Xenakis 1965), there appear to be at as particularly influential seminars given by Karl least 20 other independent efforts at CAAC within Popper. Upon leaving the LSE he was drafted into this period (Ariza 2005a). the office of the Scientific Advisor to the Air The work of Caplin and Prinz, as well as that of Ministry. There, he began work in what was then Padberg, is found at opposite boundaries of this ten- called operational research, building mathematical year period. Using computers, they implemented models of real-world problems. In 1950 he was and extended well-known approaches to procedural hired by Petrocarbon Ltd. (and its operating arm or algorithmic composition that had formerly been Petrochemicals Ltd.), and began to apply operational carried out without computers. These techniques research in the petrochemical industry. Daunted by and their historical origins will be subsequently the time it took to solve problems, Caplin looked explained in depth. Caplin implemented the famous to the nearby Ferranti Mark I computer, delivered dice games attributed to W. A. Mozart; Padberg to Manchester University in 1951 (Tweedale 1993), employed serial techniques along with a text- for more efficient solutions. He then began studying to-pitch mapping procedure strikingly similar programming. According to Caplin, it was Prinz, to Guido of Arezzo’s (ca. 991–1033) vowel-to- a member of Ferranti’s instrument department pitch mapping routines defined in Micrologus since 1947 (UK National Archive for the History (Guido of Arezzo 1978 [ca. 1026]). Both, however, of Computing 2005), who originally taught him quickly extended these historical approaches toward how to program (Caplin 2008). Petrochemicals Ltd. more idiomatic designs, recognizing the new and was later acquired in 1955 by Shell Chemical, the powerful opportunities available with computer company at which Caplin continued his work both implementation. in London and Amsterdam (Caplin 2008). Starting around September 1955 Caplin, then based in London, would commute from London The Work of David Caplin and Dietrich Prinz to the Koninklijke/Shell-Laboratorium in Ams- terdam (KSLA, now called the Shell Technology On 21 September 1960 Hiller received a letter from Centre Amsterdam). Caplin, placed in charge of eco- Caplin describing computer programs, written by nomics and planning, developed linear programming Ariza 41 routines on the KSLA’s new computer, a Ferranti a computer group and began development of the Mark I∗ (the star is an indication of a model with Ferranti Mark I (Tweedale 1993). The Mark I, gen- revised hardware). Yet, when time permitted, he erally considered the first digital, stored-program explored applications of the computer to music. computer made commercially available (Moreau This work involved not only the generation of mu- 1984; Cambell-Kelly and Aspray 1996), was based on sical structures, but direct synthesis of elementary a computer developed at Manchester University in sounds (Lunbeck 2005a; Caplin 2008). While Hiller the late 1940s called the Manchester Mark 1 or the and Isaacson, describing these experiments, state Small-Scale Experimental Machine (SSEM; Napper that “the coding of this problem was carried out by 2005). Ferranti sold a total of nine Mark I computers. D. A. Caplin” (Hiller and Isaacson 1959, p.
Recommended publications
  • DVD Program Notes
    DVD Program Notes Part One: Thor Magnusson, Alex Click Nilson is a Swedish avant McLean, Nick Collins, Curators garde codisician and code-jockey. He has explored the live coding of human performers since such Curators’ Note early self-modifiying algorithmic text pieces as An Instructional Game [Editor’s note: The curators attempted for One to Many Musicians (1975). to write their Note in a collaborative, He is now actively involved with improvisatory fashion reminiscent Testing the Oxymoronic Potency of of live coding, and have left the Language Articulation Programmes document open for further interaction (TOPLAP), after being in the right from readers. See the following URL: bar (in Hamburg) at the right time (2 https://docs.google.com/document/d/ AM, 15 February 2004). He previously 1ESzQyd9vdBuKgzdukFNhfAAnGEg curated for Leonardo Music Journal LPgLlCe Mw8zf1Uw/edit?hl=en GB and the Swedish Journal of Berlin Hot &authkey=CM7zg90L&pli=1.] Drink Outlets. Alex McLean is a researcher in the area of programming languages for Figure 1. Sam Aaron. the arts, writing his PhD within the 1. Overtone—Sam Aaron Intelligent Sound and Music Systems more effectively and efficiently. He group at Goldsmiths College, and also In this video Sam gives a fast-paced has successfully applied these ideas working within the OAK group, Uni- introduction to a number of key and techniques in both industry versity of Sheffield. He is one-third of live-programming techniques such and academia. Currently, Sam the live-coding ambient-gabba-skiffle as triggering instruments, scheduling leads Improcess, a collaborative band Slub, who have been making future events, and synthesizer design.
    [Show full text]
  • Who Did What? Engineers Vs Mathematicians Title Page America Vs Europe Ideas Vs Implementations Babbage Lovelace Turing
    Who did what? Engineers vs Mathematicians Title Page America vs Europe Ideas vs Implementations Babbage Lovelace Turing Flowers Atanasoff Berry Zuse Chandler Broadhurst Mauchley & Von Neumann Wilkes Eckert Williams Kilburn SlideSlide 1 1 SlideSlide 2 2 A decade of real progress What remained to be done? A number of different pioneers had during the 1930s and 40s Memory! begun to make significant progress in developing automatic calculators (computers). Thanks (almost entirely) to A.M. Turing there was a complete theoretical understanding of the elements necessary to produce a Atanasoff had pioneered the use of electronics in calculation stored program computer – or Universal Turing Machine. Zuse had mad a number of theoretical breakthroughs Not for the first time, ideas had outstripped technology. Eckert and Mauchley (with JvN) had produced ENIAC and No-one had, by the end of the war, developed a practical store or produced the EDVAC report – spreading the word memory. Newman and Flowers had developed the Colossus It should be noted that not too many people were even working on the problem. SlideSlide 3 3 SlideSlide 4 4 The players Controversy USA: Eckert, Mauchley & von Neumann – EDVAC Fall out over the EDVAC report UK: Maurice Wilkes – EDSAC Takeover of the SSEM project by Williams (Kilburn) UK: Newman – SSEM (what was the role of Colossus?) Discord on the ACE project and the departure of Turing UK: Turing - ACE EDSAC alone was harmonious We will concentrate for a little while on the SSEM – the winner! SlideSlide 5 5 SlideSlide 6 6 1 Newman & technology transfer: Secret Technology Transfer? the claim Donald Michie : Cryptanalyst An enormous amount was transferred in an extremely seminal way to the post war developments of computers in Britain.
    [Show full text]
  • Hereby the Screen Stands in For, and Thereby Occludes, the Deeper Workings of the Computer Itself
    John Warnock and an IDI graphical display unit, University of Utah, 1968. Courtesy Salt Lake City Deseret News . 24 doi:10.1162/GREY_a_00233 Downloaded from http://www.mitpressjournals.org/doi/pdf/10.1162/GREY_a_00233 by guest on 27 September 2021 The Random-Access Image: Memory and the History of the Computer Screen JACOB GABOURY A memory is a means for displacing in time various events which depend upon the same information. —J. Presper Eckert Jr. 1 When we speak of graphics, we think of images. Be it the windowed interface of a personal computer, the tactile swipe of icons across a mobile device, or the surreal effects of computer-enhanced film and video games—all are graphics. Understandably, then, computer graphics are most often understood as the images displayed on a computer screen. This pairing of the image and the screen is so natural that we rarely theorize the screen as a medium itself, one with a heterogeneous history that develops in parallel with other visual and computa - tional forms. 2 What then, of the screen? To be sure, the computer screen follows in the tradition of the visual frame that delimits, contains, and produces the image. 3 It is also the skin of the interface that allows us to engage with, augment, and relate to technical things. 4 But the computer screen was also a cathode ray tube (CRT) phosphorescing in response to an electron beam, modified by a grid of randomly accessible memory that stores, maps, and transforms thousands of bits in real time. The screen is not simply an enduring technique or evocative metaphor; it is a hardware object whose transformations have shaped the ma - terial conditions of our visual culture.
    [Show full text]
  • Weaponization of Artificial Intelligence (AI)
    Disarmament and International Security Committee (DISEC) MUNUC 33 ONLINE 1 Disarmament and International Security Committee | MUNUC 33 Online TABLE OF CONTENTS ______________________________________________________ CHAIR LETTER…………………………….….………………………….….....…3 OVERVIEW OF DISEC……………..……………………..……………………..5 TOPIC A: BIOSECURITY…….…………...……..……………………………….6 Statement of the Problem……………….……………..…………...…6 History of the Problem………………………………………………….15 Past Actions…………………………………………………………….. 19 Possible Solutions………………………………………………………. 22 Bloc Positions……………………………………………………….……25 Glossary…………………………………………………………………..27 Bibliography……………………………………………………………..29 TOPIC B: WEAPONIZATION OF ARTIFICAL INTELLIGENCE…….………...32 Statement of the Problem……………….………...………………....32 History of the Problem………………………………………………….42 Past Actions…………………………………………………………….. 46 Possible Solutions………………………………………………………. 50 Bloc Positions……………………………………………………….……52 Glossary…………………………………………………………………..54 Bibliography…………………………………………………………..... 55 2 Disarmament and International Security Committee | MUNUC 33 Online CHAIR LETTER ____________________________________________________ Dear Delegates, Welcome to MUNUC 33 and the Disarmament and International Security Committee! My name is Joanna Zhuang, and I will be your chair for this committee this year. Before you start reading this background guide, I would like to introduce myself and talk about my expectations/advice for you and this committee. I was born in Shanghai, but I grew up in Vancouver, Canada. I am a second year at the College,
    [Show full text]
  • Alan Turing's Automatic Computing Engine
    5 Turing and the computer B. Jack Copeland and Diane Proudfoot The Turing machine In his first major publication, ‘On computable numbers, with an application to the Entscheidungsproblem’ (1936), Turing introduced his abstract Turing machines.1 (Turing referred to these simply as ‘computing machines’— the American logician Alonzo Church dubbed them ‘Turing machines’.2) ‘On Computable Numbers’ pioneered the idea essential to the modern computer—the concept of controlling a computing machine’s operations by means of a program of coded instructions stored in the machine’s memory. This work had a profound influence on the development in the 1940s of the electronic stored-program digital computer—an influence often neglected or denied by historians of the computer. A Turing machine is an abstract conceptual model. It consists of a scanner and a limitless memory-tape. The tape is divided into squares, each of which may be blank or may bear a single symbol (‘0’or‘1’, for example, or some other symbol taken from a finite alphabet). The scanner moves back and forth through the memory, examining one square at a time (the ‘scanned square’). It reads the symbols on the tape and writes further symbols. The tape is both the memory and the vehicle for input and output. The tape may also contain a program of instructions. (Although the tape itself is limitless—Turing’s aim was to show that there are tasks that Turing machines cannot perform, even given unlimited working memory and unlimited time—any input inscribed on the tape must consist of a finite number of symbols.) A Turing machine has a small repertoire of basic operations: move left one square, move right one square, print, and change state.
    [Show full text]
  • Social Construction and the British Computer Industry in the Post-World War II Period
    The rhetoric of Americanisation: Social construction and the British computer industry in the Post-World War II period By Robert James Kirkwood Reid Submitted to the University of Glasgow for the degree of Doctor of Philosophy in Economic History Department of Economic and Social History September 2007 1 Abstract This research seeks to understand the process of technological development in the UK and the specific role of a ‘rhetoric of Americanisation’ in that process. The concept of a ‘rhetoric of Americanisation’ will be developed throughout the thesis through a study into the computer industry in the UK in the post-war period . Specifically, the thesis discusses the threat of America, or how actors in the network of innovation within the British computer industry perceived it as a threat and the effect that this perception had on actors operating in the networks of construction in the British computer industry. However, the reaction to this threat was not a simple one. Rather this story is marked by sectional interests and technopolitical machination attempting to capture this rhetoric of ‘threat’ and ‘falling behind’. In this thesis the concept of ‘threat’ and ‘falling behind’, or more simply the ‘rhetoric of Americanisation’, will be explored in detail and the effect this had on the development of the British computer industry. What form did the process of capture and modification by sectional interests within government and industry take and what impact did this have on the British computer industry? In answering these questions, the thesis will first develop a concept of a British culture of computing which acts as the surface of emergence for various ideologies of innovation within the social networks that made up the computer industry in the UK.
    [Show full text]
  • The Machine and the Cloud
    the machine and the cloud Peter Harrington london n3 Frieze Masters Gloucester Green, Regent’s Park, London Thu 4 Oct Preview 12–8pm; Private View 5–8pm Fri 5 Oct 11am–7pm Sat 6 Oct 11am–7pm Sun 7 Oct 11am–6pm https://friezemasters.seetickets.com/tour/frieze-masters mayfair chelsea Peter Harrington Peter Harrington 43 dover street 100 FulHam road london w1s 4FF london sw3 6Hs uk 020 3763 3220 uk 020 7591 0220 eu 00 44 20 3763 3220 eu 00 44 20 7591 0220 usa 011 44 20 3763 3220 www.peterharrington.co.uk usa 011 44 20 7591 0220 Front & back cover: details from Marcel Duchamp’s The Bride Stripped Bare by Her Bachelors, Even, page 28. Peter Harrington london the machine and the cloud an exHibition disPlayed at Frieze Masters regent’s Park, london 4–7 october 2018 2 the machine and the cloud In his 1962 book The Gutenberg Galaxy: The Making of Typographical Man, Marshall McLuhan argued that the printing press wrought a profound change in human consciousness, especially as it occurred at about the same time as the emergence of perspective in art. Some of the unexpected consequences of this decisive moment, according to McLuhan, were the creation of nationalism, dualism, the dominance of rationalism, a drive towards homogeneity and repeatability in culture, and alienation of individuals. These are large claims, but we do not have to accept them in their entirety to agree with McLuhan’s general point that the invention of the printing press was one of the most significant technological advances ever to affect human consciousness.
    [Show full text]
  • The Early History of Music Programming and Digital Synthesis, Session 20
    Chapter 20. Meeting 20, Languages: The Early History of Music Programming and Digital Synthesis 20.1. Announcements • Music Technology Case Study Final Draft due Tuesday, 24 November 20.2. Quiz • 10 Minutes 20.3. The Early Computer: History • 1942 to 1946: Atanasoff-Berry Computer, the Colossus, the Harvard Mark I, and the Electrical Numerical Integrator And Calculator (ENIAC) • 1942: Atanasoff-Berry Computer 467 Courtesy of University Archives, Library, Iowa State University of Science and Technology. Used with permission. • 1946: ENIAC unveiled at University of Pennsylvania 468 Source: US Army • Diverse and incomplete computers © Wikimedia Foundation. License CC BY-SA. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. 20.4. The Early Computer: Interface • Punchcards • 1960s: card printed for Bell Labs, for the GE 600 469 Courtesy of Douglas W. Jones. Used with permission. • Fortran cards Courtesy of Douglas W. Jones. Used with permission. 20.5. The Jacquard Loom • 1801: Joseph Jacquard invents a way of storing and recalling loom operations 470 Photo courtesy of Douglas W. Jones at the University of Iowa. 471 Photo by George H. Williams, from Wikipedia (public domain). • Multiple cards could be strung together • Based on technologies of numerous inventors from the 1700s, including the automata of Jacques Vaucanson (Riskin 2003) 20.6. Computer Languages: Then and Now • Low-level languages are closer to machine representation; high-level languages are closer to human abstractions • Low Level • Machine code: direct binary instruction • Assembly: mnemonics to machine codes • High-Level: FORTRAN • 1954: John Backus at IBM design FORmula TRANslator System • 1958: Fortran II 472 • 1977: ANSI Fortran • High-Level: C • 1972: Dennis Ritchie at Bell Laboratories • Based on B • Very High-Level: Lisp, Perl, Python, Ruby • 1958: Lisp by John McCarthy • 1987: Perl by Larry Wall • 1990: Python by Guido van Rossum • 1995: Ruby by Yukihiro “Matz” Matsumoto 20.7.
    [Show full text]
  • The Manchester University "Baby" Computer and Its Derivatives, 1948 – 1951”
    Expert Report on Proposed Milestone “The Manchester University "Baby" Computer and its Derivatives, 1948 – 1951” Thomas Haigh. University of Wisconsin—Milwaukee & Siegen University March 10, 2021 Version of citation being responded to: The Manchester University "Baby" Computer and its Derivatives, 1948 - 1951 At this site on 21 June 1948 the “Baby” became the first computer to execute a program stored in addressable read-write electronic memory. “Baby” validated the widely used Williams- Kilburn Tube random-access memories and led to the 1949 Manchester Mark I which pioneered index registers. In February 1951, Ferranti Ltd's commercial Mark I became the first electronic computer marketed as a standard product ever delivered to a customer. 1: Evaluation of Citation The final wording is the result of several rounds of back and forth exchange of proposed drafts with the proposers, mediated by Brian Berg. During this process the citation text became, from my viewpoint at least, far more precise and historically reliable. The current version identifies several distinct contributions made by three related machines: the 1948 “Baby” (known officially as the Small Scale Experimental Machine or SSEM), a minimal prototype computer which ran test programs to prove the viability of the Manchester Mark 1, a full‐scale computer completed in 1949 that was fully designed and approved only after the success of the “Baby” and in turn served as a prototype of the Ferranti Mark 1, a commercial refinement of the Manchester Mark 1 of which I believe 9 copies were sold. The 1951 date refers to the delivery of the first of these, to Manchester University as a replacement for its home‐built Mark 1.
    [Show full text]
  • 1. Types of Computers Contents
    1. Types of Computers Contents 1 Classes of computers 1 1.1 Classes by size ............................................. 1 1.1.1 Microcomputers (personal computers) ............................ 1 1.1.2 Minicomputers (midrange computers) ............................ 1 1.1.3 Mainframe computers ..................................... 1 1.1.4 Supercomputers ........................................ 1 1.2 Classes by function .......................................... 2 1.2.1 Servers ............................................ 2 1.2.2 Workstations ......................................... 2 1.2.3 Information appliances .................................... 2 1.2.4 Embedded computers ..................................... 2 1.3 See also ................................................ 2 1.4 References .............................................. 2 1.5 External links ............................................. 2 2 List of computer size categories 3 2.1 Supercomputers ............................................ 3 2.2 Mainframe computers ........................................ 3 2.3 Minicomputers ............................................ 3 2.4 Microcomputers ........................................... 3 2.5 Mobile computers ........................................... 3 2.6 Others ................................................. 4 2.7 Distinctive marks ........................................... 4 2.8 Categories ............................................... 4 2.9 See also ................................................ 4 2.10 References
    [Show full text]
  • Second Industrial Revolution – Computer Safety and Security
    Copyright Jim Thomson 2013 Safety In Engineering Ltd The Second Industrial Revolution – Computer Safety and Security “Programming today is a race between software engineers striving to build bigger and better idiot- proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” Rick Cook “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.” Bill Gates “The digital revolution is far more significant than the invention of writing or even of printing.” Douglas Engelbart “Complex systems almost always fail in complex ways.” Columbia Accident Investigation Board Report, August 2003 In the twenty-first century, it is difficult to imagine a world without computers. Almost every aspect of our lives is now tied to computers in some way or other. They are used throughout industry for the control of industrial plant and processes, manufacturing, aircraft, automobiles, washing machines, telephones and telecommunications, etcetera, etcetera. Most domestic electrical hardware now contains some sort of microprocessor control. Microprocessors are now so completely ubiquitous, and so much of our lives is completely dependent on them, that it is a continuous source of surprise to me that the people and the laboratories that led their invention and development are not household names in the same way as, say, Newton’s discovery of gravity or Darwin’s theory of evolution. Microprocessors have caused an ongoing revolution in our lives. The first industrial revolution in the nineteenth century led to steam power for factories, ships, and trains, and also to the ready availability of substances like steel, which transformed the lives of our forebears.
    [Show full text]
  • A Large Routine
    A large routine Freek Wiedijk It is not widely known, but already in June 1949∗ Alan Turing had the main concepts that still are the basis for the best approach to program verification known today (and for which Tony Hoare developed a logic in 1969). In his three page paper Checking a large routine, Turing describes how to verify the correctness of a program that calculates the factorial function by repeated additions. He both shows how to use invariants to establish the correctness of this program, as well as how to use a variant to establish termination. In the paper the program is only presented as a flow chart. A modern C rendering is: int fac (int n) { int s, r, u, v; for (u = r = 1; v = u, r < n; r++) for (s = 1; u += v, s++ < r; ) ; return u; } Turing's paper seems not to have been properly appreciated at the time. At the EDSAC conference where Turing presented the paper, Douglas Hartree criticized that the correctness proof sketched by Turing should not be called inductive. From a modern point of view this is clearly absurd. Marc Schoolderman first told me about this paper (and in his master's thesis used the modern Why3 tool of Jean-Christophe Filli^atreto make Turing's paper fully precise; he also wrote the above C version of Turing's program). He then challenged me to speculate what specific computer Turing had in mind in the paper, and what the actual program for that computer might have been. My answer is that the `EPICAC'y of this paper probably was the Manchester Mark 1.
    [Show full text]