Kvinnan som lärde datorn att säga nej – Margaret Hamilton död

Article Read Time
Posten har 1889 ord . och har 12375 Karaktärer. 6 minuters lästid

Margaret Hamilton ledde utvecklingen av den inbyggda programvaran för Apolloprogrammets bemannade rymdfarkoster. När datorn i månlandaren överbelastades minuter före landningen 1969 fortsatte de viktigaste uppgifterna att fungera. Det var ingen tillfällighet, utan resultatet av en ny syn på programvara, säkerhet och mänskliga misstag. Nu har en av datorteknikens verkliga pionjärer avlidit, 90 år gammal.

Redaktionen, S. Kling, VIGRANSKAR

Margaret Hamilton dog den 30 september 2026. Hon blev 90 år.

Dödsfallet bekräftas av Massachusetts Institute of Technology, MIT, där hon arbetade från 1959 till mitten av 1970-talet. Någon dödsorsak har inte offentliggjorts.

Hamilton är mest känd för arbetet med den programvara som användes i Apolloprogrammets kommandomoduler och månlandare.

Men hennes betydelse är större än en enskild rymdfärd.

Hon bidrog till att göra programmering till en ingenjörsdisciplin där tillförlitlighet, testning och hantering av fel betraktades som lika viktiga som själva beräkningarna.

I dag används sådana principer i allt från flygplan och medicinsk utrustning till kärnkraftverk, fordon och finansiella system.

Programmering innan yrket riktigt fanns

Hamilton föddes 1936 i Paoli i den amerikanska delstaten Indiana.

Hon studerade först vid University of Michigan och tog 1958 en examen i matematik, med filosofi som biämne, vid Earlham College.

Året därpå flyttade hon till Boston tillsammans med sin man, som skulle studera juridik vid Harvard. Hamilton tog vad som ursprungligen var tänkt att bli ett tillfälligt arbete vid MIT.

Där började hon programmera för meteorologen Edward Lorenz, vars forskning senare blev central för utvecklingen av kaosteorin.

På den tiden fanns inga etablerade utbildningar i mjukvaruutveckling. Programmering betraktades ofta som ett underordnat arbete jämfört med konstruktionen av själva datorn.

Programmen var inte heller något som kunde uppdateras automatiskt över internet. Koden måste planeras, skrivas, testas och slutligen byggas in i en dator med ytterst begränsad kapacitet.

Från luftförsvar till månen

År 1961 började Hamilton arbeta vid MIT Lincoln Laboratory med det amerikanska luftförsvarssystemet SAGE.

Hon utvecklade programvara för en tidig stordator som skulle hjälpa det amerikanska flygvapnet att upptäcka möjliga fientliga flygplan.

Det var under detta arbete som hon började intressera sig för en fråga som då var relativt outforskad:

Hur bygger man programvara som fortsätter att fungera när något går fel?

År 1965 sökte hon sig till MIT Instrumentation Laboratory. Laboratoriet hade fått NASA uppdrag att utveckla styrsystemet och den inbyggda programvaran för Apolloprogrammet.

Hamilton blev projektets första kvinnliga programmerare.

Hon arbetade först med obemannade rymdfärder och fick därefter ledande ansvar för den inbyggda programvaran i de bemannade farkosterna.

År 1968 var hon biträdande chef med ansvar för programvaran i kommando- och servicemodulen. Hon kom även att leda grupperna bakom programvaran för både kommandomodulen och månlandaren. Mer än 400 personer arbetade då i den samlade Apolloverksamheten för programvara.

Hon skrev inte ensam all kod

Den berömda bilden av Hamilton bredvid en hög med utskriven Apollo-kod har blivit en symbol för hennes arbete.

Kodstapeln är nästan lika hög som hon själv.

Bilden har ibland lett till en förenklad berättelse där Hamilton ensam sägs ha skrivit programvaran som förde människan till månen.

Så var det inte.

Apolloprogrammet var resultatet av arbetet från hundratusentals människor. Programvaran utvecklades av stora grupper av programmerare, ingenjörer, matematiker och testpersonal.

Hamiltons roll var central, men den bestod både av egen teknisk utveckling och av ledarskap, arkitektur, testning och organisering av arbetet.

Hennes verkliga betydelse blir inte mindre av att andra deltog.

Tvärtom visar projektet hur avgörande det är att någon kan skapa en fungerande helhet av tusentals tekniska beslut.

Dottern upptäckte ett farligt fel

Ett av de mest talande exemplen på Hamiltons arbetssätt uppstod när hennes fyraåriga dotter Lauren besökte laboratoriet.

Lauren fick leka astronaut i en simulator för Apollos kommandomodul. Under den simulerade flygningen lyckades hon starta programmet P01, som egentligen endast skulle användas före uppskjutningen.

Simulatorn kraschade.

Hamilton insåg att samma sak skulle kunna hända under en riktig rymdfärd. Hon föreslog att programvaran skulle ändras så att kommandot inte kunde utföras vid fel tidpunkt.

Förslaget avvisades.

Argumentet var att astronauterna var så välutbildade att de aldrig skulle göra ett sådant misstag.

Hamilton införde då åtminstone en varning i dokumentationen.

Under Apollo 8 år 1968 inträffade just det som ansvariga hade sagt inte skulle kunna hända. Astronauten Jim Lovell startade av misstag P01 under flygningen, vilket gjorde att navigationsuppgifter försvann.

Hamilton och hennes arbetsgrupp kallades in för att hjälpa besättningen att återskapa informationen. Efter händelsen byggdes det föreslagna skyddet in i programmet.

Händelsen kom att kallas ”Lauren-felet”.

Den illustrerar en princip som numera är självklar inom säkerhetskritisk teknik:

Det räcker inte att skriva instruktioner som säger att användaren aldrig får göra fel. Systemet måste så långt möjligt konstrueras för att hantera att någon ändå gör det.

Larmet tre minuter före månlandningen

Den 20 juli 1969 var Apollo 11 månlandare Eagle på väg ned mot månytan.

Då började datorn visa larmkoderna 1201 och 1202.

Datorn hade överbelastats.

En felaktig inställning kring radarsystemet medförde att datorn fick fler uppgifter än den kunde behandla samtidigt. Situationen har ibland felaktigt beskrivits som att Hamiltons programvara helt enkelt ”stängde av radarn”.

Det som faktiskt hände var mer avancerat.

Datorns programvara var uppbyggd för att prioritera de mest kritiska uppgifterna. När arbetsbelastningen blev för stor startade systemet om, rensade bort mindre viktiga arbetsuppgifter och fortsatte med det som var nödvändigt för att styra månlandaren och landningsmotorn.

NASA kontrollrum visste genom tidigare tester att denna återstartsfunktion fungerade. Därför gav flygledningen astronauterna klartecken att fortsätta landningen.

Neil Armstrong och Buzz Aldrin kunde därefter landa Eagle på månen.

Programvaran förhindrade inte att ett fel uppstod.

Den såg till att felet inte blev katastrofalt.

Det var ett system – inte ett mirakel

Det är lockande att beskriva Apollo 11 som att ”Hamiltons kod räddade månlandningen”.

Det är delvis sant, men också förenklat.

Landningen kunde fortsätta tack vare flera delar som fungerade tillsammans:

  • den prioriteringsstyrda programvaran,
  • datorns möjlighet till säker omstart,
  • omfattande tester före flygningen,
  • kunskapen hos ingenjörerna vid MIT,
  • flygledarnas snabba bedömning i Houston,
  • och astronauternas fortsatta hantering av månlandaren.

Det var alltså inte ett ensamt programmeringsgeni som i sista stund tryckte på en knapp.

Det var ett noggrant konstruerat system som hade förberetts för att något oväntat kunde inträffa.

Det är kanske Hamiltons viktigaste arv.

När ”software engineering” betraktades som ett skämt

Hamilton började använda uttrycket ”software engineering” – mjukvaruutveckling eller programvaruteknik – för att ge programvaran samma yrkesmässiga tyngd som andra ingenjörsområden.

Uttrycket möttes till en början med skämt och skepsis.

Maskinvaran betraktades som den verkliga tekniken. Programvaran sågs inte alltid som ett eget ingenjörsområde med motsvarande behov av metoder, dokumentation, testning och ansvar.

Hamilton argumenterade för motsatsen.

Om ett felaktigt program kunde få en rymdfarkost att störta måste programvara utvecklas med samma allvar som motorer, elektronik och mekaniska konstruktioner.

NASA har senare framhållit att Hamiltons och hennes arbetsgrupps metoder för bland annat asynkron programvara, prioriterad schemaläggning, fullständig systemtestning och samspel mellan människa och dator blev grundläggande för utvecklingen av mycket tillförlitliga programvarusystem.

Hon uppfann inte ensam all programvaruteknik.

Men hon bidrog starkt till att ge området namn, legitimitet och praktiska metoder.

Fortsatte efter Apollo

När Apolloprogrammet började avvecklas ombildades MIT Instrumentation Laboratory till det fristående Draper Laboratory.

Hamilton valde att gå vidare.

År 1976 grundade hon Higher Order Software, ett företag som byggde vidare på hennes idéer om felprevention och robusta system.

Ett årtionde senare startade hon Hamilton Technologies. Företaget utvecklade metoder för att modellera komplicerade system och upptäcka problem redan under konstruktionen, innan de byggdes in i den färdiga programvaran.

Samma grundidé följde henne genom hela karriären:

Det bästa felet är det som systemets konstruktion aldrig tillåter uppstå.

Erkännandet kom sent

Hamilton publicerade mer än 130 vetenskapliga och tekniska arbeten.

Ändå dröjde det länge innan hennes insatser fick ett erkännande som motsvarade deras betydelse.

År 2003 fick hon NASA Exceptional Space Act Award. Teknikern Paul Curto, som nominerade henne, uttryckte förvåning över att hon inte hade fått något sådant formellt erkännande tidigare.

År 2016 tilldelade president Barack Obama henne Presidential Medal of Freedom, USA högsta civila utmärkelse. Motiveringen lyfte fram hur hennes programvaruarkitektur bidrog till månlandningen och till framväxten av en ny industri.

Hon blev senare invald i Computer History Museum och National Aviation Hall of Fame.

Men det största erkännandet är kanske att hennes idéer numera är så självklara att få tänker på varifrån de kommer.

Vad Margaret Hamilton förändrade

Fakta:

  • Hon ledde centrala grupper som utvecklade Apolloprogrammets inbyggda flygprogramvara.
  • Hon arbetade med prioritering, återstart, testning och feltålighet.
  • Programvaran fungerade som avsett under datoröverbelastningen vid Apollo 11 landning.
  • Hon drev på för att programvaruutveckling skulle behandlas som en ingenjörsdisciplin.
  • Hon tilldelades både NASA Exceptional Space Act Award och Presidential Medal of Freedom.

Förenklingar som bör undvikas:

  • Hon skrev inte ensam all kod till Apollo.
  • Ett enda program eller en enda person ”vann” inte rymdkapplöpningen.
  • Programvaran förutsåg inte exakt allt som hände under Apollo 11.
  • Radarn stängdes inte bara av genom något enkelt automatiskt ingripande.
  • Den lyckade landningen var resultatet av ett helt tekniskt och mänskligt system.

Hennes verkliga arv:

  • Programvara måste konstrueras för oväntade händelser.
  • Människor kommer ibland att göra fel, oavsett utbildning.
  • Kritiska uppgifter måste prioriteras när resurserna inte räcker.
  • Ett system ska helst kunna misslyckas utan att hela verksamheten kollapsar.
  • Testning och dokumentation är en del av konstruktionen – inte något som läggs till efteråt.

Hennes arbete finns omkring oss

Dagens samhälle är betydligt mer beroende av programvara än Apolloprogrammet någonsin var.

Kod styr flygplan, fordon, sjukhusutrustning, telekommunikation, banker, elnät och militära system.

När dessa system överbelastas, får felaktiga indata eller möter ett mänskligt misstag uppstår samma grundfråga som Hamilton ställde på 1960-talet:

Vad gör datorn när verkligheten inte följer planen?

Ett dåligt system fortsätter blint, låser sig eller förvärrar felet.

Ett välkonstruerat system upptäcker problemet, prioriterar det viktigaste och försöker hålla människan säker.

Det var den principen som hjälpte Apollo 11 att nå månen.

Och det är den principen som gör Margaret Hamiltons arbete betydelsefullt långt efter att rymdkapplöpningen tagit slut.