Margaret H. Hamilton: Apollo Computer Programmer

Margaret H. Hamilton è una scienziata informatica che è stata determinante per gli sforzi della NASA per far atterrare gli esseri umani sulla luna negli anni 1960 e 1970. Per il suo lavoro, è stata premiata con la Medaglia presidenziale della libertà nel 2016.

Hamilton ha guidato la divisione di ingegneria del software al Laboratorio di strumentazione del Massachusetts Institute of Technology. In quel ruolo, ha preso la guida sul software utilizzato per governare le dinamiche di volo del veicolo spaziale Apollo, che sono stati utilizzati per sei missioni di atterraggio tra il 1969 e il 1972.

“Hamilton ha contribuito ai concetti di software asincrono, programmazione e visualizzazione della priorità, e capacità di decisione human-in-the-loop, che ha posto le basi per la moderna progettazione e ingegneria del software ultra-affidabile”, la citazione per la sua medaglia ha letto.

Risultati iniziali

Hamilton ha un background diversificato, tra cui una laurea in matematica all’Earlham College in Indiana, e un lavoro post-laurea in meteorologia al MIT. Oltre al suo lavoro in Apollo, ha fatto parte del MIT Lincoln Laboratory’s Semi-Automatic Ground Environment Air Defense System, o SAGE. Secondo il MIT, questo fu il primo sistema di difesa aerea per il paese e contribuì a spingere il calcolo digitale negli anni ’50 e ’60.

Il laboratorio di strumentazione del MIT ricevette il contratto per i sistemi di guida e controllo dell’Apollo il 9 agosto 1961, quando gli Stati Uniti avevano compiuto solo due voli spaziali – entrambi con un solo membro dell’equipaggio a bordo, ed entrambi nello spazio suborbitale. Il contratto è stato assegnato poche settimane prima che l’allora presidente John F. Kennedy annunciasse che prevedeva di avere esseri umani sulla luna entro la fine del decennio.

I sistemi di guida e controllo si sarebbero applicati sia al modulo lunare (che sarebbe atterrato sulla luna) che al modulo di comando (che avrebbe orbitato intorno alla luna mentre il modulo lunare era sulla superficie, per poi ospitare gli astronauti nel loro viaggio verso casa). Aveva lo scopo di guidare le navicelle una volta che avessero raggiunto l’orbita terrestre.

Dopo una sola missione con equipaggio in orbita terrestre – Apollo 7 all’inizio del 1968 – la NASA decise di inviare il modulo di comando dell’Apollo 8 da solo quel dicembre in una missione orbitale verso la luna, per paura che l’Unione Sovietica ci arrivasse prima. L’Apollo 9 testò per la prima volta il modulo lunare e il modulo di comando insieme in orbita terrestre, e poi le due navicelle furono testate di nuovo in orbita lunare per l’Apollo 10.

Il coronamento della missione, Apollo 11 nel luglio 1969, vide Neil Armstrong e Buzz Aldrin scendere fino alla superficie nel modulo lunare, tornare in sicurezza al modulo di comando (pilotato da Mike Collins) e tornare a casa sulla Terra.

Gli allarmi 1201 e 1202

Ma un incidente software fece quasi deragliare l’atterraggio, come ha ricordato Hamilton in un’intervista del 2009 al MIT. “Tutto stava andando secondo i piani fino a quando qualcosa di totalmente inaspettato è accaduto, proprio mentre gli astronauti stavano per atterrare sulla luna”, ha ricordato.

“Tutto ad un tratto, le normali sequenze della missione sono state interrotte dalla visualizzazione prioritaria degli allarmi 1201 e 1202, dando agli astronauti una decisione go/no-go (atterrare o non atterrare)”, ha aggiunto. “È stato subito chiaro che il software non solo stava informando tutti che c’era un problema legato all’hardware, ma che il software lo stava compensando. Con solo pochi minuti a disposizione, è stata presa la decisione di andare per l’atterraggio.”

Mentre è stata presa una decisione sul momento per far atterrare gli astronauti, Hamilton ha sottolineato che è stata fatta un’analisi dei guasti per vedere dove è stato commesso l’errore. Si è scoperto che la lista di controllo degli astronauti, che regolava le azioni che l’equipaggio doveva fare prima dell’atterraggio, aveva fatto impostare l’interruttore hardware del radar di rendezvous nella posizione sbagliata. Questo ha sovraccaricato l’unità di elaborazione centrale durante l’atterraggio, ma fortunatamente, il software ha recuperato nei momenti caldi prima che l’Apollo 11 toccasse terra.

“Ogni volta che la CPU si avvicinava al sovraccarico, il software cancellava la sua intera coda di processi, riavviando le sue funzioni; permettendo solo quelle ad alta priorità da eseguire fino a quando l’atterraggio era completato”, ha detto. Con l’errore risolto, gli atterraggi lunari di Apollo 12, 14, 15, 16 e 17 furono resi possibili. (L’Apollo 13 abortì prima dell’atterraggio a causa di un’esplosione nell’area di servizio del modulo di comando.)

L’informatico Margaret Hamilton posa per una serie di foto con il software di guida Apollo che lei e il suo team hanno sviluppato al MIT Instrumentation Laboratory. (Image credit: MIT Museum)

L’eredità di Hamilton

La NASA rimase così colpita dal software utilizzato nell’Apollo che la base di esso fu adattata per lo Skylab (la prima stazione spaziale statunitense), lo Space Shuttle (il primo stazione spaziale), lo space shuttle (che ha eseguito più di 100 missioni di successo in orbita terrestre – e due fallimenti fatali – tra il 1981 e il 2011) e i primi sistemi digitali fly-by-wire negli aerei.

“Hamilton è stata onorata dalla NASA nel 2003, quando le è stato presentato un premio speciale che riconosce il valore delle sue innovazioni nello sviluppo del software Apollo”, la NASA ha scritto nel 2016. “Il premio includeva il più grande premio finanziario che la NASA avesse mai presentato a qualsiasi individuo fino a quel momento.”

Hamilton ha poi lasciato il MIT per avviare la propria società di software, ma il suo nome è ancora più riconosciuto per i suoi successi nell’allunaggio. Il suo nome era chiaramente visibile quando l’intero codice sorgente dell’Apollo 11 è stato rilasciato su GitHub nel 2016; secondo il MIT, la prima riga completa del software diceva: “SUBMITTED: MARGARET H. HAMILTON DATA: 28 MAR 69 / M.H.HAMILTON, CAPO PROGRAMMAZIONE COLOSSUS / GUIDA E NAVIGAZIONE APOLLO.”

Per Hamilton, anche se Apollo 11 è stato monumentale, ha apprezzato la sfida di fare il suo lavoro per esso. “Dal mio punto di vista, l’esperienza stessa del software (progettarlo, svilupparlo, farlo evolvere, guardarlo funzionare e imparare da esso per i sistemi futuri) è stata eccitante almeno quanto gli eventi che hanno circondato la missione”, ha detto.

Recenti notizie

{{ articleName }}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.