Margaret Hamilton, nata nel 1936, è un’informatica e ingegnera del software statunitense. Al MIT Instrumentation Laboratory guidò il gruppo che sviluppò il software di bordo per il programma Apollo.
La sua biografia è fondamentale perché mostra quando il software smette di essere dettaglio accessorio e diventa sistema critico.
Apollo Guidance Computer
Il computer di guida Apollo aveva risorse estremamente limitate. Il software doveva gestire navigazione, priorità, allarmi e condizioni anomale con affidabilità altissima.
Durante Apollo 11, la gestione delle priorità permise al sistema di continuare le funzioni essenziali nonostante allarmi e sovraccarichi.
Gli allarmi 1201 e 1202 durante la discesa lunare mostrarono il valore di questa architettura: il sistema riconobbe il sovraccarico, scartò attività meno urgenti e mantenne le funzioni critiche. Il software diventò parte attiva della resilienza.
Ingegneria del software
Hamilton contribuì a dare dignità tecnica al termine “software engineering”. Scrivere codice per una missione spaziale non significa solo programmare: significa specificare, verificare, prevedere guasti, gestire interfacce e progettare comportamento in condizioni limite.
L’ingegneria entra qui nel dominio dell’immateriale, ma con conseguenze fisiche immediate.
Il lavoro del gruppo Apollo richiese simulazione, revisione, disciplina delle interfacce e controllo delle priorità. In un sistema dove hardware, astronauti e codice interagiscono, molti errori nascono ai confini: tempi, segnali, modalità operative, assunzioni non dichiarate.
Per questo la sua storia non va ridotta all’episodio degli allarmi lunari. Hamilton rese visibile un metodo: costruire software assumendo che l’ambiente possa essere incompleto, rumoroso o inatteso, e progettare comunque risposte ordinate.
Sistemi Critici
Hamilton mostra che la qualità del software non è solo assenza di bug visibili. È capacità di comportarsi in modo prevedibile quando risorse, dati e condizioni operative non sono ideali.
Il punto semantico è centrale: “ingegneria del software” non indica solo scrittura disciplinata del codice, ma governo dell’intero ciclo di comportamento del sistema. Specifiche, test, priorità, recovery e responsabilità operative diventano parte della progettazione.
Eredità
Hamilton è una figura cardine per l’informatica applicata ai sistemi critici. Dopo Apollo, il software non può più essere trattato come parte secondaria dell’hardware.
Nel percorso dell’atlante, la sua voce segna una soglia: il codice diventa infrastruttura di missione.