Ihr Code brachte Menschen auf den Mond – und erfand die Software selbst

Margaret Hamilton sollte nicht das moderne Konzept der Software erfinden und Menschen auf den Mond bringen. Man schrieb das Jahr 1960, keine Zeit, in der Frauen ermutigt wurden, sich für hochkarätige technische Berufe zu entscheiden. Hamilton, eine 24-Jährige mit einem Bachelor-Abschluss in Mathematik, hatte eine Stelle als Programmiererin am MIT bekommen, und der Plan war, dass sie ihren Mann während seiner dreijährigen Tätigkeit an der Harvard Law unterstützen sollte. Danach sollte sie an der Reihe sein – sie wollte einen Abschluss in Mathematik machen.

Aber dann kam das Apollo-Raumfahrtprogramm. Und Hamilton blieb im Labor, um eine epische Ingenieursleistung zu leiten, die dazu beitragen sollte, die Zukunft dessen, was menschlich – und digital – möglich war, zu verändern.

Mehr anzeigen

Als berufstätige Mutter in den 1960er Jahren war Hamilton ungewöhnlich; aber als Raumschiffprogrammiererin war Hamilton geradezu radikal. Hamilton brachte ihre Tochter Lauren an den Wochenenden und abends mit ins Labor. Während die 4-jährige Lauren auf dem Boden des Büros mit Blick auf den Charles River schlief, programmierte ihre Mutter und erstellte Routinen, die schließlich in den Computer des Apollo-Kommandomoduls eingebaut wurden.

„Die Leute sagten immer zu mir: ‚Wie kannst du deine Tochter verlassen? Wie kannst du das tun?'“ erinnert sich Hamilton. Aber sie liebte die geheimnisvolle Neuartigkeit ihres Jobs. Sie mochte die Kameradschaft – die After-Work-Drinks im MIT-Fakultätsclub; die Geek-Witze, wie z. B., dass sie auf dem Flur „nach links minus abzweigen“ würde. Außenstehende hatten keinen blassen Schimmer. Aber im Labor, sagt sie, „war ich eine von den Jungs.“

Damals wie heute dominierten „die Jungs“ Technik und Ingenieurwesen. Wie die weiblichen Programmierer in der heutigen von Vielfalt geprägten Technologiebranche war Hamilton ein Ausreißer. Es mag die heutigen Softwareentwickler überraschen, dass einer der Gründerväter ihres Männerclubs tatsächlich eine Mutter war – und das sollte ihnen zu denken geben, wenn sie darüber nachdenken, warum die Ungleichheit zwischen den Geschlechtern aus der Mad-Men-Ära bis heute anhält.

‚Als ich damit anfing, wusste niemand, was wir da taten. Es war wie der Wilde Westen.‘ – Margaret Hamilton

Als Hamiltons Karriere begann, stand die Software-Welt dank des 1961 von John F. Kennedy ins Leben gerufenen Apollo-Programms kurz vor einem großen Sprung. Am MIT Instrumentation Lab, wo Hamilton arbeitete, entwickelten sie und ihre Kollegen die Grundideen der Computerprogrammierung, als sie den Code für den ersten tragbaren Computer der Welt schrieben. Sie wurde zur Expertin für Systemprogrammierung und gewann wichtige technische Auseinandersetzungen. „Als ich damit anfing, wusste niemand, was wir da taten. Es war wie im Wilden Westen. Es gab keinen Kurs dafür. Es wurde nicht gelehrt“, sagt Hamilton.

Das war ein Jahrzehnt vor Microsoft und fast 50 Jahre bevor Marc Andreessen feststellte, dass Software in der Tat „die Welt auffrisst“. In den frühen Tagen von Apollo dachte die Welt noch nicht viel über Software nach. In dem ursprünglichen Dokument, das die technischen Anforderungen der Apollo-Mission festlegte, wurde das Wort Software nicht einmal erwähnt, schreibt der MIT-Luftfahrtprofessor David Mindell in seinem Buch Digital Apollo. „Software war weder im Zeitplan noch im Budget enthalten.“ Jedenfalls nicht am Anfang.

mhh-apollo
Margaret Hamilton im Inneren eines Modells des Apollo-Kommandomoduls.

MIT

Margaret-Hamilton
Hamilton steht neben Listen mit dem Quellcode des Apollo Guidance Computer (AGC).

NASA

mhh-and-an-fsq-7.ppt
Hamilton mit einem ihrer ehemaligen Kollegen am 19. April 1962. Hamilton entwickelte Software für den ersten AN/FSQ-7-Computer in den Lincoln Labs. Hamiltons Software war ein Programm zur Überwachung von Radarregistrierungen, mit dem potenzielle feindliche Flugzeuge entdeckt werden konnten.

Mit freundlicher Genehmigung von Margaret Hamilton

mhh-lauren-2
Hamilton und ihre Tochter Lauren.

Mit freundlicher Genehmigung von Margaret Hamilton

Präsentation1
Hamilton, ganz links, sitzt mit einigen ihrer Mitarbeiter im Scama-Raum am MIT, während sie die Apollo-8-Mission unterstützt.

Mit freundlicher Genehmigung von Margaret Hamilton

Raytheon-Labor
Ein Raytheon-Mitarbeiter webt Kupferdrähte durch magnetische Ringe.

Jack Poundstone/Raytheon

Raytheon-Labor1
„Kleine alte Damen“ von Raytheon.

Jack Poundstone/Raytheon

Raytheon-Kupfer
Kupferdrähte von Raytheon in Nahaufnahme

Jack Poundstone/Raytheon

Aber mit der Entwicklung des Apollo-Projekts wurde die zentrale Bedeutung von Software für die Erfüllung der Mission immer deutlicher. 1965 übernahm Hamilton die Verantwortung für die Flugsoftware der Apollo-Computer an Bord. Es war eine aufregende Zeit, und die USA waren auf die Arbeit von Hamilton angewiesen. Aber manchmal hielt der Druck Hamilton nachts wach. Einmal eilte sie nach einer nächtlichen Party zurück ins Computerlabor, um einen Code zu korrigieren, bei dem sie plötzlich feststellte, dass er fehlerhaft war. „

Mitte 1968 arbeiteten mehr als 400 Leute an der Apollo-Software, denn mit Software wollten die USA das Rennen zum Mond gewinnen. Wie sich herausstellte, sollte die Software der Welt aber noch viel mehr helfen. Während Hamilton und ihre Kollegen das Apollo-Raumschiff programmierten, brüteten sie auch das aus, was sich zu einer 400-Milliarden-Dollar-Industrie entwickeln sollte.

Für Hamilton bedeutete Programmieren, Löcher in Stapel von Lochkarten zu stanzen, die über Nacht in Stapeln auf einem riesigen Honeywell-Großrechner verarbeitet wurden, der die Arbeit der Apollo-Landeeinheit simulierte. „Wir mussten alles simulieren, bevor es flog“, erinnert sich Hamilton. Sobald der Code fertig war, wurde er zu einer nahe gelegenen Raytheon-Anlage transportiert, wo eine Gruppe von Frauen, erfahrene Näherinnen, die im Apollo-Programm als „Little Old Ladies“ bekannt waren, Kupferdrähte durch magnetische Ringe fädelten (ein Draht, der durch einen Kern ging, war eine 1; ein Draht, der um den Kern herumging, war eine 0). Vergessen Sie RAM oder Diskettenlaufwerke; bei Apollo war der Speicher buchstäblich fest verdrahtet und nahezu unzerstörbar.

Apollo-Flüge führten zwei nahezu identische Maschinen mit sich: eine für die Mondlandefähre – den Eagle, der auf dem Mond landete – und die andere für das Kommandomodul, das die Astronauten zur Erde und zurück brachte. Diese 70 Pfund schweren Apollo-Computer waren tragbare Computer, wie es sie sonst nicht gab. Er wurde von MIT-Ingenieuren wie Hal Laning und Hamiltons Chef Dick Batton entwickelt und war einer der ersten wichtigen Computer, der integrierte Schaltkreise anstelle von Transistoren verwendete. Wie Mindell erzählt, war es das erste computergestützte Navigationssystem an Bord, das von Menschen bedient werden sollte, aber mit einer „Fly-by-Wire“-Autopilot-Technologie ausgestattet war – ein Vorläufer der computergestützten Navigationssysteme, die heute Standard in Düsenflugzeugen sind.

Das System speicherte mehr als 12.000 „Wörter“ in seinem permanenten Speicher – die von den Raytheon-Mitarbeitern aufgefädelten Kupfer-„Seile“ – und hatte 1.024 Wörter in seinem temporären, löschbaren Speicher. „Es war das erste Mal, dass sich ein wichtiger Computer in einem Raumschiff befand und mit großer Verantwortung für die Mission betraut wurde“, sagt Don Eyles, der am Code der Mondlandefähre gearbeitet hat, als er am IL des MIT tätig war. „Wir haben gezeigt, dass das möglich ist. Wir haben es mit einem heute unglaublich kleinen Speicherplatz und einer sehr langsamen Rechengeschwindigkeit geschafft.“ Ohne diesen Code hätte es Neil Armstrong nicht auf den Mond geschafft. Und ohne die von Hamilton, Eyles und dem Team von MIT-Ingenieuren geschriebene Software wäre der Computer ein Blindgänger gewesen.

Das wurde am 20. Juli 1969 deutlich, nur wenige Minuten bevor Apollo 11 auf dem Meer der Stille landete. Aufgrund eines „Dokumentationsfehlers“, wie es der Apollo-Software-Ingenieur Don Eyles nannte, begann der Apollo-Computer in dieser kritischen Phase der Mission beunruhigende Fehlermeldungen auszuspucken. Aber hier retteten die von Hamilton und anderen gewonnenen technischen Argumente den Tag. Die Fehlermeldungen tauchten auf, weil der Computer überfordert war und eine Reihe unnötiger Berechnungen durchführen musste, obwohl er eigentlich für die Landung des Moduls auf der Mondoberfläche benötigt wurde. In Houston wussten die Ingenieure, dass sich der Computer aufgrund der einzigartigen asynchronen Verarbeitung von Apollo auf die eigentliche Aufgabe konzentrieren würde – die Landung der Eagle auf dem Meer der Ruhe. Wenn die Software merkte, dass sie nicht genug Platz hatte, um alle Funktionen auszuführen, die sie ausführen sollte, durchlief sie ihren Fehlererkennungsprozess und konzentrierte sich auf die Aufgabe mit der höchsten Priorität, sagt Hamilton.

‚Das würde nie passieren‘

Eines Tages spielte Lauren mit der Anzeige- und Tastatureinheit des MIT-Kommandomodulsimulators, die den Spitznamen DSKY (dis-key) trägt. Als sie mit der Tastatur herumspielte, erschien eine Fehlermeldung. Lauren hatte den Simulator zum Absturz gebracht, indem sie ein Vorstartprogramm namens P01 gestartet hatte, während sich der Simulator mitten im Flug befand. Es gab keinen Grund, warum ein Astronaut so etwas tun sollte, aber dennoch wollte Hamilton einen Code hinzufügen, um den Absturz zu verhindern. Diese Idee wurde von der NASA überstimmt. „Man hatte uns immer wieder gesagt, dass Astronauten keine Fehler machen würden“, sagt sie. „Sie waren darauf trainiert, perfekt zu sein.“ Stattdessen erstellte Hamilton eine Programmnotiz – ein Zusatz zur Programmdokumentation, der den NASA-Ingenieuren und den Astronauten zur Verfügung stehen sollte: „P01 während des Fluges nicht auswählen“, hieß es dort. Hamilton wollte dem Apollo-System einen Fehlerprüfungscode hinzufügen, der verhindern sollte, dass dies die Systeme durcheinander brachte. Aber das erschien ihren Vorgesetzten übertrieben. „Alle sagten: ‚Das würde nie passieren'“, erinnert sich Hamilton.

Aber es passierte. Kurz vor Weihnachten 1968 – fünf Tage nach dem historischen Apollo-8-Flug, der die Astronauten zur ersten bemannten Mondumrundung brachte – wählte der Astronaut Jim Lovell während des Fluges versehentlich P01. Hamilton befand sich im Konferenzraum des Instrumentation Laboratory im zweiten Stock, als der Anruf aus Houston einging. Der Start des P01-Programms hatte alle Navigationsdaten, die Lovell gesammelt hatte, gelöscht. Das war ein Problem. Ohne diese Daten wäre der Apollo-Computer nicht in der Lage gewesen, herauszufinden, wie die Astronauten nach Hause kommen sollten. Hamilton und die Programmierer des MIT mussten eine Lösung finden, und sie musste perfekt sein. Nachdem sie neun Stunden damit verbracht hatten, die 8 Zoll dicke Programmliste auf dem Tisch vor ihnen durchzugehen, hatten sie einen Plan. Houston würde neue Navigationsdaten hochladen. Alles würde gut gehen. Dank Hamilton – und Lauren – kamen die Apollo-Astronauten nach Hause.

Auch dank Hamilton und der von ihr geleiteten Arbeit änderten sich die Vorstellungen davon, was die Menschheit tun und sein könnte, nicht nur jenseits der Stratosphäre, sondern auch hier auf dem Boden. Das Software-Engineering, ein Konzept, bei dem Hamilton Pionierarbeit leistete, hat sich von der Mondlandung bis zu fast allen menschlichen Unternehmungen durchgesetzt. In den 1970er Jahren hatte Hamilton die NASA und das Apollo-Programm hinter sich gelassen. Danach gründete und leitete sie mehrere Softwareunternehmen. Heute ist ihr Unternehmen, Hamilton Technologies, nur ein paar Blocks vom MIT entfernt, wo ihre Karriere begann – ein Zentrum der Code-Revolution, das immer noch nach den Sternen Ausschau hält.

Sie mögen vielleicht auch:

Schreibe einen Kommentar