Capitolo II

L’UNESCO e le sue iniziative per l’informatica

John W. Backus e l’idea di un nuovo metalinguaggio formale per l’informatica

 

Un disegno concettuale stile bozzetto sulla formulazione della Backus Naur Form realizzato da BING Image Creator
Un disegno concettuale stile bozzetto sulla formulazione della Backus Naur Form realizzato da BING Image Creator

§ 2.1 - Le iniziative dell’UNESCO per l’informatica

 

Come ulteriore elemento “probatorio” di questo entusiastico fermento iniziale, quasi del tutto europeo, legato ad ALGOL troviamo il grande interesse che l’UNESCO, (l’Organizzazione delle Nazioni Unite per l'Educazione, la Scienza e la Cultura) cominciò a dedicare a quello che non era un semplice fatto tecnologico, bensì  ad un nuovo fenomeno culturale da assimilare nella sua interezza e trasformare in una nuova disciplina  scientifica e, per molti versi, umanistica: l’informatica.

 

I primi passi che mosse l’UNESCO rispetto ad ALGOL, e alla nascente informatica, furono:

  • Indire la prima ICIP, International Conference Information Processing, che si tenne a Parigi dal 15 al 20 giugno del 1959, ora considerata come il primo congresso dell’IFIP, di cui sotto. Tra i vari relatori anche J. W. Backus che presentò ufficialmente la sua notazione BNF.
  • Fondare la International Federation of Information Processing Societies (IFIPS) che ha per ideatore un nome di eccellenza: Isaac L. Auerbach, ingegnere e informatico statunitense. Nasce nel 1960 come organizzazione globale per ricercatori e professionisti IT per condurre ricerche, sviluppare standard e promuovere la condivisione delle informazioni. Il suo gruppo, WG 2.1, dal marzo 1959 all'agosto 1988, ha curato i 52 numeri del Bollettino ALGOL

 


approfondimento: ALGOL BULLETIN - Il notiziario ALGOL

Una copia dell'ALGOL Bulletin del 1959
Una copia dell'ALGOL Bulletin del dicembre 1959; in alto a sinistra campeggia l'intestazione di REGNECENTRALEN, la prima IT factory danese

Regnecentralen la prima IT factory danese

Regnecentralen (abbreviato RC, in italiano Centro di calcolo) è stata la prima società IT danese, originariamente creata come istituto di ricerca indipendente sotto l'Accademia delle scienze tecniche (ATV) il 12 ottobre 1955 con un finanziamento di 900.000 corone danesi ottenute con il Piano Marshall

 

Tre fautori geniali determinarono la fondazione di RC: 

Regnecentralen realizzò il computer di prima generazione DASK (abbreviazione di Danish Arithmetic Sequence Calculator) che fu presentato per la prima volta il 13 febbraio 1958. 

 

Dalla fine degli anni '60 RC aveva progettato una serie di computer per uso personale e commerciale i cui discendenti sono stati venduti fino agli anni '80.

 

Regnecentralen ci interessa perché lì mosse i primi passi da informatico, impegnato nel progetto ALGOL, Peter Naur, che insieme al Compiler Group, con Jørn Jensen,  svolsero un ruolo decisivo nello sviluppo dei primi traduttori ALGOL e nel lavoro per la realizzazione di linguaggi di alto livello internazionali . 

 

Le foto provengono dal bel blog clausib.blogspot.com ricco di curiosità storiche e urbanistiche su Copenaghen


§ 2.2 - Una questione di... genius loci

 

Quando cercavo notizie su ALGOL e la BNF ero anche curioso di conoscere i luoghi in cui essi erano stati concepiti.

 

In particolar modo mi chiedevo in quale edificio si fosse svolta la prima ICIP del 1959… Si trattava di una sede universitaria? Della sala conferenze di un prestigioso hotel? Di un edificio del governo francese? Non era dato saperlo. Nessuno, nel corso degli anni, si è preso la briga di cercare questo dettaglio.

 

A ricerca chiusa, mentre ultimavo l’impaginazione e chattavo amabilmente con l’IA di BING, mi salta in mente di fargli una domanda: «BING hai foto e/o notizie sulla sede UNESCO di Parigi nel 1959?» e ancora: «Sai se lì c’era uno spazio per fare conferenze?» e, finalmente si rivela l’arcano! 

 

Il potentissimo motore di ricerca dell’IA di Microsoft mi presenta in pochi secondi le immagini che cercavo da mesi, inutilmente altrove e, alla mia seconda domanda, risponde: «Certo! Si tratta dell’edificio “fisarmonica”. Quest'ultimo ospita una sala conferenze con una capienza di 900 posti…» e mi mostra altre informazioni.

 

A chi scrive di storia dell’informatica, ma anche di altre discipline, andrebbe insegnato che il luogo in cui nasce un fatto storico non è meno importante del fatto stesso: cosa sarebbe la Battaglia di Waterloo senza Waterloo, o Giulio Cesare che attraversa il Rubicone senza Rubicone?

 

Se questo ragionamento vale per una barbarie come la guerra perché non deve valere per un fatto culturale, scientifico, tecnologico? Una questione di... genius loci per l’appunto.

 

Per dare un'idea al visitatore di quanto interesse l'UNESCO avesse nei confronti dell'ALGOL, mettendo a disposizione per la prima ICIP un vero e proprio capolavoro dell'architettura contemporanea progettato da Pier Luigi Nervi,  e fugare definitivamente il dubbio che Backus avesse presentato la BNF nell’aia di una masseria, lo invito a fare un salto direttamente da qui su due splendidi siti dedicati al nostro illustre progettista e al suo Padiglione delle Conferenze che gli valse  il soprannome di "Michelangelo del cemento":

 

il complesso degli edifici UNESCO di Place de Fontenoy 7 a Parigi: in rosso, il Segretariato; in verde, il padiglione a “fisarmonica” per le conferenze; in viola il terzo edificio. (Immagine ricavata da cattura su Google Earth).
il complesso degli edifici UNESCO di Place de Fontenoy 7 a Parigi: in rosso, il Segretariato; in verde, il padiglione a “fisarmonica” per le conferenze; in viola il terzo edificio. (Immagine ricavata da cattura su Google Earth).

il complesso degli edifici UNESCO di Place de Fontenoy 7 a Parigi: in rosso, il Segretariato; in verde, il padiglione a “fisarmonica” per le conferenze; in viola il terzo edificio. (Immagine ricavata da cattura su Google Earth).

 

 

Il prospetto sud-est del Padiglione delle Conferenze. (Foto Prof. Sergio Poretti).
Il prospetto sud-est del Padiglione delle Conferenze. (Foto Prof. Sergio Poretti).

La nascita della BNF

 

Come abbiamo visto in precedenza, nell’ambito dei lavori della Conferenza ICIP di Parigi del giugno ’59, John Backus presentò la sua notazione in un documento intitolato: 

 

The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference”[55]

 

in cui illustrava la formulazione del suo metalinguaggio formale applicato alla strutturazione del nascente Linguaggio Algebrico Internazionale. 

 

Era la prima stesura del suo reference language,[56] quella notazione poi così ampiamente utilizzata per la descrizione degli algoritmi nelle varie pubblicazioni successive, lasciando le specifiche per l’input/output alle realizzazioni effettive.  

 

È mio pensiero che Backus, da buon matematico, avesse deciso di realizzare la sua notazione per dipanare qualunque equivoco espositivo tra i partecipanti al progetto, riflettendo sulle molteplici cause che avrebbero potuto generare incomprensioni tra i formulatori del nuovo linguaggio:

La differente estrazione culturale in termini di lingua, formazione, provenienza, esperienze, ambiti operativi, ecc.

 

Le diverse aspettative interne agli USA di ACM, da una parte e di SHARE, DUO e USE dall’altra. A rafforzare la mia convinzione è la notizia di un malinteso che fece accogliere con favore una delibera sull’IAL approvata durante l'undicesima riunione di SHARE.[57]

 

L’equivoco fu originato da una lettura imprecisa del contenuto e del contesto della delibera dovuto al linguaggio impiegato che era intenzionalmente ambiguo. 

 

Ad aumentare la comicità del fatto è che nel corso degli anni certa storiografia ha spesso interpretato quella delibera come una piena adesione di SHARE ad ALGOL come linguaggio di programmazione universale! Sic.

 

Invece ora sappiamo bene che in realtà SHARE aveva a stento raggiunto un fragile accordo interno sulla convenienza di mantenere la molteplicità dei linguaggi di programmazione. 

 

 [55] Il documento è consultabile liberamente al seguente link: https://www.softwarepreservation.org/projects/ALGOL/paper/Backus-ICIP-1959.pdf 

 [56] Verbatim Transcript of the SHARE 11th Meeting, September 9-12, 1958, Appendix C-17, p. 1. SHARE Inc. Records (CBI 21), box 3, folder 17. 

 [57] Ibidem 

Traduzione della presentazione del  metalinguaggio formale di Backus alla Conferenza di Parigi 

 

Ho deciso di tradurre in italiano e pubblicare liberamente questo documento attraverso cui John W. Backus presentò ufficialmente la sua notazione BNF alla prima ICIP, International Conference Information Processing, che si tenne a Parigi dal 15 al 20 giugno del 1959 ora considerata anche come il primo congresso dell’IFIP.

 

Non essendo un madrelingua inglese mi sono avvalso di Google Traduttore ed ho poi dato una forma più comprensibile a certe frasi tradotte "stranamente".

 

Questo lavoro l’ho svolto per agevolare tutti coloro che spinti da necessità di studio o, come me, da pura curiosità autodidattica e passione per l’informatica, si sono imbattuti nella Backus Naur Form e desiderano capire come sia nata.

 

L’innovativa notazione ideata da Backus serviva per armonizzare e presentare gli sviluppi progressivi del nuovo linguaggio di programmazione ALGOL che venivano promulgati a mezzo stampa attraverso l’Algol Bulletin, redatto nelle fasi iniziali da Peter Naur quando lavorava alla Regnecentralen, e sul magazine dell’Association Computing Machinery, o ACM, Comunications of ACM.

 

Una lettura a dir poco interessante che ci restituisce l’atmosfera di quei tempi lontani in cui, nonostante i disastrosi esiti della II guerra mondiale e il clima della guerra fredda, gli scienziati di due continenti uniscono le forze per realizzare uno straordinario esperimento di informatica.

 

Ho scelto di pubblicare su di un documento esterno la traduzione per non appesantire ulteriormente questa pagina e offrire al lettore una memoria immediatamente fruibile del documento di Backus.

 

Attenzione!

  1. Per non alterare i simboli impiegati originariamente da John Backus nel suo documento, ho ritenuto opportuno effettuare una serie di catture video lì dove comparivano segni grafici non presenti nel set di font Times New Roman con cui è stato redatto questo testo sul mio PC. Va da sé che il lettore/studioso/appassionato più zelante potrà riprodurre, se necessario, sicuramente con font vettoriali come il Cambria Math ciò che io mi sono limitato a copiare.
  2. Il lettore noterà che la numerazione associata alla descrizione dei vari passi della notazione risulta alquanto discontinua; a tal proposito mi preme precisare che mi sono limitato a copiare verbatim il testo originale così come riportato nel documento di cui al seguente link: The syntax and semantics of the proposed international algebraic language of the Zurich ACM-GAMM Conference (softwarepreservation.org), limitandomi a disporre lo scritto su di una sola colonna anziché su due. Per la traduzione ho utilizzato una struttura tabellare che mi ha consentito di spostare, nella colonna di sinistra, i capoversi delle descrizioni in modo tale da agevolare la consultazione del documento tradotto. Seguono i link per i download della traduzione dei due formati

APPENDICE


JOHN WARNER BACKUS:                                    Pioniere dell’informatica statunitense

John Warner Backus nacque a Filadelfia  il 3 dicembre 1924 e crebbe nella vicina Wilmington nel Delaware. 

 

Dopo aver conseguito il diploma superiore presso la Hill School di Pottstown, in Pennsylvania il suo percorso di studi accademici non fu molto lineare tanto che abbandonò ben tre diversi corsi di laurea. 

 

Durante il secondo conflitto mondiale fu caporale al comando di una batteria antiaerea di stanza a Fort Stewart, in Georgia.  

 

Dopo il congedo, nel 1946, si trasferì a New York City ove prima acquisì un brevetto come tecnico radiofonico durante il quale scoprì di avere un grande interesse per la matematica. 

 

Questa passione lo spinse ad inscriversi alla Columbia University presso cui si laureerò a 25 anni nel 1949 e a conseguire un master nel 1950 entrambi in matematica. 

 

Nello stesso anno entrò in IBM a New York City ove fu programmatore fino al 1954. Durante i suoi primi tre anni in IBM, lavorò al calcolatore elettronico di sequenza selettiva (SSEC); il suo primo grande progetto fu quello di scrivere un programma per calcolare le posizioni della Luna. Nel 1953 Backus sviluppò il linguaggio di alto livello Speedcoding, creato per il computer IBM 701

 

Nel 1954 fu nominato direttore della ricerca sulla programmazione fino al 1959. Dallo stesso anno, sino al ’63, fu uno dei membri dello staff della IBM Research a Yorktown Heights, NY. Dal 1963 viene nominato IBM Fellow sia a Yorktown che a San Jose, in California, fino agli anni '90.

 

Il lavoro che ha dato indubbiamente maggior lustro a Backus in IBM lo intraprese nel 1954 insieme ad un piccolo gruppo di colleghi con cui iniziò una ricerca relativa ad un nuovo sistema di programmazione che consentisse a un computer di produrre i propri programmi in linguaggio macchina. Il progetto iniziò nell’incertezza più assoluta tanto che a tal proposito, nel 1967, Backus dichiarò:

 

"Quando abbiamo iniziato a risolvere il problema, questo si divise in altri che non avevamo previsto. Nel gennaio 1955, dicemmo che l'avremmo risolto in meno di un anno. Alla fine, lo abbiamo risolto nel 1957.". 

 

Ciò che Backus ed i suoi colleghi avevano creato era FORTRAN, il padre dei sistemi di programmazione.  

 

Premi e riconoscimenti 


PETER NAUR:                                                  Pioniere dell’informatica danese e grande divulgatore tecnico-scientifico

Peter Naur si può, a pieno titolo, definire a beautiful mind dal momento che con i suoi studi ha spaziato dalla matematica all’astronomia restando affascinato dalla nascente informatica di cui fu un valentissimo pioniere. 

 

Nacque il 25 ottobre 1928 in Danimarca a Frederiksberg, un piccolo comune a pochi chilometri da Copenaghen. Dopo aver completato gli studi superiori, nel 1947,  presso il Gammel Hellerup Gymnasium, nel 1949 conseguì la laurea in astronomia presso l'Università di Copenaghen e continuò i suoi studi in Inghilterra presso l’Università di Cambridge (1950-51), dove lavorò con il computer EDSAC effettuando calcoli astronomici delle orbite di comete e asteroidi; i suoi studi proseguirono poi negli USA ove condusse ulteriori ricerche astronomiche assistite da computer. 

 

Tornato in Danimarca prestò servizio come assistente scientifico presso l'osservatorio astronomico dell'Università di Copenaghen (1953-59) e parallelamente conseguì, nello stesso ateneo, un dottorato in astronomia (1957). Dal 1959 al 1969 Naur fece parte dello staff del gruppo di progettazione dei compilatori presso Regnecentralen, la prima azienda danese di computer. 

 

In questo periodo fu nominato membro dell'International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[58] e lì organizzò l'Algol Bulletin; fu anche caporedattore del Rapporto Algol del 1960.[59] 

 

A queste attività Naur abbinò l’insegnamento dell’informatica, presso l'Università tecnica della Danimarca, e dell’astronomia, presso l'Istituto Niels Bohr dell'Università di Copenaghen. 

 

Nel 1969, a Peter Naur fu offerta l'incarico di primo docente d’informatica danese presso l'Università di Copenaghen con l'obiettivo di costruire quello che oggi è conosciuto come DIKU o Dipartimento di Informatica. Naur insegnò fino al 1998. 

 

In un’intervista prima della scomparsa[60] gli chiesero per cosa volesse esser ricordato e lui rispose:

 

Voglio essere ricordato per aver portato il sapere agli altri. Per la divulgazione.". 

 

Naur si spense a 87 anni, dopo una breve malattia, a Copenaghen ed è stato sepolto nella cappella del cimitero di Mariebjerg il 15 gennaio 2016.  

 

Peter Naur è l'unico danese, sino ad oggi, ad aver ricevuto il prestigioso Premio Turing per: “i contributi fondamentali alla progettazione del linguaggio di programmazione e alla definizione di Algol 60, alla progettazione del compilatore e all'arte e alla pratica della programmazione informatica.”.[61]  

 

L’apporto di Peter Naur per ALGOL e la BNF

Come abbiamo visto, nel febbraio del 1959 a Copenaghen, si tenne una conferenza indipendente per contribuire alla realizzazione dell'ALGOL a cui parteciparono una cinquantina di persone tra cui Peter Naur.

 

Fu proprio Naur a proporre delle modifiche per rendere la notazione più compatibile con i diversi dispositivi di scrittura dell’epoca, realizzando la BNF così come la conosciamo oggi. 

 

Se il lettore consulterà il suddetto Rapporto ALGOL del 1960, troverà tutte le modifiche di Naur. Solo per citarne un paio, Naur sostituì:

  •  : con ::=
  • or  con la pipe line |

Anche se ai nostri occhi queste modifiche possono apparire di poco conto, nel 1960 ciò significava agevolare enormemente i contributori al progetto ALGOL.

 

Per quel che riguarda poi il nome Backus Normal Form e il relativo acronimo BNF sono da attribuire a Saul Gorn[62]

 

 [58] Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (17 August 2016). "Profile of IFIP Working Group 2.1". Foswiki. Archived from the original on 8                     March 2021. Retrieved 2 September 2020. 

 [59] Cfr.: https://www.britannica.com/biography/Peter-Naur 

 [60] Cfr.: Devantier, Nicolai (4 gennaio 2016). "Den verdensberømte it-dansker Peter Naur er død". Computerworld 

 [61] Cfr.: "ACM Winner 2005 Peter Naur - Profile". Association for Computing Machinery. URL consultato il 11 marzo 2023 

 [62] Knuth, Donald E. (1964). "Backus Normal Form vs. Backus Naur Form". CACM. 7 (12): 735– 736. DOI:10.1145/355588.365140

 


La lettera di Donald Knuth per ribattezzare la BNF

È un’altra beautiful mind a scrivere, nel 1964, una lettera all'editore del Communications ACM per proporre un cambio di nome alla notazione di Backus che, all’epoca, era comunemente chiamata Backus Normal Form; si trattava di un giovanissimo matematico: Donald Knuth, all’epoca alle prese col suo dottorato di ricerca presso il California Institute of Technology, dove successivamente  lavorò come associato. 

 

Dopo aver ricevuto l'incarico di scrivere un libro sui compilatori, si dedicò alla scrittura di quella che si sarebbe estesa a un'opera in più volumi, destinata a divenire un classico dell'algoritmica, The Art of Computer Programming

 

Ho deciso di tradurre e riportare la lettera di Knuth a conclusione di questo lungo capitolo sulla storia iniziale di ALGOL e della BNF per fornire un quadro abbastanza completo al lettore su quelle vicende così lontane ma, al contempo, tanto ricche di passione per la nascente scienza informatica.

 

Caro editore:

Negli ultimi anni è diventata consuetudine fare riferimento alla sintassi presentata alla maniera dell'ALGOL 60 riportata come "Backus Normal Form".

 

Non sono sicuro di dove abbia avuto origine questa terminologia; personalmente ricordo di averlo letto per la prima volta in un articolo di indagine di S. Gorn [1].

 

Molti di noi che lavorano sul campo non si sono mai preoccupati del nome Backus Normal Form perché non è una "forma normale" nel senso convenzionale.

 

Una forma normale di solito si riferisce a una sorta di rappresentazione speciale che non è necessariamente una forma canonica; ad esempio, non è difficile trasformare qualsiasi sintassi “Backus Normal” Form in modo che tutte le definizioni tranne la definizione di <vuoto> abbiano una delle tre forme:

 

(i) <A> ::= <B> | <C>

(ii) <A> :: = <B> <C>

(iii) <A> ::= a.

 

(Si può dire che una sintassi in cui tutte le definizioni hanno una tale forma sia in "Floyd Normal Form" poiché questo punto è stato sollevato per la prima volta in una nota da Robert W. Floyd [2]. Ma mi affretto a ritirare tale termine da un ulteriore uso poiché senza dubbio molte persone hanno utilizzato indipendentemente questo semplice fatto nel proprio lavoro, e il punto è solo incidentale rispetto alle considerazioni principali della nota di Floyd.).

 

Molte persone si sono opposte al termine Backus Normal Form perché è solo un nuovo nome per un vecchio concetto in linguistica: un tipo equivalente di sintassi è stato utilizzato sotto vari altri nomi (grammatica Chomsky di tipo 2, grammatica della struttura delle fasi semplice, grammatica libera dal contesto, ecc.).

 

C'è ancora una ragione per distinguere tra questi, tuttavia, poiché i linguisti presentano la sintassi sotto forma di produzioni mentre la versione Backus ha una forma completamente diversa. (È un modello per una sintassi, non un modello normale.)

 

Le cinque cose principali che distinguono la forma di Backus dalla forma di produzione sono:

 

i) I simboli non terminali si distinguono dalle lettere terminali racchiudendoli tra parentesi speciali.

ii) Tutte le alternative per una definizione sono raggruppate insieme (cioè, in un sistema di produzione "A → BC, A → d, A →  C" verrebbero scritte tutte invece di "<A> :: = <B> <C> | d | <C>)").

iii) Il simbolo ":: =" è usato per separare sinistra da destra.

iv) Il simbolo "|" è utilizzato per separare le alternative.

v) I nomi completi che indicano il significato delle stringhe in fase di definizione sono usati per i simboli non terminali.

 

Di questi cinque elementi, (iii) è chiaramente irrilevante e il simbolo peculiare ":: =" può essere sostituito da qualsiasi cosa desiderata; "→" è forse meglio, per corrispondere alle produzioni più strettamente.

 

 

 

Ma (i), (ii), (iv), (v) sono entrambi importanti per il potere esplicativo di una sintassi. È abbastanza difficile sondare il significato di un linguaggio definito dalle produzioni, rispetto alla documentazione fornita da una sintassi che incorpora (i), (ii), (iv), (v). (D'altra parte, è molto più facile fare manipolazioni teoriche usando sistemi di produzione ed evitando sistematicamente (i), (ii), (iv), (v).)

 

Per questo motivo, la forma di Backus merita un nome distintivo speciale. In realtà, tuttavia, solo (i) e (ii) furono realmente usati da John Backus quando propose la sua notazione; (iii), (iv), (v) sono dovuti a Peter Naur che ha incorporato queste modifiche durante la stesura del rapporto ALGOL 60. Le aggiunte di Naur (in particolare (v)) sono piuttosto importanti.

 

Inoltre, se non fosse stato per il lavoro di Naur nel riconoscere il potenziale delle idee di Backus e nel renderle popolari con il comitato ALGOL, il lavoro di Backus sarebbe andato praticamente perso e gran parte della conoscenza che abbiamo oggi di linguaggi e compilatori non sarebbe stata acquisita.

 

Pertanto propongo che d'ora in poi si dica sempre "Backus Naur Form" invece di “Backus Normal Form”, quando ci si riferisce a tale sintassi. Questa terminologia ha diversi vantaggi:

 

(1) Dà il giusto credito sia a Backus che a Naur;

(2) Conserva l'abbreviazione "BNF" usata spesso;

(3) Non chiama una Forma Normale una Forma.

 

Dico Backus Naur Form da circa due mesi ormai e ne sono ancora abbastanza soddisfatto, quindi penso che forse anche tutti gli altri apprezzeranno questo termine.

 

[1] GORN, S. Specification languages for mechanical languages and their processors -- a baker's dozen. Comm. ACM 4 (Dec. 1961), 532-542.

[2] FLOYD, R. W. Note on mathematical induction in phrase structure grammars. Inform. Contr. 4 (1961), 353-358.

 

 

DONALD E. KNUTH

California Institute of Technology

Pasadena, California

 

 


Ho pensato che anche questo documento potesse tornar utile ad alcuni lettori sotto forma di file docx (544 kB) e PDF (614 kB)


elliott 803 il primo computer per algol

Un doveroso approfondimento su di una storica azienda britannica che firmò decine di computer per gli usi più disparati tra cui l'803, il primo computer su cui girò ALGOL. Per omaggiare quel lontano antenato dei nostri PC ho deciso di realizzare anche una serie di modelli 3D, realizzati con SketchUp 2017 MAKE, i cui file sono tutti scaricabili sia dalla Warehouse di Trimble (previo account) che liberamente da Google Drive 

 

L’azienda - ELLIOTT: dai liuti ai computer

 

Elliott Brothers (London) Ltd è stata una delle prime aziende produttrici di computer degli anni '50 -'60 nel Regno Unito. La Elliott nasceva come bottega di liutai fondata a Londra nel 1804 da William Elliott (1780 o 1781-1853).

 

L’attività informatica fu avviata nel 1946, quando furono impiantati i laboratori di ricerca a Borehamwood e nel 1950 fu realizzato il primo computer Elliott 152.

 

La Elliott ha visto nei suoi laboratori nomi di illustri di pionieri dell’informatica britannica quali:

  • Bobby Hersom, programmatrice impegnata nello sviluppo software del computer sperimentale Nicholas, dal 1953 al 1954, presso la Theory Division dello stabilimento;
  • Sir Tony Hoare, impiegato dall'agosto 1960 al 1968, periodo in cui ha dato un apporto significativo per il sistema operativo del computer Elliott 503; ha implementato  ALGOL 60 sul computer Elliott 802 ed ha realizzato un compilatore ALGOL 60 per Elliott 803.
  • Dina St Johnston, la fondatrice della prima software house inglese che  svolse lì il suo primo incarico da programmatrice dal 1953 al 1958.
  • John Lansdown che inaugurò alla Elliott, nel 1963, l’era del CAD  su un computer Elliott 803.

Nel 1966 la società avviò un impianto di progettazione e produzione di circuiti integrati a Glenrothes, in Scozia, seguito da un laboratorio di ricerca sui semiconduttori di ossido di metallo (MOS).

 

Nel 1967, Elliott Automation si fuse nella società English Electric e nel 1968 la parte informatica della società fu rilevata da International Computers and Tabulators (ICT).

 

La macchina - La serie ELLIOTT 800

 

Nel 1957 la Elliott avviò la serie 800 con una prima macchina sperimentale l'801. Già l’anno successivo l'802 era un modello destinato alla produzione di cui furono venduti sette esemplari tra il 1958 e il 1961. 

 

Il tipo 803, nelle sue due versioni (l'803A prototipato nel 1959 e avviato alla vendita a partire dal 1960 e l'803B prototipato nel 1960 e avviato alla vendita a partire dal 1961) ebbe maggior fortuna vendendo oltre 200 computer a un prezzo unitario di circa 29.000 sterline del 1960 (equivalente a circa 800.000 € nel 2023). 

 

La maggior parte delle vendite riguardava la versione 803B, che possedeva una maggior potenza di calcolo. L’Elliott 803 si diffuse molto soprattutto nelle scuole superiori private e nelle varie università britanniche.  

 

L'Elliott 803 fu anche il computer utilizzato, come data logger,  nel primo sistema di controllo industriale al mondo: l'ISI-609; fu infatti utilizzato per questo scopo nel primo reattore nucleare dual purpose degli Stati Uniti, l'N-Reactor.

 

Oggi sopravvivono due computer Elliott 803 completi. Il primo è di proprietà del Science Museum di Londra, ma non è esposto al pubblico. Il secondo è di proprietà del National Museum of Computing (TNMoC) a Bletchley Park, è perfettamente funzionante e può essere regolarmente visto in funzione dai visitatori. 

Ricostruzione 3D di una tipica installazione di ELLIOTT 803 in un laboratorio universitario nei primi anni '60 basata su di una foto dell'epoca
Ricostruzione 3D di una tipica installazione di ELLIOTT 803 in un laboratorio universitario nei primi anni '60 basata su di una foto dell'epoca

Una foto con i… The Beatles!

 

Avevo appena terminato la stesura delle pagine dedicate all’ALGOL e alla BNF ed ero in cerca di qualche notizia sul primo computer su cui avesse girato quel linguaggio. Così dal web saltò fuori il nome del mitico Elliott 803 e subito cominciai ad aprire siti per acquisire notizie ed immagini.

 

Girovagando per siti dedicati ai computer vintage, ad un certo punto m’imbattei nella foto che vedete nell’angolo destro dell’immagine grande in cui sono ritratti alcuni studenti inglesi, con i classici capelli a caschetto stile The Beatles, che armeggiano intorno ad un Elliott 803.  

 

Una foto bellissima perché ci riporta nei favolosi anni ‘60 quando tutto doveva ancora accadere, tanto che da essa sembra quasi possibile poter ascoltare “She loves You”, un vecchio successo della celebre band inglese. 

 

Non sono nuovo a modellare “cose impossibili” con SketchUp e mentre guardavo questa foto, e altre tratte dalla rete, mi rendevo conto che di questo computer avevo zero dati dimensionali se non quelli striminziti forniti dalla pagina dedicata all’Elliott 803 su Wikipedia inglese. 

 

Ho contattato anche alcuni musei britannici che hanno piena disponibilità della macchina e dei dispositivi ad essa collegati chiedendo del materiale grafico dettagliato, ma non c’è stato niente da fare. Mi sono dovuto arrangiare con quanto ho trovato sul web.

 

Il mio intento era quello di regalare, oltre la parte testuale, anche una serie di modelli 3D a studenti ed appassionati che così avrebbero potuto eventualmente corredare le loro ricerche con del materiale grafico valido e dettagliato.

 

Il lavoro di ricostruzione e modellazione è stato veramente laborioso ed ha richiesto tre mesi di attività con sessioni anche di 7, 8 ore ma credo che ne sia valsa la pena.

 

Niente di grave, solo che mi dispiace di non aver potuto realizzare dei modelli precisi al millimetro e che in alcuni casi addirittura, quando le immagini non erano eloquenti, ho dovuto inventare letteralmente taluni dettagli minimi per completare il lavoro.

 

Se accidentalmente tra i lettori di questa pubblicazione si trovasse un modellista CAD appassionato e ben documentato su questa macchina sarei felicissimo di sapere che sia riuscito a realizzare quei dettagli che io ho potuto solo accennare.

 

Uno slideshow con i modelli 3D dei vari dispositivi realizzati per per la scena complessiva dell'immagine in apertura. In calce all'appendice sono forniti tutti i link per il download gratuiti

Componenti essenziali di un ELLIOTT 803
Componenti essenziali di un ELLIOTT 803

Composizione e principio di funzionamento di un Elliott 803

 

I computer della serie 800 erano macchine con architettura bit-seriale transistorizzate. Questi computer utilizzavano una memoria con nucleo magnetico in ferrite da 4096 o 8192 parole a 40 bit, comprendente 39 bit di parità.  

 

L'unità di elaborazione centrale era alloggiata in un armadio (1) e la sua circuiteria era stampata e composta da circuiti piuttosto elementari in cui la maggior parte dei segnali viaggiava su semplici cavetti elettrici. Una caratteristica insolita, anche per quel periodo, era l'uso di nuclei magnetici impiegati non solo per la memorizzazione ma anche come porte logiche. Questi nuclei logici avevano 1, 2 o 3 avvolgimenti di ingresso, un trigger per la lettura e un avvolgimento di uscita. A seconda della loro polarità, gli impulsi di corrente negli avvolgimenti di ingresso magnetizzavano il nucleo o si annullavano a vicenda. Lo stato magnetizzato del nucleo indicava il risultato di una funzione logica booleana. Per attivare, o azzerare, i core alternativi erano impiegati gli impulsi, designati con alfa e beta non sovrapposti e distribuiti su 2 fili, di un clock bifase. Così, il passaggio da uno a zero produceva un impulso sull'avvolgimento di uscita. I core che ricevevano impulsi di trigger alfa (alpha core) avevano input alimentati dal gate che venivano attivati nella fase beta (beta core). Dal momento che all’epoca i transistor erano costosi e ogni porta logica ne richiedeva uno per amplificare l'impulso dell'avvolgimento di uscita; si faceva in modo che un singolo transistor guidasse gli ingressi di un piccolo numero di core. Se si dovevano pilotare più di 3 ingressi, era possibile pilotare fino a due transistor in più da ciascun core. 

 

Un secondo armadio (2) provvedeva all’alimentazione elettrica della macchina e, nel suo complesso, rappresentava una prima forma di gruppo di continuità, dal momento che il suo ingombro per più della metà ospitava un gruppo di batterie al nichel-cadmio con i relativi caricabatterie. Oltre a questo c’era un UPS supplementare da trasporto (3).

 

Un terzo armadio (4)  conteneva l'archiviazione di massa supplementare basata su di un insolito sistema a nastro magnetico, prodotto da Kodak, della larghezza di una  pellicola cinematografica standard, da 35 mm, rivestita con ossido di ferro. All'epoca questo nastro era utilizzato dall'industria cinematografica per registrare le colonne sonore dei film. Essendo la Elliott locata a Borehamwood, vicina quindi agli studi cinematografici di Elstree e ritenuta la Hollywood britannica, ciò spiega l'uso del supporto con pignone da 35 mm. Ogni bobina da 1000 piedi ~ 304.8 m contenevano 4096 blocchi da 64 parole (4096 x 64 x 39 = 10.223.616 bit, o l'equivalente di circa 1,3 megabyte).

 

Una console di controllo dell'operatore (5) lunga circa un metro e mezzo, consentiva di inserire manualmente istruzioni di basso livello per manipolare indirizzi e dati e poteva avviare, arrestare e far avanzare la macchina; su di essa era presente un cicalino che permetteva all'operatore di giudicare lo stato di un calcolo

 

L'input, l'output e l'archiviazione del programma principale avveniva tramite nastro di carta perforato ad alta velocità da 5 fori e codificato utilizzando il telecodice Elliott. Si scriveva e modificava il programma off-line su di una telescrivente (6) della Creed che, tramite un perforatore meccanico (7) “scriveva”, ad una velocità di 100 cps, il programma  sul nastro di carta; quando era pronto si lo si portava alla macchina che era collegata ad un lettore meccanico (8) e che lo leggeva  a 500 caratteri al secondo dopo di che si andava alla consolle di comando e si agiva sui i pulsanti appropriati per farlo funzionare. L’803 B era corredato anche da un plotter (9).

 

Il sistema necessitava di locali climatizzati poiché assorbiva circa 3,5 kW di potenza nella configurazione minima che arrivava a pesare 820 kg.

 


Collezione modelli 3D elliott 803 scaricabili gratuitamente

FILE 01 A typical installation of an Elliott 803 

DETTAGLI DEL FILE
Componenti  
Materiali   
Poligoni  
Dimensioni  
Google Drive  
3D Warehouse Trimble