Eine Visionärin institutionalisiert das Software Engineering
Am 30. September verstarb Margaret Hamilton im Alter von 90 Jahren. Als Leiterin der Software-Entwicklung am MIT Instrumentation Lab während des Apollo-Programms war Hamilton nicht nur maßgeblich für den Erfolg der ersten bemannten Mondlandung verantwortlich, sondern etablierte Software Engineering überhaupt erst als eigenständige, wissenschaftlich fundierte Ingenieursdisziplin. Zu einer Zeit, als Programmierung noch primär als nebensächliches Handwerk zur Hardware verstanden wurde, forderte und bewies Hamilton, dass Softwarearchitektur denselben rigorosen Kriterien bezüglich Verlässlichkeit, Spezifikation und Redundanz unterliegen muss wie mechanische oder elektronische Bauteile.
Ihr akademischer Weg begann mit Studien in Mathematik und Philosophie (Earlham College, 1958). Über meteorologische Modellierungssoftware am MIT bei Edward Lorenz – deren Berechnungen wesentliche Grundlagen für die spätere Chaostheorie lieferten – und das militärische Luftverteidigungssystem SAGE (Semi-Automatic Ground Environment) auf dem AN/FSQ-7-Rechner stieß Hamilton früh auf die Kernfrage der Informatik: Wie lassen sich Software-Systeme so entwerfen, dass sie unter extremen Stress- und Fehlerszenarien deterministisch und fehlerrobust operieren?
Die AGC-Architektur: Prioritätsgesteuertes Multitasking unter Extrembedingungen
Als 1965 das MIT den NASA-Auftrag für die Onboard-Flugsoftware der Apollo-Missionen erhielt, stieg Hamilton als erste Programmiererin in das Projekt ein und leitete ab 1968 ein Team von über 400 Entwicklern für das Command and Service Module sowie die Mondlandefähre. Der Apollo Guidance Computer (AGC) verfügte über stark limitierte Hardwareressourcen: Lediglich rund 2 Kiloworte RAM (Cores, je 16 Bit) und 36 Kiloworte fest verdrahteter ROM (Core Rope Memory) bei einer Taktfrequenz von etwa 1 MHz standen zur Verfügung.
Um unter diesen Restriktionen absolute Zuverlässigkeit zu garantieren, konzipierte Hamiltons Team eine asynchrone, prioritätsgesteuerte Exekutive (Scheduling-Architektur). Die Software war so strukturiert, dass Prozesse anhand statischer Prioritätsstufen in Warteschlangen eingereiht wurden:
- Kooperative und zeitkritische Task-Verwaltung: Niedrig priorisierte Aufgaben gaben regelmäßig Rechenzeit ab, während sicherheitskritische Regelschleifen strikte Deadlines einhalten konnten.
- Graceful Degradation und Dynamic Task Shedding: Bei einer Überlastung des Prozessors brach das System niederpriore Hintergrundprozesse gezielt ab, verwarf veraltete I/O-Puffer und fokussierte die Zyklen ausschließlich auf Triebwerkssteuerung und Lageregelung.
Der Härtetest bei Apollo 11: Der Fehler 1202 als Triumph der Resilienz
Die historische Belastungsprobe dieser Architektur ereignete sich am 20. Juli 1969, drei Minuten vor dem Aufsetzen der Mondlandefähre Eagle auf der Mondoberfläche. Durch eine falsche Schalterstellung des Rendezvous-Radars überflutete das Radarsystem den AGC-Bus mit permanenten Stehlzyklen und Interrupts, was zu einer rechnerischen CPU-Überlastung von über 15 Prozent führte. Die gefürchteten Alarme 1201 und 1202 („Executive Overflow“) wurden ausgelöst.
In einem konventionellen, monolithischen System hätte dieser Pufferüberlauf zum vollständigen Systemabsturz oder Lockup geführt. Hamiltons Architektur jedoch griff wie spezifiziert: Der Rechner eliminierte Radar-Berechnungen, bewahrte die Integrität der Steuerungsvektoren und hielt das Abstiegs-Triebwerk präzise im Soll. Die Landung glückte, weil Resilienz nicht als nachträglicher Patch, sondern als grundlegendes Architekturparadigma in das Betriebssystem eingewoben war.
Von der Raumfahrt zu formalen Methoden und modernen Systemen
Nach ihrer Tätigkeit am MIT gründete Hamilton erfolgreiche Softwareunternehmen und entwickelte mit der Universal Systems Language (USL) und dem Paradigma „Development Before the Fact“ formale Ansätze, um logische Inkonsistenzen und Nebenläufigkeitsfehler bereits in der Spezifikationsphase mathematisch auszuschließen. 2016 wurde ihr Lebenswerk von US-Präsident Barack Obama mit der Presidential Medal of Freedom gewürdigt.
Die Prinzipien, die Margaret Hamilton vor über einem halben Jahrhundert formulierte – defensive Programmierung, Entkopplung von Kontrollflüssen, Priorisierung unter Last und formale Systemarchitektur –, bilden bis heute das theoretische und praktische Fundament für moderne missionskritische Systeme, von Avionik- und Automotive-Controllern bis hin zu verteilten Cloud-Infrastrukturen.
