Ich komme aus dem Bereich und ich interessiere mich für

Insights

Und dann war da ja noch die Mondlandung ...

Eigentlich hatte Margaret Hamilton den Job ja nur angenommen, um ihrem Mann zu helfen, sein Jurastudium zu finanzieren. Dass es dann gleich die erste Mondlandung werden würde, konnte ja keiner ahnen. Und dass Steve Bales in gerade mal 15 Sekunden über 25 Milliarden Dollar zu entscheiden hatte, hatte ihm vorher auch keiner so richtig gesagt.

Job und Familie

Margaret Hamilton war wohl das, was man in den USA der 1950er Jahre eine „normale Frau“ nannte. Nach Abschluss der High School studierte sie Mathematik in Michigan, wo sie ihren Bachelor machte, heiratete und eine Tochter bekam. Um ihren Mann finanziell für sein Jurastudium zu unterstützen, begann sie, Stunden in Mathe und Französisch zu geben, landete aber letztlich am Massachusetts Institute of Technology (MIT). Hier programmierte sie Computer mit so klangvollen Namen wie LGP-30 oder den PDP-1, der noch so groß war wie ein Kleiderschrank. Ihre Tochter hatte Margaret hin und wieder bei der Arbeit dabei. Lauren schlief oft auf dem Boden im Büro, während ihre Mutter Computerprogramme zum Berechnen von Wettervorhersagen entwickelte.

Software Engineering

Die Kenntnisse des Programmierens hatte sich Hamilton selbst beigebracht. Es gab zur damaligen Zeit an den Universitäten weder eine Fakultät für Informatik noch Kurse in Software-Entwicklung. Margaret Hamilton und alle anderen lernten „hands-on“. Eine Absurdität, wie sie fand. „Software Engineering“, wie sie es nannte, sollte eine eigene Wissenschaft sein. Die ganzen Ingenieure um sie herum, ausnahmslos Männer, fanden diese Idee hingegen unsinnig. Selbst am Charles Stark Draper Laboratory des MIT, wo Hamilton mittlerweile gelandet war, ließ man sie das spüren. Programmierer seien Handlanger der Ingenieure und sie hatten das in die Maschinen zu programmieren, was die Ingenieure ihnen vorgaben. So etwas kann doch keine Wissenschaft sein. Margaret Hamilton sollte jedoch recht behalten. Heute zweifelt niemand mehr daran – die Informatik-Fakultäten sind voll.

Programmieren für die Apollo-Mission

Im Charles Stark Draper Laboratory des MIT wurden die Computerprogramme für die Apollo-Mission der NASA entwickelt. Hamilton war mittlerweile Teamleiterin einer Gruppe, die u. a. auch für die Software im Lunar Lander zuständig war, mit dem bald Menschen auf dem Mond landen sollten – zum allerersten Mal. Hamilton machte den Vorschlag, dass die Software im Lunar Lander der Apollo-11-Mission, selbst unterscheiden können sollte, welche Daten wichtiger sind als andere. Falls die Rechnerkapazität nicht ausreichen würde, könnten – so die Idee – unwichtige Berechnungen abgebrochen werden, damit der Rechner nicht abstürzt. Der Chef von Margaret Hamilton – ein Mann – hielt diese Idee für unsinnig. Derartige Entscheidungen könne kein Computer treffen, das müssten kluge Ingenieure tun! Wie wir heute wissen, setzte sich Margaret Hamilton auch diesmal durch. Die Software im „Eagle“ genannten Lunar Lander von Apollo 11 konnte unwichtige Berechnungen selbstständig stoppen. Zum Glück.

Fehler 1202

Steve Bales, noch keine 30 Jahre alt, steht am Nachmittag des 19. Juli 1969 in Houston, Texas in einem Raum, dessen Sitze wie in einem Hörsaal aufgebaut sind. Das Licht ist gedimmt und durch Monitore bestimmt. Knapp 384.000 km über Bales spielt sich gerade ein Drama ab. Der NASA-Testpilot und Apollo-11-Astronaut Neil Armstrong versucht dort oben gerade, ein 15 Tonnen schweres, knapp 10 x 10 Meter großes Metallgestell namens „Eagle“ sicher auf dem Mond zu landen. Da es im geplanten Landebereich keine flache Stelle gibt, schaltet der Astronaut auf Handsteuerung um. Der Spritvorrat im Lunar Lander ist jedoch begrenzt. Um genügend Sprit für den Rückweg vom Mond zu haben, reicht er gerade mal aus, um die Steuerdüsen bei der Landung für ein paar wenige Sekunden zusätzlich zu zünden, um leichte Korrekturen an der Flugbahn vorzunehmen. Zu allem Überfluss wird der Astronaut bei dieser Aktion auch noch durch einen Alarm des Bordcomputers gestört. Fehler 1202 steht dort. Und ebenso auf dem Bildschirm von Steve Bales auf der Erde. Fehler 1202 ... was zum Teufel bedeutet das, fragt sich Bales. Mit zwei Sekunden Verzögerung hört er die gleiche Frage vom Kommandanten des Lunar Landers. Armstrong möchte zudem wissen, was er tun soll. Die Landung abbrechen oder weitermachen? Stop or go?

15 Sekunden Zeit

Bales und sein Kollege Jack Garman waren beide dafür zuständig, das Verhalten der Computer zu beurteilen. Fehler 1202 sagte ihnen nichts. Flugdirektor Eugene Kranz gab den beiden Männern alle Zeit, die er ihnen geben konnte, um zu entscheiden, ob Fehler 1202 ein gravierendes Problem für die Sicherheit der beiden Männer dort oben war oder nicht: 15 Sekunden. Und keine Sekunde mehr. (15) Die Mondlandung war so wichtig in den Zeiten des Kalten Kriegs. (14) Sie sollte den Sovjets die Überlegenheit der Amerikaner vor Augen führen und der ganzen Welt zeigen, aus welchem Holz die Amis geschnitzt sind. (13) Für diesen Moment hatten Hunderttausende Menschen über acht Jahre lang gearbeitet. (12) Die ganze Mission hatte 1969 sage und schreibe 25 Milliarden Dollar gekostet. (11) Und jetzt lag es an Steve Bales. (10) Er entschied mit seiner Einschätzung von Fehler 1202, ob die 25 Milliarden Dollar teure Mondlandung abgebrochen werden sollte oder nicht. (9) Lag er mit seiner Entscheidung falsch, würde er entweder das Leben der Astronauten auf dem Gewissen haben und sein Land der Lächerlichkeit preisgeben (8) – oder er hätte 25 Milliarden Dollar in den Wind geschossen und die Mondlandung verschusselt. (7) Keine wirklich tolle Auswahl. (6) Jack Garman war derjenige, dem es zuerst einfiel. (5) Er sagte zu Bales „that’s okay“ und Bales tat das, was sein Job war. (4) Er rief ins Kontrollzentrum „Go!“ (3) Laut und deutlich: „GO!“ (2) Und Neil Armstrong flog weiter auf die Mondoberfläche zu. (1)

Was war eigentlich passiert?

Der Fehler 1202 wurde später bei der NASA natürlich entsprechend untersucht. Im März 1971 fasste Margaret Hamilton das Ergebnis der Untersuchungen in einem Brief an das Computermagazin Datamation zusammen. Ihre Einschätzung zu dem Vorfall war wie folgt:

„Aufgrund eines Fehlers in der Checkliste wurde der Schalter für das Rendezvous-Radar in die falsche Position gebracht. Dadurch wurden falsche Signale an den Computer gesendet. In der Folge musste der Computer seine normalen Funktionen für die Landung ausführen und erhielt gleichzeitig zusätzlich sinnlose Daten, deren Verarbeitung bis zu 15 Prozent seiner Kapazität beanspruchte. Der Computer (bzw. vielmehr die Software in ihm) war schlau genug zu erkennen, dass mehr Arbeit von ihm verlangt wurde, als er ausführen konnte. Er löste daher einen Alarm aus, der dem Astronauten sagen sollte: ‚Ich bin durch Aufgaben überlastet, die ich jetzt nicht ausführen sollte, und ich werde mich nur auf die wichtigen Aufgaben konzentrieren‘, also die, die für die Landung benötigt werden. […] Tatsächlich war der Computer programmiert, mehr zu tun, als nur den Fehler zu erkennen: In der Software befand sich ein ganzer Satz an Rettungsprogrammen. In diesem Fall reagierte er damit, die weniger wichtigen Aufgaben abzubrechen und die wichtigeren wieder zum Zug kommen zu lassen.“

Wer will, kann sich die Programmierung übrigens auch selbst mal ansehen:

  • Der Quellcode des AGC (Apollo Guidance Computers) ist 3,3 MB groß und steht auf GitHub zum Download bereit.
  • Auch ein Simulator des AGC mit 36 KB ROM und einer Taktfrequenz von 2,048 MHz steht zur Verfügung.

Die richtige Entscheidung

Steve Bales wurde nach Abschluss der Apollo-11-Mission durch Präsident Nixon geehrt. Er nahm von diesem stellvertretend für das ganze Team den NASA Group Achievement Award entgegen. Nixon würdigte Bales’ Entschlossenheit und Mut. „This is the young man, when the computers seemed to be confused and when he could have said Stop, [...] said Go.“ („Dies ist der junge Mann, der, als die Computer verwirrt waren und wenn er ‚Stop‘ hätte sagen können, [...], ‚Weiter‘ sagte.“) Dass Bales überhaupt diese Entscheidung treffen konnte, lag nur an Margaret Hamilton. Dafür erhielt sie in den folgenden Jahren mehrere Auszeichnungen. Unter anderem wurde ihr 2016 die Presidential Medal of Freedom durch den damaligen Präsidenten Barack Obama überreicht. Es waren ihre Ideen von asynchroner Software und prioritätsgesteuerter Ausführung, die den Landecomputer in der Mondfähre „Eagle“ nicht haben abstürzen lassen. Und sie wusste das. „Hätte der Computer das Problem nicht erkannt und entsprechend reagiert, dann bezweifle ich, dass Apollo 11 die erfolgreiche Mondlandung geworden wäre, die sie war“, beendete sie 1971 ihren Brief an das Computermagazin.

Und dann war da ja noch ...

Von all dem wussten die 500 bis 600 Millionen Menschen nichts, die vor den Fernsehern saßen und beobachteten, wie Neil Armstrong am 21. Juli 1969 um 02:56:20 Uhr (UTC) seinen Fuß in den Mondstaub setzte. Sie glaubten zu dem Zeitpunkt noch, dass Armstrongs kleiner Versprecher beim berühmten Satz: „Das ist ein kleiner Schritt für den Menschen … ein … riesiger Sprung für die Menschheit.“, der einzige Fehler bei der ersten Mondlandung war.