Margaret Hamilton e il codice che che salvò lo sbarco sulla Luna

0
3796
Margaret Hmilton e il computer dell'Apollo 11

Sono le 20:17 del 20 luglio 1969 e la navicella Apollo 11 tocca il suolo lunare: è la prima volta dell’uomo sulla Luna. Questo però poteva non succedere, perché qualcosa poco prima era andato storto.

A tre minuti dall’allunaggio

Siamo a tre minuti dell’allunaggio quando sulla navicella si attiva il radar di randevouz (non necessario in fase di atterraggio), sovraccaricando il computer di bordo di dati in ingresso: non potendo gestire tutte quelle funzioni, rischia di andare in crash e la navicella di schiantarsi sul suolo lunare, con tutto il suo equipaggio.

La Terra vista dalla Luna

Dall’Apollo 11 chiedono istruzioni alla Terra: sarebbero dovuti rientrare e rinunciare alla missione? Dalla base rispondono che ci avrebbe pensato il software stesso a risolvere il problema. La macchina, infatti, mentre scendeva avrebbe stabilito le priorità, ignorando le funzioni non necessarie. Così fu.

Ma chi aveva reso possibile tutto ciò?

Margaret Hamilton

Si chiama Margaret Hamilton, responsabile del team di sviluppo del software dell’Apollo Guidance Computer, il computer di bordo del modulo di comando e del modulo lunare di Apollo 11.

Siamo agli albori di quella che oggi è chiamata ingegneria del software.

L’intuizione della Hamilton aveva infatti previsto il conflitto di informazioni che si sarebbe avuto nella fase di allunaggio e aveva agito di conseguenza, organizzando i compiti per priorità.

Il computer, infatti, saturo per l’eccessiva mole di dati di ingresso provenienti da un altro sistema e non indispensabili quella fase, non riusciva ad elaborare quelli necessari all’atterraggio. La Hamilton aveva però programmato un sistema per distinguere le priorità in caso di emergenza.

“Il computer (o meglio, il software che stava eseguendo) era sufficientemente furbo da riconoscere che era richiesta l’esecuzione di più processi rispetto a quelli che poteva sostenere. Inviò quindi un allarme, che significava per gli astronauti “sono sovraccarico con più attività di quelle che potrei fare in questo momento e mi accingo a mantenere in esecuzione solo le più importanti”; ovvero, quelle richieste per l’atterraggio” – spiega la stessa Hamilton in una lettera del 1971 – In effetti il computer era programmato per fare più che riconoscere le condizioni di errore. Un insieme completo di procedure di ripristino era incorporato. L’azione eseguita dal software, in questo caso, fu quella di eliminare i processi a priorità più bassa e ripristinare i più importanti”.

Questa donna, non ancora 30enne, aveva salvato lo sbarco sulla luna.

modulo lunare dell'Apollo 11

Margaret Hamilton

Laureatasi in matematica presso l’università del Michigan, si era trasferita nel 1960 a Boston per fare ricerca sulla “matematica pura” ottenendo un impiego temporaneo al MIT dove aveva lavorato allo sviluppo di un software per le previsioni meteo. Era poi stata contattata dalla NASA e inserita nel programma Apollo.

E’ celebre una foto che ritrae la Hamilton accanto ad una pila di fogli alta quanto lei: il codice sorgente del software dell’Apollo Guidance Computer, migliaia di righe in linguaggio assembly.

Margaret Hamilton e il codice dell'Apollo 11

Il 22 Novembre del 2016 Maragaret Hamilton ha ricevuto dall’allora Presidente degli Stati Uniti Barak Obama, la Medaglia presidenziale della libertà, la più alta onorificenza che possa essere data ad un civile americano, per il suo fondamentale contributo nelle missioni Apollo.

Per chi volesse dare un’occhiata al codice del software dell’Apollo Guidance Computer, lo può trovare pubblicato sul popolare sito per programmatori GitHub -un sito di condivisione di codici -da Chris Garry, ex dipendente NASA . E vi troverà anche una serie di divertenti messaggi umoristici, come il BURN_BABY_BURN–MASTER_IGNITION_ROUTINE, ispirato a una frase recitata da un popolare conduttore radio degli anni ’60 quando lanciava i dischi del momento, linea inserita, presumibilmente, tra i comandi per l’accensione dei motori.

Codice dell'Apollo 11

Qui potete trovare alcuni libri da leggere per ricordare lo sbarco sulla Luna