Der Code für den Apollo-Bordcomputer – hier als Papierstapel – machte Software-Pionierin Margaret Hamilton richtig groß. Foto: MIT
© MIT

Software-Pionierin Margaret Hamilton Ihr Code brachte die Apollo-Astronauten sicher zum Mond

Für ihre Arbeit wurde die Nasa-Programmiererin mehrfach ausgezeichnet. Zu Recht: Hamiltons Bordcomputer war entscheidender Bestandteil der Mondmission.

Unseren Countdown zur Mondlandung 1969 finden Sie hier.

Es war eine kleine Panne, die zum Scheitern der Apollo-11-Mission hätte führen können: Drei Minuten vor der Mondlandung begann das abgeschaltete Rendezvous-Radar durch eine von der Crew unentdeckte Fehlkonstruktion massenhaft Daten in das Steuerungssystem zu senden.

Obwohl der Bordcomputer während des Landeanflugs beinahe vollständig ausgelastet war, sollte er plötzlich noch einmal 15 Prozent zusätzliche Leistung liefern. Dass der Rechner dabei nicht abstürzte, liegt vor allem an Margaret Hamilton.

Nicht nur die Hardware ließ den Adler sicher landen

Die Chef-Programmiererin des Apollo Guidance Computers hatte vorausgesehen, dass selbst den besten Astronauten Fehler passieren können. Deswegen wurde unter ihrer Regie eine Steuerung entwickelt, die selbstständig Priorisierungen vornehmen konnte. Die Daten für den Landeanflug wurden höher gewichtet als die Daten des Radars.

Auch deswegen konnte Kommandant Neil Armstrong kurze Zeit später nach Houston melden: "The Eagle has landed!", der Adler ist gelandet. Am frühen Morgen des 21. Juli 1969 betrat er schließlich als erster Mensch den Mond.

Bis heute ist die Wahrnehmung der Apollo-11-Mission von Hardware geprägt: Die fauchenden Triebwerke der Saturn-Rakete zum Beispiel, die spiegelnden Helme der Raumanzüge oder die spinnenförmigen Beine der Eagle-Landefähre.

Tatsächlich aber ist der Flug zum Mond mit einem digitalen Paradigmenwechsel verbunden, der bis heute nachwirkt. Bereits in der Planungsphase erkannten die Ingenieure, dass neben der Hardware auch die Software eine entscheidende Rolle für den Erfolg der Mission spielen würde.

Eine der ersten Softwareentwicklerinnen der Welt

Margaret Hamilton stand als Programmiererin im Zentrum dieser Entwicklung. Sie erfand während der Vorbereitungen für den Mondflug den Begriff "Software Engineering", den sie zuerst im Scherz und später als ernst gemeinte Umschreibung ihrer Bemühungen um die stete Verbesserung von Technologie nutzte. Auch deswegen gilt sie als eine der ersten "Softwareentwicklerinnen" der Welt.

Bis dahin war das Schreiben von Code bei der Entwicklung von Computertechnologie eher als nachrangige Aufgabe betrachtet worden. Es gab schlicht kein Bewusstsein dafür, wie wichtig die Steuerung von hochentwickelter Hardware sein könnte.

Das schlug sich auch in der anfänglichen Budgetierung der Apollo-Mission nieder. Während für die Entwicklung der Hardware Milliardensummen eingeplant waren, blieb die Programmierung der Software unberücksichtigt. Erst später stellten die Ingenieure fest, dass die Landefähre auch einen funktionsfähigen Bordcomputer brauchen würde.

Hamilton, damals 29 Jahre alt, hatte nach ihrem Bachelorabschluss in Mathematik am Earlham College unter anderem für den Künstliche Intelligenz (KI)-Pionier Marvin Minsky gearbeitet und mit dem Chaostheoretiker Edward Norton Lorenz eine Software für Wettervorhersagen entwickelt.

Digitaler Autopilot war damals Weltneuheit

Später programmierte sie Teile des Steuerungssystems für das Semi-Automatic Ground Environment (SAGE), das erste computergestützte Luftabwehrsystem des US-Verteidigungsministeriums. Im Jahr 1965 wurde Hamilton schließlich vom Massachusetts Institute of Technology (MIT) als Projektleiterin beim Apollo-Projekt angestellt. Ihre Aufgabe war es, die Steuerung des Bordcomputers umzusetzen.

Der Rechner sollte die erste digitale Autopilot-Flugsteuerung der Welt enthalten. Hamilton musste für die Programmierung echte Pionierarbeit leisten. Wie wichtig Software für den Flug zum Mond werden würde, erkannte auch die NASA: Hamiltons Team wuchs auf bis zu 100 Mitarbeiter.

Ein Kernproblem war die Störanfälligkeit von Magnetspeichern gegen Strahlung und Hitze. Die Lösung dafür war eine aus heutiger Sicht wahnwitzige Konstruktion: Man stattete den Bordcomputer mit einem so genannten "Fädelspeicher" aus.

Kupferdrähte wurden in monatelanger Arbeit von Näherinnen durch eine Matrix von Eisenringen gezogen. Lief der Draht durch einen solchen Ring hindurch, wurde eine "1" ausgelesen, führte der Draht um einen Ring herum, signalisierte das dem System den Wert "0".

Fädelspeicher waren so konzipiert, dass sie nur ausgelesen werden konnten. Das Abspeichern neuer Informationen war nicht möglich, dafür blieben sie bei Stromausfällen sicher gegen jede Form von Datenverlust. Die Spur der Drähte durch die Landschaft von Eisenringen stellte all die Nullen und Einsen nach, die Hamilton und ihr Team programmierten. Wenn man so will, war der Code fest verbaut.

Auch Astronauten machen Fehler

Obwohl das System sehr solide konstruiert war, blieb ein weiteres Problem: Die Blindheit der Steuerung für die tatsächliche Bedeutung eines bestimmten Programms in einer speziellen Phase des Flugs.  

Wie wichtig das für die Apollo-Mission werden könnte, merkte Hamilton durch einen Zufall. Ihre Tochter Lauren, die sie oft mit zur Arbeit nahm, spielte eines Tages an einigen Knöpfen des Simulators, während Hamilton eine Mission probte. Das Mädchen kam auf eine Taste, die eigentlich für die Startvorbereitungen gedacht war, während das Gerät bereits den Flug zum Mond nachstellte. Das System stürzte ab. Wäre dies unter realen Bedingungen passiert, hätte das den Verlust der Mondlandefähre bedeutet.

Hamilton erkannte, dass ohne Backup-Systeme und Schutzvorrichtungen bereits ein falscher Tastendruck ausreichen konnte, um die gesamte Mission scheitern zu lassen. "Ich habe eine Änderung vorgeschlagen, um zu verhindern, dass während des Fluges ein Vorstartprogramm ausgewählt wird. Aber die Verantwortlichen am MIT und bei der NASA sagten, dass die Astronauten zu gut ausgebildet wären, um einen solchen Fehler zu machen", erinnerte sich Hamilton vergangene Woche in einem Interview mit dem "Guardian".

Als jedoch beim Apollo 8-Flug genau ein solcher menschlicher Fehler passierte, änderten sich die Prioritäten. Hamilton entwickelte jene Steuerung, die später, trotz des falsch konstruierten Radars, die Landung auf dem Mond sicherte.

Tausend Seiten Code und eine große Ehrung

"Unsere Software musste äußerst zuverlässig und in der Lage sein, einen Fehler zu erkennen sowie ihn jederzeit während der Mission zu beheben", sagte sie dem "Guardian". Bei früheren öffentlichen Auftritten sprach sie auch von dem Druck, den sie selbst in der Vorbereitungsphase für Apollo 11 verspürte: Ihre Angst, dass sie diejenige sein könnte, auf die am Ende alle zeigen würden, wenn die Mondmission wegen eines Programmierfehlers gescheitert wäre.

Tatsächlich aber gab es während der gesamten Mission keinen einzigen Softwarefehler. Ihr System war so zuverlässig wie kaum ein anderes, das jemals von Menschen ins All geschossen wurde.  

Hamilton blieb noch bis 1976 am MIT, machte sich danach mit Software-Unternehmen selbstständig. In Vergessenheit geraten ist die heute 82-Jährige freilich nie. Das dürfte auch an dem ikonischen Foto liegen, das Hamilton neben den aufgestapelten, viele Tausend Seiten umfassenden Code für die Landefähre zeigt.

2003 wurde Hamilton mit dem "NASA Exceptional Space Act Award" geehrt, die damit verbundene Preissumme in Höhe von 37.200 Dollar war die höchste, die jemals für diese Auszeichnung ausgeschüttet wurde. Der damalige US-Präsident Barack Obama überreichte der Softwarepoinierin im Jahr 2016 die "Presidential Medal of Freedom" – die höchste zivile Auszeichnung der USA.

Zur Startseite