Elea 9003
Earlier solid state big Computers (1960)
Programma 101
Programma 101 (1965)
to Apple II (1977)
Horizon 4 OCN
Machine Tool and Automation Software
1977 Byte Cover december.jpg
Download docs
Programma 101 Simulator
Virtual Programma 101 Simulator

Marco Galeotti Schultze: some facets of italian ICT and Automation story

Marco Galeotti Schultze

I did enjoy my participation to the Italy Computing and Automation Software development from 1960 to 2010, first as an Olivetti engineer and then as a software house chief scientist. So my story is a statement of an impetuous smart period of italian industry

  Le mie passioni...

Software di Informatica e Automazione in Italia negli anni d'oro

Dagli anni '60 l'Italia è stata uno dei paesi leader nel mondo nelle tecnologie informatiche e di automazione industriale. Burocrazia e politica non erano ancora così ingombranti da fermare la vitalità italiana...Io ho lavorato alla Olivetti negli anni '60 nel software dei primi computer Elea 9003 e nell'automazione industriale, poi sono stato partner di società che hanno dato un contributo allo sviluppo del settore, progettando software su sistemi di elaborazione IBM, Digital Equipment, Data General, per molte diverse applicazioni tecniche e gestionali. Ho sviluppato software per controlli numerici di macchine utensili e automazione robotica per OSAI, ECS, COMAU, TORNOS, e progettato applicazioni industriali di intelligenza artificiale per clienti italiani e stranieri. Voglio ricordare alcune pagine di questa storia di cui sono stato partecipe.


Elea 9003 Programma 101 Horizon 4
Elea 9003 (1960)
Programma 101 (1965)
Horizon 4 (1970)


"Cervelli Elettronici Numerici" : la nascita dell'informatica

Alla fine del 1960, mentre studiavo matematica, leggevo sulle riviste i primi articoli in cui si tentava confusamente di spiegare quali fossero le differenze fra "cervelli elettronici numerici e cervelli elettronici analogici". L'argomento “calcolatori elettronici” era affascinante. Risposi ad un annuncio della Olivetti che cercava “…persone con forte attitudine al pensiero logico e matematico…..da adibire alla programmazione dei calcolatori elettronici…” e incontrai a Milano alcuni dei responsabili della nuova Divisione Elettronica.

Mi raccontarono che la Olivetti aveva messo in piedi qualche anno prima un laboratorio negli USA, a New Canaan, e aveva anche contribuito allo sviluppo di un innovativo progetto dell'Università di Pisa (la C.E.P.: Calcolatrice Elettronica Pisana). Nel 1959 aveva aperto uno stabilimento laboratorio a Borgolombardo, vicino a Milano, affidandone la direzione ad uno scienziato americano di origine cinese, il Dott. Tchou, affiancato da valenti tecnici italiani (Sacerdoti, Perotto, Pacelli). A Borgolombardo confluirono molti tecnici e ricercatori da New Canaan e Pisa.
Il Laboratorio Olivetti era diventato rapidamente il maggior centro di ricerca e sviluppo di calcolatori elettronici in Italia e li erano stati realizzati i primi grandi elaboratori della famiglia poi chiamata Elea (Elaboratore ELettronico Automatico), dapprima a valvole (1V) e poi a transistor (1T).

Alla fine del 1960 il Laboratorio aveva presentato un nuovo potente elaboratore, l’Elea 9003. Questa volta si trattava di una macchina completamente a transistor che per certi versi era più moderna dei calcolatori provenienti dagli USA.
L'Elea 9003 consentì all’Olivetti di entrare da protagonista nel nuovissimo campo dell’elaborazione elettronica delle informazioni, insieme ai grandi di allora del settore: IBM, Univac, Ferranti, altri inglesi e americani.

Elea 9003 1960.jpg
Elea 9003 (1960)
Elea 9003 moduli.jpg
Struttura Elea 9003 (1960)
Elea9003_consolle.jpg
Consolle di comando Elea 9003
Memoria ferrite.jpg
Memoria a nuclei di ferrite Elea 9003
Elea 9003 ManualeProg.jpg
Manuale programmazione Elea 9003
ReferenceFronte.jpg
Pieghevole istruzioni Elea 9003

L’Olivetti invece non aveva ancora raggiunto il livello di americani e inglesi nell’area della "programmazione", cioè nelle tecniche per “insegnare” ai calcolatori “come” eseguire le elaborazioni sia di calcolo numerico sia nella gestione di dati alfanumerici o contabili. L’Elea di base doveva essere programmato tramite complesse sequenze di istruzioni scritte in codici binari (zero/uno, acceso/spento) specifici della circuiteria elettronica mentre inglesi e americani avevano già sviluppato sistemi di programmazione più evoluti che semplificavano drasticamente la preparazione dei programmi.
La nuova macchina ELEA 9003 aveva dunque bisogno di essere dotata dei programmi basilari necessari per il suo funzionamento, cioè di tutto un corredo di software di base comprendente tutti gli elementi utili per generare applicazioni, e cioè compilatori di linguaggi, assemblatori, librerie di gestione dei dati, librerie di calcolo matematico, ecc., senza i quali il sistema era inutilizzabile per qualsiasi compito anche di minima complessità.

La Olivetti aveva perciò deciso all'inizio del 1961 di assumere alcune decine di persone adatte a "programmare" cioè persone dotate di attitudine alla matematica, alla logica, all’analisi dei problemi, che si supponeva fossero adatte a diventare dei “programmatori di calcolatori elettronici”, termine allora sconosciuto.
Fra chi rispose all'annuncio la Olivetti selezionò alcune centinaia di persone che sembravano avere i requisiti giusti e dopo una serie di colloqui e di test attitudinali, soprattutto quiz di tipo matematico e logico, assunse nel febbraio del 1961 una prima dozzina di "programmatori". Io fui fra questi e così ebbe inizio una storia lavorativa che mi ha sempre gratificato, almeno tecnicamente.




Assemblatori, compilatori, linguaggi programmativi

Nello stabilimento/laboratorio di Borgolombardo ci trovammo immersi in un ambiente composto essanzialmente di progettisti di circuiti elettronici e facemmo fatica a capire che cosa ci si aspettava da noi perché il lavoro era così innovativo che neppure i responsabili erano in grado di definirlo esattamente. Dopo un corso introduttivo alla logica interna dei calcolatori cominciammo a capire cosa significava "programmare". Dopo qualche altra settimana eravamo tutti coinvolti e iniziavamo a produrre programmi ben fatti, in un crescendo di interesse.
L’attività era entusiasmante, divenimmo una squadra affiatata, convinta e un pò fanatica, oggi diremmo che percepivamo una "mission", ci sentivamo in competizione con gli americani e volevamo far primeggiare l’Olivetti nel nuovo campo.
Ero uno dei più svegli e abbastanza rapidamente mi furono affidati compiti di qualche responsabilità, divenni il leader di un gruppetto di colleghi per la creazione di moduli di quello che era poi destinato a diventare uno dei linguaggi di programmazione più diffusi, il COBOL.

I linguaggi di programmazione evoluti come il Cobol e il Fortran erano basati su idee futuristiche per allora, e cioè sull’idea di insegnare ai calcolatori ad auto-programmarsi. I calcolatori di allora erano grandi come un appartamento, erano complessi e vulnerabili ai guasti, ed erano soprattutto difficili da programmare. Era necessario sminuzzare qualsiasi compito in migliaia di piccoli passi, definiti “istruzioni in linguaggio macchina” scritti in codici binari, cioè in gruppi di zeri e uni. Un primo timido aiuto fu rappresentato dai cosiddetti linguaggi assembler, dove le stesse istruzioni erano descritte in un modo più comprensibile. Tuttavia era sempre necessario preparare migliaia di istruzioni di estremo dettaglio.

Il vero passo avanti fu appunto rappresentato dai linguaggi evoluti che permettevano di descrivere i compiti attesi dalla macchina in modi assai più sintetici, tramite istruzioni simili ad espressioni matematiche o a comandi “umani”. I programmi scritti in linguaggi evoluti non erano naturalmente comprensibili per i calcolatori, e dovevano essere trasformati nelle corrispondenti migliaia di istruzioni binarie dettagliatissime. Questa funzione era svolta dai cosiddetti “Interpreti o Compilatori” e cioè da programmi capaci di tradurre i comandi di alto livello in sequenze binarie.
L’avvento dei compilatori segnò un decisivo progresso dell’uso dei calcolatori e rese possibile lo sviluppo di svariati programmi applicativi in tutti i campi.

I documenti originali ricevuti dai laboratori delle università USA negli anni 60 e che ci introdussero ai fondamenti teorici dell'informatica e della progettazione assistita da calcolatore


Formal definition of machine languages

CompilerCompilerSystem Lincoln Labs

Associative Processing Lincoln Labs



Artificial Languages Translation at MIT

Sutherland Sketchpad Lincoln Labs

Coons Surfaces definition by MIT Labs

Con grande entusiasmo divenni responsabile di una parte del progetto di questi strumenti allora “avveniristici”. Purtroppo l’entusiasmo mi portò anche a trascurare i miei studi del corso di laurea in matematica (che peraltro è sempre stata una mia grande passione) e potei riprenderli in parte solo molti anni dopo.
Il mio primo lavoro di responsabilità all’interno del Laboratorio fu appunto nella realizzazione dei programmi compilatori, in particolare per il linguaggio COBOL appena arrivato dagli USA, divenuto rapidamente il linguaggio principe in tutto il mondo per le applicazioni gestionali.

L’Olivetti volle inventare un COBOL italiano e lo chiamò PAC (stava per Programmazione Automatica Commerciale). Sotto la direzione di Mauro Pacelli e Carlo Vandoni io partecipai con pochi altri colleghi (fra i quali Luciano Lusso e Carlo Bauducco) alla preparazione del compilatore PAC per l’Elea 9003 ed ebbi modo di proporre alcune tecniche originali per la generazione dei codici binari partendo dalle istruzioni sintetiche del linguaggio PAC (sistemi Pasge e Sigmai, molti anni dopo ritrovai gli stessi principi nello AWK di Unix..).

Nel Laboratorio di Ricerche Elettroniche di Borgolombardo stavano nel frattempo nascendo anche i primi progetti di automazione industriale elettronica, ad opera di un geniale ingegnere canadese, Joseph Elbling. Quando ebbi occasione di vedere i primi sistemi di Controllo Numerico di macchine utensili ne fui affascinato, si intravedevano i germi della fabbrica automatica e della robotica. Quando poi capii che molte delle tecniche di programmazione evoluta che stavamo sviluppando potevano essere applicate anche nell'automazione dei macchinari accettai con interesse la proposta di Elbling di creare un nuovo gruppo dedicato totalmente alla programmazione nel nuovo promettente settore.


Elea 9003
Earlier solid state big Computers (1960)
Programma 101
Programma 101 (1965)
to Apple II (1977)
Horizon 4 OCN
Machine Tool and Automation Software
1977 Byte Cover december.jpg
Download docs
Programma 101 Simulator
Virtual Programma 101 Simulator

E-mail:   marco@marcogaleotti.com