Margaret Hamilton, datavetaren som ledde utvecklingen av central mjukvara för Nasas Apolloprogram, har avlidit 90 år gammal. Hon dog den 30 september och dödsfallet offentliggjordes av MIT den 7 oktober.
Hamilton arbetade vid MIT i mer än två decennier och blev chef för den grupp som utvecklade flygmjukvaran till Apollofarkosterna. Hennes team skrev kod för både kommandomodulen och månlandaren, system där ett allvarligt programfel kunde få betydligt större konsekvenser än en kraschad dator.
Annons
Datorn slog larm precis före landningen
Hamiltons mest kända tekniska arv blev tydligt den 20 juli 1969.
När Apollo 11:s månlandare Eagle närmade sig månens yta började omborddatorn visa larmen 1201 och 1202. Datorn hade överbelastats av uppgifter kopplade till rendezvousradarn samtidigt som den skulle hantera den kritiska landningen.
I stället för att låsa sig kunde systemet starta om delar av mjukvaran och fortsätta köra de viktigaste uppgifterna. Styrningen av landaren prioriterades medan mindre viktiga processer fick vänta.
Det var möjligt tack vare en programarkitektur där uppgifter hade olika prioritet. Hamilton ledde gruppen bakom flygmjukvaran, men systemet var resultatet av ett större arbete vid MIT Instrumentation Laboratory och NASA. Beslutet att fortsätta själva landningen fattades av Mission Control efter att larmen analyserats.
NASA har senare beskrivit hur Hamiltons teams arbete med bland annat asynkron mjukvara, prioritetsschemaläggning, tester och felhantering blev grundläggande för utvecklingen av mycket tillförlitliga programsystem.
Läs mer: Komet kan ha träffat månen – ingen märkte
Mjukvaran fick starta om utan att tappa det viktiga
Apollo Guidance Computer var extremt begränsad jämfört med moderna datorer.
Enligt Nasas tekniska dokumentation hade systemet omkring 2K ord arbetsminne och 36K ord så kallat core rope memory. Mjukvaran behövde därför vara mycket noggrant planerad för att fungera inom de snäva resurserna.
När datorn överbelastades under Apollo 11 kunde den återstarta och återuppta de viktigaste processerna nära den punkt där de hade avbrutits. Samtidigt lämnades mindre viktiga jobb utanför.
Det innebar att landarens styrning fortsatte fungera även när datorn inte längre hann utföra allt den hade blivit ombedd att göra.
Det är en princip som fortfarande känns modern. Ett robust system ska inte bara fungera när allt går rätt. Det måste också kunna avgöra vad som är viktigast när något går fel.
Hon gav mjukvaran status som ingenjörskonst
Hamiltons betydelse sträckte sig samtidigt långt utanför rymdprogrammet.
Hon krediteras ofta för att ha myntat uttrycket ”software engineering”, ungefär mjukvaruteknik, under en period då programmering ännu inte hade samma status som andra ingenjörsdiscipliner.
Hamilton började använda uttrycket för att markera att utveckling av avancerad mjukvara behövde behandlas med samma systematik och tekniska ansvar som annan ingenjörskonst.
Den berömda bilden visar ett helt teams arbete
En av techhistoriens mest kända bilder visar Hamilton bredvid en enorm stapel med utskriven programkod.
Fotot togs vid MIT 1969. Stapeln innehåller utskrifter av mjukvaran som utvecklades av teamen för månlandaren och Apollofarkostens kommandomodul.
Bilden används ofta som symbol för Hamiltons eget arbete, men hon betonade själv att koden hade utvecklats av grupperna hon ledde. Det var alltså inte tusentals sidor programkod skrivna av en enda person.
Läs mer: Historisk flygning för Starship – slutade i ett eldhav
Från Apollo till en helt ny industri
Efter arbetet med Apollo fortsatte Hamilton inom mjukvaruutveckling och startade senare företagen Higher Order Software och Hamilton Technologies.
År 2016 fick hon Presidential Medal of Freedom, USA:s högsta civila utmärkelse, för sina insatser inom datavetenskap och rymdprogrammet.
Men hennes kanske mest bestående arv finns i två saker som i dag tas för givna.
Mjukvara betraktas som kritisk ingenjörskonst. Och avancerade datorsystem byggs med antagandet att fel kommer att inträffa och därför måste kunna hanteras utan att hela systemet kollapsar.
När Apollo 11:s dator började larma bara minuter före den första månlandningen visade Hamiltons teams arbete varför båda principerna behövdes.
Margaret Hamilton blev 90 år.
Spela lite spel!
Spela lite spel från TeknikGeeks redaktions utvalda bibliotek. Ett slumpmässigt spel i varje artikel.
