IN EVIDENZA

Margaret Hamilton e il codice che salvò Apollo 11

Una programmatrice, un software, un atterraggio sulla Luna

Alle 22.17 minuti (ora italiana) del 20 luglio 1969, il Modulo Lunare della missione Apollo, con a bordo gli astronauti Neil Armstrong e Buzz Aldrin, toccò dolcemente il suolo lunare. Qualche ora dopo, alle 4.56 del mattino, Neil Armstrong divenne il primo essere umano a camminare sulla Luna.

Si parla molto della grande quantità di tecnologia utilizzata durante il programma Apollo, soprattutto per quanto riguarda le innovazioni ingegneristiche che hanno permesso di compiere un’impresa del genere.

Molta meno attenzione ha ricevuto il software presente nell’Apollo Guidance Computer, il computer di bordo presente sia nel modulo lunare che in quello di comando.

Il programma venne scritto da un team del MIT Instrumental Laboratory (oggi Draper Laboratory), guidato da Margaret Hamilton. Senza il minuzioso lavoro di Hamilton e dei suoi colleghi, la camminata lunare dei due astronauti non sarebbe mai avvenuta.

Margaret Hamilton a fianco del codice da lei scritto per il programma Apollo
Margaret Hamilton a fianco del codice da lei scritto per il programma Apollo

Pochi minuti prima dell’allunaggio, scattarono gli allarmi. Il radar che sarebbe stato utilizzato per il rientro sul modulo di comando (e che in quel momento non aveva alcun ruolo) venne attivato per errore. Il radar iniziò a mandare al computer una enorme quantità di dati, frutto anche del rumore elettrico casuale provocato dalle alimentazioni non compatibili dei due dispositivi. Il sovraccarico del computer comportava un rischio enorme: non lasciava più spazio per i calcoli necessari a garantire l’allunaggio.

Margaret Hamilton all'interno del Modulo di Comando Apollo
Margaret Hamilton all’interno del Modulo di Comando Apollo

Margaret Hamilton aveva previsto questa eventualità mentre scriveva il software. Il programma, infatti, venne sviluppato non solo per accorgersi e segnalare un problema di sovraccarico. Era in grado di “smistare” e organizzare i compiti che venivano assegnati: i processi più importanti, fondamentali per lo sbarco sulla Luna, potevano interrompere quelli non necessari. In quei concitati istanti il software agì come previsto.

«Se il computer non avesse individuato il problema e non lo avesse risolto, dubito che la missione Apollo 11 sarebbe giunta a buon fine» scrisse Hamilton in una lettera del marzo 1971.

Margaret Hamilton oggi ha 78 anni ed è a capo della Hamilton Technologies, la compagnia che ha fondato nel 1986 di sviluppo di software. Fu lei stessa a coniare l’espressione “Software Engineering”.

Margaret Hamilton nel 1989
Margaret Hamilton nel 1989

In quegli anni era frequente che i software venissero sviluppati da donne, a causa del fatto che non erano ritenuti così importanti. «Fu allora che iniziai a usare il termine “software engineering”, per distinguere il mio lavoro dalle altre branche di ingegneria», racconta Hamilton in un’intervista, «quando usai per la prima volta quell’espressione, venne considerata come qualcosa di comico, buffo».

Sviluppare computer e software del genere era particolarmente laborioso. Basti pensare che il computer di bordo utilizzava quella che viene chiamata Core Rope Memory, un tipo di ROM (Read Only Memory), composta da cavi intrecciati con particolari componenti in metallo che memorizzavano il codice binario.

La Core Rope Memory di Apollo
La Core Rope Memory di Apollo

Se il cavo passava attraverso la componente metallica, rappresentava un “1”, se, invece, passava attorno al metallo, esso rappresentava uno “0”. Il fatto straordinario è che questo sistema veniva assemblato a mano, in gran parte da lavoratrici di fabbrica. Fu per questo che la Core Rope Memory divenne nota tra gli ingegneri come LOL Memory: un acronimo che sta a significare “Little Old Lady”.

Leggi anche: Il cibo nello spazio

Pubblicato con licenza Creative Commons Attribuzione-Non opere derivate 2.5 Italia.   
Crediti immagine: NASA

Condividi su
Gianluca Liva
Giornalista scientifico freelance.