articolo scritto in in collaborazione con Laboratorio-Museo Tecnologic@mente – L’Innovazione OlivettiÂ
Sommario
Questo articolo parla di una storia vera. La storia dell’uso della Olivetti P101, il primo Personal Computer della storia dell’informatica, alla NASA, l’agenzia spaziale statunitense, nell’ambito del Programma Apollo. Nell’esempio descritto, la Olivetti P101 svolge un ruolo fondamentale nel calcolo delle manovre di cambiamento di orbita e rendez-vous delle navicelle spaziali.
Abstract
This article is about a true story. The history of the use of the Olivetti P101, the first Personal Computer in the history of information technology, by NASA, the US space agency, as part of the Apollo Programme. In the example described, the Olivetti P101 plays a fundamental role in calculating the orbit change and rendezvous maneuvers of the spacecrafts.
Keywords
NASA, Olivetti, P101, Personal Computer
Introduzione
Questo lavoro nasce nel cuore di Ivrea, al Laboratorio-Museo Tecnologic@mente -L’Innovazione Olivetti (un progetto della Fondazione Natale Cappellaro) proprio in quei luoghi dove è nata la Olivetti P101 [1]. Qui diverse generazioni di persone, che hanno dedicato alle tecnologie digitali buona parte della loro vita, si incontrano regolarmente per raccontare l’affascinante storia industriale della Olivetti a tutte le generazioni e con linguaggi diversi: dall’arte al design, dalla scienza alla tecnologia. Si fanno passeggiate tra le architetture Olivettian e (oggi “Ivrea, città industriale del XX secolo” è il nome con il quale Ivrea è stata inserita nella lista dei patrimoni dell’umanità dall’UNESCO), giochi, “palestre del pensiero” e attività didattiche. Qui si incontrano Gastone Garziera, Giovanni De Sandre, Giuliano Gaiti (mancato recentemente) del team storico di progetto della Olivetti P101 diretto nel 1963 dall’Ing.Piero Giorgio Perotto (1930-2002), e persone più giovani (ma non di molto) che hanno contribuito insieme a loro a questo articolo. Alcune hanno avuto proprio Garziera e De Sandre come responsabili alla Ricerca e Sviluppo Olivetti negli anni ’70 del secolo scorso. Un giorno del 2019 Garziera e De Sandre portano un documento della NASA (National Aeronautics and Space Administration) del 1968 [2] (vedi fig.1). Da quel giorno, con frequenza “aperiodica” si ritrovano a discutere di come poter raccontare con un linguaggio semplice ma rigoroso quel documento storico anche utilizzando i preziosi appunti di Giuliano Gaiti.
In questo articolo, come esempio, viene descritto ed esplorato in dettaglio il “Program 1” della NASA riportato a pag.13 del documento stesso (vedi fig.2).
Il programma Apollo èuniversalmente noto come il progetto spaziale statunitense culminato con lo sbarco di un essere umano sulla Luna il 20 Luglio 1969. Quel giorno Neil Armstrong e Buzz Aldrin mettono piede sulla Luna e Michael Collins li aspetta restando in orbita lunare per poi ritornare insieme sulla Terra [3].
Le tecnologie digitali hanno svolto un ruolo fondamentale nel programma Apollo: dal software di bordo della navicella spaziale, scritto da Margaret Hamilton, nota come la prima software engineer della storia [4], alle ricerche sui primi circuiti integrati. Forse meno noto èl’utilizzo della Olivetti P101 alla NASA nell’ambito del programma Apollo.
Le caratteristiche principali della Olivetti P101 sono: la sua portabilità , programmabilità (il suo linguaggio di programmazione permette il “salto condizionato”, essenziale per implementare i tre costrutti fondamentali “sequenza”, “bivio”, “ciclo”, necessari per la codifica di qualsiasi algoritmo) e interattività (input e output disponibili direttamente all’utente tramite tastiera e stampante). Inoltre, novità assoluta per l’epoca, permette di salvare i programmi e i dati in comode schedine magnetiche tascabili [5]. Per tutto questo, viene unanimemente riconosciuto come il primo Personal Computer della storia, come scrive il 15 Ottobre del 1965 il Wall Street Journal, dopo la prima apparizione al padiglione Olivetti alla manifestazione della Business Equipment Manufacturers Association (BEMA) di New York del 1965 [6].
Perchéla NASA adotta la Olivetti P101 per il suo programma Apollo? La risposta si trova nel documento principale della NASA che ha ispirato questo articolo (vedi fig.1). Infatti il viaggio di andata e ritorno dalla Terra alla Luna richiede molti aggiustamenti di orbita (vedi fig.3).
Nel documento della NASA si spiega dettagliatamente che durante le fasi di test del progetto Apollo sono richieste molte manovre di cambio di orbita e di rendez-vous e quindi:
“…This suggests a need for a method that quickly and accurately estimates the changed maneuver. This document provides both a graphical (plots) and an analytical method (Olivetti programs) for estimating the delta V requirements for the orbital transfer maneuvers” [2].
In altre parole, per questi test nasce la necessità di avere un metodo che rapidamente(vedi l’interattività fornita dalla Olivetti P101) e accuratamente(vedi la precisione della Olivetti P101 fino a nove cifre decimali) permetta il calcolo analitico delle variazioni di velocità richieste per le manovre di cambio di orbita.
Nel presente lavoro ci si concentra proprio nel calcolo di ΔV, in particolare delle due variazioni della velocità ΔV x e Δ V z necessarie a portare il satellite dall’orbita attuale a d una nuova orbita ellittica.
Il Program 1 della NASA (analisi)
Prima di entrare nei dettagli del Program 1 si può sintetizzare il suo scopo principale:
-in inputal programma (con le istruzioni “S” della Olivetti P101) vengono forniti:
Il Program 1 della NASA (codifica con Olivetti P101)
Per descrivere la codifica del Program 1 della NASA in linguaggio di programmazione della Olivetti P101 si può affiancare l’INSTRUCTION LISTING OF PROGRAM 1 del documento originale ad una descrizione affiancata ai cambiamenti interni alla macchina tramite i suoi registri (vedi fig.6):
Si puònotare un uso molto sofisticato delle istruzioni e dei registri da parte delle persone della NASA che programmavano la Olivetti P101 (vedi fig.7).
BIBLIOGRAFIA
[1] Perotto, P.G. (2015). P101. Quando l’Italia inventò il personal computer, Edizioni di Comunità .
[2] Miller S.L., Griffith D.J. (1968, January 30). Methods for determining the orbital transfer requirements, National Aeronautics and Space Administration (NASA), Mission Planning and Analysis Division, Orbital Mission Analysis Branch, MSC INTERNAL NOTE NO. 68-FM-25, Manned Spacecraft Center, Houston, Texas.
[3] Brooks C.G., J.M. Grimwood, L.S. Swenson (1979). Chariots for Apollo: A History of Manned Lunar Spacecraft, NASA Special Publication-4205, NASA History Series, 1979.
[4] NASA (2010). About Margaret Hamilton. A scientific study of the problems of digital engineering for space flight systems, with a view to their practical solution, Office of Logic Design, NASA.
[5] Olivetti (1965). Manuale di programmazione, Programma 101.
[6] WSJ (1965, 15 October). Desk-top size computer is being sold by Olivetti for firsttime in US, Wall Street Journal.
Docente di Computer Ethics alla Scuola di Dottorato del
Politecnico di Torino, rappresentante nazionale italiano al TC9 TC9-Technology and
Society dell'IFIP (International Federation for Information Processing), membro
dell'ACM (Association for Computing Machinery) Committee on Professional
Ethics e dell'ACM SIGCAS (Special Interest Group on Computers and Society).
Dal 1974 al 1999 ha lavorato alla Ricerca Olivetti di Ivrea. Ha conseguito il diploma
in Elettronica all'I.T.I. Montani di Fermo, la laurea in Informatica all'Università di
Torino e il dottorato di ricerca in Computer Ethics alla Uppsala University (Svezia).