Tehnologie

A murit Margaret Hamilton, programatoarea care a condus echipa software Apollo

MIT a anunțat decesul lui Margaret Hamilton, la 90 de ani. Echipa condusă de ea a creat programele de zbor pentru misiunile Apollo.

Distribuie WhatsApp Facebook
Linii de cod afișate pe ecranul unui laptop
Foto: Markus Spiske. Imagine ilustrativă

Margaret Hamilton, informaticiana care a condus dezvoltarea programelor de zbor pentru misiunile Apollo la Massachusetts Institute of Technology, a murit la 30 septembrie, la vârsta de 90 de ani. MIT a anunțat decesul pe 7 octombrie. Activitatea ei este legată de computerul care a ajutat modulul lunar Apollo 11 să aterizeze în 1969, dar și de transformarea dezvoltării de programe într-o disciplină inginerească preocupată de erori, teste și fiabilitate.

De la matematică la programele spațiale

Hamilton s-a născut în 1936, în Paoli, statul Indiana. A început studiile de matematică la Universitatea din Michigan și le-a încheiat la Earlham College, unde a studiat și filosofie. Ajunsă la Boston în 1959, a lucrat la MIT în departamentul de meteorologie, alături de Edward Lorenz, scriind programe pentru prognoza vremii. MIT identifică acest post drept intrarea ei în programare, într-o perioadă în care domeniul nu avea statutul instituțional pe care îl are astăzi.

Din 1961, la MIT Lincoln Laboratory, a programat pentru proiectul SAGE, sistemul american de apărare aeriană care folosea calculatoare pentru identificarea potențialelor aeronave ostile. Acolo a început să se concentreze asupra fiabilității: un program trebuia să funcționeze și când datele sau acțiunile utilizatorului nu urmau scenariul ideal. Această preocupare a devenit importantă mai târziu pentru programele instalate la bordul navelor Apollo, unde o eroare nu putea fi reparată prin simpla relansare a unui calculator.

În 1965, Hamilton a intrat în laboratorul de instrumentație al MIT, care câștigase contractul NASA pentru programele de zbor Apollo. Potrivit universității, ea a fost primul programator angajat în proiectul Apollo la MIT și prima femeie programator a proiectului. A lucrat inițial la misiunile fără echipaj, apoi a condus echipele care realizau programele pentru misiunile cu astronauți. În 1968 era director adjunct responsabil de echipa modulului de comandă și de serviciu. La dezvoltarea software-ului Apollo participau peste 400 de persoane, iar rolul ei era atât tehnic, cât și de coordonare.

Erorile pe care sistemul trebuia să le suporte

MIT relatează un episod care a influențat modul de proiectare. În timpul unei simulări, fiica lui Hamilton a activat un program destinat fazei de dinaintea lansării, deși simulatorul se afla deja în zbor. Simulatorul s-a blocat. Hamilton a cerut o protecție software împotriva acestei comenzi, însă propunerea nu a fost acceptată atunci. În misiunea Apollo 8, astronautul Jim Lovell a declanșat accidental aceeași secvență, iar datele de navigație din timpul zborului au dispărut. Echipa a rezolvat problema, după care schimbarea propusă a fost integrată în program.

Episodul ilustrează un principiu concret din activitatea ei: programul nu trebuie să presupună că utilizatorul, oricât de bine pregătit, nu poate greși. Protecțiile construite pentru situații neprevăzute sunt parte a funcționării sistemului, nu un adaos secundar. MIT le descrie drept programare defensivă. În zborul spațial, asemenea decizii priveau ordinea sarcinilor executate de calculator, păstrarea informațiilor și posibilitatea echipajului de a continua operațiunile când apăreau alarme.

Momentul cel mai cunoscut a venit în iulie 1969, în coborârea modulului Eagle din misiunea Apollo 11. Calculatorul de bord a semnalat eroarea 1202 înainte de aselenizare. O problemă asociată unui comutator hardware încărcase procesorul peste nivelul așteptat. Programul realizat de echipa condusă de Hamilton era construit să acorde prioritate sarcinilor indispensabile și să renunțe la procesele de fundal mai puțin importante. Centrul de control a putut astfel să permită continuarea coborârii. NASA menționează această gestionare a priorităților între contribuțiile tehnice decisive ale echipei Apollo.

În documentația premiului acordat de NASA în 2003 sunt enumerate și alte elemente ale muncii sale: execuția asincronă a programelor, testarea de la un capăt la altul a sistemului și afișarea informațiilor care necesitau o decizie a echipajului. Acestea nu sunt doar termeni istorici. În cazul Apollo, testarea urmărea interacțiunea dintre componente, iar afișajele trebuiau să distingă o alertă care cerea intervenție de activitatea obișnuită a computerului. Agenția a legat aceste concepte de proiectarea unor programe cu fiabilitate ridicată.

Aceasta nu înseamnă că un singur programator a realizat singur aselenizarea. MIT subliniază munca unei echipe mari, care a proiectat și testat software pentru modulul lunar și modulul de comandă. Fotografia devenită celebră, în care Hamilton stă lângă un teanc înalt de liste de program, reprezintă codul elaborat de echipele pe care le-a condus. Ea arată și cât de diferite erau instrumentele de lucru ale programatorilor din anii 1960 față de cele de astăzi.

Activitatea după Apollo

Hamilton a rămas la laboratorul de instrumentație și după perioada misiunilor lunare. În 1976 a înființat Higher Order Software, o companie axată pe prevenirea erorilor și pe toleranța sistemelor la defecțiuni. Ulterior a creat Hamilton Technologies, unde a dezvoltat Universal Systems Language, un limbaj și o metodă de modelare a sistemelor complexe. Obiectivul urmărit era identificarea din proiectare a situațiilor care ar putea duce la erori, înainte ca programul să fie folosit în exploatare.

MIT arată că Hamilton a publicat peste 130 de lucrări și a susținut recunoașterea „ingineriei software” ca domeniu în sine. Distincțiile primite includ premiul NASA Exceptional Space Act din 2003 și Medalia Prezidențială a Libertății din 2016. A primit și recunoașteri din partea Computer History Museum și a National Aviation Hall of Fame. În relatările despre cariera ei, aceste premii se adaugă contribuției verificabile la programele Apollo: conducerea unei echipe care a construit software capabil să trateze erorile și să păstreze funcțiile esențiale ale unei misiuni în momente critice.

Distribuie WhatsApp Facebook