Remove ads
scienziata e matematica statunitense Da Wikipedia, l'enciclopedia libera
Margaret Heafield Hamilton (Paoli, 17 agosto 1936) è un'informatica, ingegnere e imprenditrice statunitense.
È stata la direttrice del Software Engineering Division del MIT Instrumentation Laboratory, che sviluppò il software di bordo per il programma Apollo[1]. Il team della Hamilton fu in grado di risolvere le complicazioni relative allo sbarco dell'Apollo 11 sulla Luna, garantendo il successo della missione.[2] Nel 1986, Hamilton fondò la Hamilton Technologies, Inc. nella città di Cambridge, Massachusetts. La società nacque per sviluppare il cosiddetto Universal Systems Language basato sul paradigma di Development Before the Fact (DBTF) per la progettazione di sistemi e di software.[3]
Ha pubblicato più di 130 articoli, atti e relazioni su vari argomenti; ha lavorato a 60 progetti ed è stata coinvolta in sei grandi programmi.
Nata a Paoli (Indiana) da Kenneth Heafield e Ruth Ester Heafield (nata Partington)[4], si è diplomata alla Hancock High School nel 1954; successivamente si è laureata in matematica presso l'Università del Michigan e ha poi conseguito la laurea in matematica e filosofia presso l'Earlham College nel 1958[5]. Fino alla laurea, per un breve periodo, ha insegnato matematica e francese alle scuole superiori, allo scopo di sostenere il marito nei suoi studi di primo livello a Harvard, con lo scopo di conseguire un titolo di secondo livello in un secondo momento. Si è trasferita a Boston con l'intenzione di fare ricerca nell'ambito della matematica pura alla Brandeis University. Nel 1960 ha ottenuto un impiego temporaneo al Massachusetts Institute of Technology (MIT) per sviluppare software per le previsioni meteo per i calcolatori LGP-30 e PDP-1 per un progetto del professor Edward Norton Lorenz, del dipartimento di meteorologia.[6] A quel tempo, informatica e ingegneria del software non erano ancora discipline universitarie; al contrario, i programmatori si formavano facendo esperienza sul campo.[1]
Dal 1961 al 1963, Margaret Hamilton ha lavorato al progetto Semi Automatic Ground Environment (SAGE) presso i Lincoln Labs. Il progetto SAGE era un'estensione del progetto Whirlwind, avviato dal MIT e volto allo sviluppo di un sistema informatico per le previsioni e simulazioni meteorologiche. Il SAGE era stato quindi sviluppato ad uso militare, come sistema di difesa antiaerea in previsione di possibili attacchi sovietici durante la guerra fredda. Hamilton disse in merito al suo lavoro per il progetto:
«What they used to do when you came into this organization as a beginner, was to assign you this program which nobody was able to ever figure out or get to run. When I was the beginner they gave it to me as well. And what had happened was it was tricky programming, and the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work»
«Quello che erano soliti fare quando entravi, senza esperienza, in questa organizzazione, era di assegnarti un programma che nessuno era in grado nemmeno di capire come far funzionare. Quando ero alle prime armi lo diedero anche a me, e quel che successe è che si trattava di un programma pieno d'insidie e la persona che lo aveva realizzato si era divertita a commentare il codice in greco e in latino. Così, fui assegnata a questo programma e riuscii a farlo funzionare. Addirittura riportava l'output in greco e latino. Fui la prima a riuscire a farlo funzionare»
Grazie al suo contributo al progetto, è diventata una candidata per la posizione di capo sviluppo per il software di volo del programma Apollo alla NASA.
Hamilton entrò quindi al Charles Stark Draper Laboratory al MIT, che all'epoca stava lavorando alle missioni Apollo, dove divenne infine direttrice e supervisore dello sviluppo software per i programmi Apollo e Skylab.[8] Alla NASA, il team diretto da Hamilton era responsabile dello sviluppo del software che avrebbe guidato le capsule del programma Apollo nella navigazione e nell'atterraggio sulla Luna, nonché le sue molteplici varianti usate in altri progetti successivi, tra i quali Skylab.[1]
Le scelte progettuali del gruppo di Hamilton e del sistema operativo di J. Halcombe Laning si rivelarono cruciali e, in uno dei momenti critici durante lo svolgimento della missione Apollo 11, ne evitarono l'abbandono.[10][11] Tre minuti prima dell'atterraggio del lander sulla superficie lunare, scattarono diversi allarmi in quanto il computer era sovraccarico di dati in ingresso, a causa del fatto che il sistema radar di rendezvous (non necessario in fase di atterraggio) stava aggiornando un contatore, impegnando il computer in cycle stealing. Tuttavia, grazie allo scheduler pre-emptive a priorità fissa, i processi impegnati nell'atterraggio, a priorità maggiore, interruppero i processi a priorità minore.[11] Il difetto è stato attribuito poi ad una checklist errata.
«Due to an error in the checklist manual, the rendezvous radar switch was placed in the wrong position. This caused it to send erroneous signals to the computer. The result was that the computer was being asked to perform all of its normal functions for landing while receiving an extra load of spurious data which used up 15% of its time. The computer (or rather the software in it) was smart enough to recognize that it was being asked to perform more tasks than it should be performing. It then sent out an alarm, which meant to the astronaut, I'm overloaded with more tasks than I should be doing at this time and I'm going to keep only the more important tasks; i.e., the ones needed for landing ... Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones ... If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful moon landing it was.»
«A causa di un errore nella checklist del manuale, l'interruttore del radar di rendezvous era stato commutato nella posizione sbagliata. Questo causò l'invio di segnali erronei al computer. Il risultato fu che al computer era richiesto di eseguire tutte le sue ordinarie funzionalità per l'atterraggio mentre riceveva un carico aggiuntivo di dati spuri che assorbivano il 15% delle sue risorse. 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 ... 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 ... Se il computer non avesse riconosciuto questo problema e reagito di conseguenza, dubito che Apollo 11 sarebbe potuta essere l'allunaggio con successo che fu.»
Dal 1976 al 1984 Hamilton è stata CEO di una società da lei cofondata, chiamata Higher Order Software (HOS), che si occupava di prevenzione e resistenza agli errori software, sulla base della sua esperienza maturata al MIT.[13] La società ha sviluppato un prodotto chiamato USE.IT, basato su metodologia HOS.[14][15][16]
Nel 1986 ha fondato ed è divenuta CEO della Hamilton Technologies, a Cambridge (Massachusetts). La società è nata sulla base del Universal Systems Language (USL) e del suo ambiente automatizzato, 001 Tool Suite, basato sul paradigma di progettazione e sviluppo software da lei sviluppato, development before the fact (DBTF).[3][17][18][19]
Hamilton ha reso popolare l'espressione "ingegneria del software" (software engineering),[20] precedentemente coniato da Anthony Oettinger.[21][22] All'epoca l'ingegneria del software non era considerata con la stessa serietà di altre discipline ingegneristiche e non era vista come una scienza. Lei usava l'espressione "ingegneria del software" per distinzione rispetto all'ingegneria dell'hardware, e con il tempo l'ingegneria del software ha acquisito la sua dignità scientifica.[23] Nel suo lavoro al MIT ha preso parte alla definizione dei principi fondamentali della programmazione, lavorando sui primi computer mobili.[24] Il suo contributo va oltre il semplice successo delle missioni lunari, ma insieme a tante colleghe ingegnere rappresenta una figura simbolica nella conquista tuttora in corso della parità di genere nelle discipline STEM.[25]
Conobbe suo marito, James Cox Hamilton, al Earlham College. Si sposarono verso la fine degli anni cinquanta, dopo aver conseguito il bachelor a Heafield. Ebbero una figlia di nome Lauren che, in seguito, sposò il miliardario James Cox Chambers. Hamilton non ebbe problemi nel proseguimento della sua carriera alla NASA durante la maternità, e nel fine settimana spesso portava Lauren nei laboratori e passava del tempo con lei mentre lavorava alla programmazione del software Apollo.[24] In seguito divorziò dal marito.[26]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.