Margaret Hamilton ist im Alter von 90 Jahren gestorben. Ihre Laufbahn war mit der Entwicklung der Leitsystemsoftware an Bord der Fahrzeuge des Apollo-Programms der NASA und mit der Prägung des Begriffs „Softwaretechnik“ verbunden. Hamilton leitete Teams, die die Software entwickelten, die bei sechs Missionen zur Mondlandung zwischen 1969 und 1972 eingesetzt wurde. Später erhielt sie 2016 die amerikanische Presidential Medal of Freedom.
Code, der mit einer kritischen Rechnerauslastung umgehen konnte
Hamiltons wichtigster Beitrag war der Entwurf eines Sicherheitsmechanismus innerhalb der Software des Leitsystems. Das System war so konzipiert, dass es zwischen wesentlichen und nachrangigen Aufgaben unterschied, wenn der Bordcomputer Befehle erhielt, deren Verarbeitung seine Kapazität in Echtzeit überstieg. Es brach Aufgaben mit niedrigerer Priorität ab und nahm die für die Mission erforderlichen Vorgänge wieder auf, während es die Astronauten durch einen Alarm warnte.
Die Wirkung dieses Entwurfs zeigte sich bei der Landung der Mondlandefähre „Eagle“ während der Apollo-11-Mission im Jahr 1969. Als Buzz Aldrin Befehle zur Anzeige der Höhe und anderer Daten eingab, begann der Computer wegen der erhöhten Auslastung, Alarme auszulösen. Der Sicherheitsmechanismus hielt jedoch die für die Landung notwendigen Aufgaben aufrecht und ermöglichte es dem Fahrzeug, sicher im Meer der Ruhe anzukommen, anstatt die Landung abzubrechen.
Von Wettersimulationen zu Apollo
Hamilton begann ihre Laufbahn nach ihrem Abschluss in Mathematik am Earlham College im Jahr 1958. Sie arbeitete mit dem Mathematiker Edward Lorenz am Massachusetts Institute of Technology und programmierte den Computer LGP-30, der für Wettersimulationen eingesetzt wurde. 1961 wechselte sie zum SAGE-Projekt am MIT, um Software zu schreiben, die die US-Luftwaffe bei der Suche nach möglichen feindlichen Flugzeugen unterstützte.
Während ihrer Arbeit an SAGE und der Apollo-Forschung konzentrierte sich Hamilton auf die Zuverlässigkeit von Software und die Vermeidung von Fehlern. Ein Beispiel dafür war der später als „Lorenz-Fehler“ bekannte Vorfall, bei dem die Eingabe einer vorab festgelegten Startsequenz in einem Missionssimulator den Ausfall des Systems verursachte. Hamilton beantragte den Einbau eines Schutzes gegen diese Art von Fehlern. Eine ähnliche Eingabe erfolgte dann tatsächlich während der Apollo-8-Mission, was die Wiederherstellung der Navigationsdaten erforderlich machte.
Ein Vermächtnis, das über das Apollo-Programm hinausgeht
Nach dem Ende des Apollo-Programms setzte Hamilton ihre Arbeit an der Fehlervermeidung und Fehlertoleranz fort. 1976 gründete sie das Unternehmen Higher Order Software. 1985 verließ sie es, um Hamilton Technologies zu gründen. Dessen wichtigstes Produkt war die Universal Systems Language zur Entwicklung komplexer Softwaresysteme mit einem Schwerpunkt auf Fehlervermeidung und defensiver Programmierung.
Die Apollo-Software, an deren Entwicklung sie beteiligt war, wurde 2015 zu GitHub hinzugefügt. Außerdem ehrte Google sie 2019 mit einem riesigen Porträt, das aus mehr als 100.000 Spiegeln in einem Solarpanel-Feld in der Mojave-Wüste geschaffen wurde.
Warum ist diese Nachricht wichtig?
Die Bedeutung von Hamiltons Vermächtnis liegt nicht nur darin, dass ihr Code Teil einer historischen Errungenschaft war, sondern auch darin, dass er zeigt, dass Zuverlässigkeit bereits beim Systementwurf beginnt, bevor ein Fehler auftritt. Die Software verhinderte die Überlastung des Computers nicht, legte aber fest, was geopfert und was bewahrt werden musste, und verwandelte eine Situation, die die Mission gefährden konnte, in einen geordneten Wiederherstellungsvorgang. Diese Idee bleibt in Systemen von zentraler Bedeutung, deren Betriebsbedingungen weder einen Ausfall noch einen einfachen neuen Versuch zulassen.