Margaret Hamilton

author
3 minutes, 6 seconds Read

Margaret Hamilton började arbeta vid MIT med programvaruprojekt (bland annat meteorologisk programvara för Edward Lorenz, kaosteorins fader, och programvara för SAGE-systemet som sökte efter fientliga flygplan) innan hon fick ett kontrakt med MIT/NASA som ansvarig programmerare för Apollo Guidance Computer. Hon arbetade med alla bemannade Apollo-uppdrag och många obemannade uppdrag. För de bemannade uppdragen ledde Hamilton det team som utvecklade den ombordvarande flygprogramvaran för kommando- och månmodulerna. Hon var chef för Software Engineering Division vid MIT:s Instrumentation Laboratory.

Den kod som Hamilton utvecklade var den programvara som de två datorerna i Apollos rymdfarkoster skulle använda sig av och som skulle ligga till grund för vad som i dag är en industri av programvaruingenjörer som har sin karriär att tacka Hamilton och hennes team för. Programvaran för flygning ombord byggdes för att vara asynkron. Varje jobb i programvaran tilldelades en unik prioritet av medlemmarna i teamet. Hamilton utvecklade programvara för att upptäcka systemfel och återställa dem i realtid. Detta inkluderade hennes man-in-the-loop priority-display-interface-routiner som gav programvaran förmågan att kommunicera asynkront i realtid med astronauterna – programvaran och astronauterna kör parallellt – i en distribuerad system-of-systems-miljö. Med detta som bakgrund varnade prioritetsdisplayerna astronauterna i händelse av en nödsituation genom att avbryta astronauternas normala uppdragsdisplayer och ersätta dem med prioritetslarmdisplayer, som gav dem alternativ för nödsituationer att välja mellan. Detta var fallet på Apollo 11 strax före landningen på månen när datorn blev överbelastad till följd av att radarns omkopplare för mötesradaren hade lämnats i fel läge. De prioriterade larmvisningarna var en påminnelse till astronauterna om att sätta tillbaka radaromkopplaren där den hörde hemma. När prioritetsindikatorerna gav dem valet: ”att landa” eller ”att inte landa”, valde de att landa på grund av sin (och uppdragskontrollens) tro på integriteten hos flygprogramvaran ombord.

Hamilton tog ofta med sig sin dotter Lauren till jobbet under lediga tider. En gång när några i teamet körde uppdragsscenarier på hybridsimuleringsdatorn gick Lauren på upptäcktsfärd och började välja DSKY-tangenterna på ett ”icke nominellt” sätt. Hon startade ett uppdragsscenario och fick uppdraget att misslyckas genom att välja P01 (pre-launch) i mitten av kursen. Hamilton frågade: ”Vad skulle hända om en riktig astronaut av misstag hade valt P01 i mitten av ett verkligt uppdrag?”. Detta skulle vara ett stort problem, eftersom det skulle utplåna navigeringsdata. Hamilton fick inte lägga till kod för att hindra astronauten från att göra detta misstag och lade därför till en programanteckning i programvaran: ”välj inte P01 under flygning”. Under nästa uppdrag, Apollo 8, gjorde astronauten samma misstag. Hamilton och hennes team kunde hjälpa astronauterna att ladda upp navigeringsdata på nytt för att ersätta de förstörda uppgifterna. Hon hade nu fått godkännande för att lägga till programvara för att förhindra att detta problem uppstår vid framtida Apollo-uppdrag.

”Hamilton är den person som kom på idén att döpa disciplinen till programvaruteknik, som ett sätt att ge den legitimitet”. Hon ledde en empirisk studie av Apollo och senare insatser som resulterade i hennes systemteori om kontroll. Från dess axiom härleddes det universella systemspråket tillsammans med dess automatisering och förebyggande paradigm. Hamilton är VD för Hamilton Technologies Inc. Hon fick NASA:s utmärkelse Exceptional Space Act Award (2003) och president Barack Obamas frihetsmedalj Presidential Medal of Freedom (2016). Hon fick ett eget Lego i Lego-uppsättningen Women of NASA Lego set.

Similar Posts

Lämna ett svar

Din e-postadress kommer inte publiceras.