Margaret Hamilton geb. Heafield (* 17. August 1936 in Paoli, Indiana) ist eine US-amerikanische Informatikerin und Mathematikerin. Sie war Direktorin der Softwareentwicklungs-Abteilung des Instrumentation Laboratory (jetzt Draper Laboratory) am Massachusetts Institute of Technology (MIT), an dem die On-Board-Flugsoftware für den Apollo Guidance Computer entwickelt wurde.
Leben
Hamilton schloss 1954 die Hancock High School ab und erhielt 1958 ihren B.Sc. der Mathematik am Earlham College. Dort lernte sie ihren späteren Mann kennen, den angehenden Anwalt James Cox Hamilton. Die gemeinsame Tochter Lauren Hamilton, eine Schauspielerin und Kamerafrau, wurde 1959 geboren. Mit der Absicht, einen Abschluss an der Brandeis University zu erlangen, zog sie nach Massachusetts, nahm aber stattdessen eine Stelle als Softwareentwicklerin am MIT an.
Von 1976 bis 1984 war Hamilton Geschäftsführerin von Higher Order Software (HOS), einer Firma, die sie mitgegründet hatte. 1986 gründete sie in Cambridge, Massachusetts, Hamilton Technologies, Inc. und war Vorstandsvorsitzende des Unternehmens. Die Arbeit der Firma basierte auf der Universal Systems Language, die auf ihrem Paradigma für System- und Softwaredesign „Entwicklung vor dem Bedarf“ („Development Before The Fact“) basiert.
NASA
Bei der NASA war Hamilton dafür verantwortlich, die On-Board-Flugsoftware zu entwickeln, die notwendig war, um zum Mond und zurück zu navigieren sowie auf dem Mond zu landen. Die Software wurde danach während weiterer Raumfahrtprogramme eingesetzt, unter anderem bei der Weltraumstation Skylab. Sie erwarb praktische Erfahrungen in der Informatik und in der Softwareentwicklung, noch bevor es entsprechende Ausbildungen gab.
Dabei entwickelte sie innovative Ansätze in den Bereichen der Systemarchitektur, der Softwareentwicklung, Geschäfts- und Prozessmodellierung, Fehlervermeidung von Entwicklungsparadigmen, formalen System- und Softwaremodellierungs-Sprachen, systemorientierten Ansätzen zur Systemmodellierung und -entwicklung, automatisierten Laufzeit-Umgebungen, Methoden um die Zuverlässigkeit und Wiederverwendbarkeit von Software zu maximieren, Problemanalyse, dem Überprüfen der Korrektheit von Spracheigenschaften, Techniken für offene Architekturen stabiler Systeme, vollständige Automatisierung des Lebenszyklus, Qualitätssicherung, der nahtlosen Integration, verteilten Prozesssystemen, Fehlererkennung und -behebung, Mensch-Maschine-Schnittstellen, Betriebssysteme, Ende-zu-Ende-Test-Techniken und dem Management von Software über deren Lebenszyklus.
Auf dieser Basis entwickelte sie Konzepte für asynchrone Software, prioritätsgesteuerte Aufgabenabarbeitung und der „man-in-the-loop“ Entscheidungsfindung, die die Grundlage moderner, äußerst verlässlicher Softwarearchitektur darstellt.
Apollo 11
Die Entwicklungen Hamiltons und ihres Teams am MIT verhinderten 1969 den Abbruch der Apollo-11-Mondlandung. Drei Minuten, bevor die Landefähre die Mondoberfläche erreichte, wurden mehrere Computerwarnungen ausgelöst. Der Computer wurde von den eingehenden Daten überlastet, weil das für die Landung nicht erforderliche Rendezvous-Radar-System einen Zähler aktualisierte, was unnötig Rechenzeit verbrauchte. Aufgrund der stabilen Architektur (Fixed-priority pre-emptive scheduling) konnte der Computer dennoch weiterarbeiten, da die Apollo-Flugsoftware derart entwickelt wurde, dass wichtige Aufgaben, wie etwa die kritischen für die Landung, weniger wichtige Aufgaben unterbrechen konnten. Ursprünglich wurde das Problem einer fehlerhaften Checkliste und des ungeplanten Aktivierens des Radars der Besatzung zugeschrieben.
„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 % 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. […] 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.“
Eine erneute Untersuchung kam 2005 zu dem Schluss, dass ein Fehler im Design der Hardware des Rendezvous-Radars den Computer mit falschen Informationen versorgte, obwohl es sich im Stand-By-Modus befand.
Softwareentwicklung
Hamilton popularisierte den Begriff Software-Engineering. In diesem Bereich entwickelte sie Konzepte zu asynchroner Software, prioritätsgesteuerter Ausführung, Ende-zu-Ende-Tests und Man-in-the-loop-Entscheidungsfähigkeit, die durch Prioritätsanzeigen später die Grundlage besonders zuverlässiger Softwarearchitektur wurde.
Das Umfeld ihrer Arbeit war davon geprägt, dass es in jener Zeit noch keine Ausbildungsrichtungen für Informatik oder Softwareentwicklung gab. Gelernt wurde durch praktische Erfahrung.
Auszeichnungen
1986 wurde Hamilton von der Association for Women in Computing (AWC) der Augusta Ada Lovelace Award verliehen.
2003 zeichnete man sie für ihren wissenschaftlichen und technischen Anteil am Gelingen des Apollo-Programms mit dem NASA Exceptional Space Act Award aus. Der Preis war mit 37.200 US-Dollar dotiert, der höchsten Summe, die die NASA bis dahin an einen einzelnen Preisträger ausgezahlt hat.
Im November 2016 verlieh ihr Präsident Barack Obama die Presidential Medal of Freedom. 2017 wurde sie Fellow des Computer History Museum.
Im Jahr 2018 wurde ihr die Ehrendoktorwürde der Polytechnischen Universität von Katalonien verliehen.
Veröffentlichungen
Margaret Hamilton hat 130 Artikel und Berichte über die 60 Projekte und die sechs größten Programme veröffentlicht, an denen sie beteiligt war. Eine Auswahl:
- M. Hamilton, S. Zeldin (1976) „Higher order software—A methodology for defining software“ IEEE Transactions on Software Engineering, vol. SE-2, no. 1, Mar. 1976
- M. Hamilton (1994), „Inside Development Before the Fact,“ cover story, Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994
- M. Hamilton, Hackler, W.R. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-04), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003–2004
- M. H. Hamilton and W.R. Hackler (2007), „Universal Systems Language for Preventative Systems Engineering,“ Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, Hoboken, NJ. Mar. 14-16, 2007, paper #36
Literatur
- Artikel auf Time.com (englisch)
- Informatik Aktuell (Magazin): Persönlichkeiten der Informatik: Margaret Hamilton (deutsch)
- Hilmar Schmundt, Die unbekannte Heldin – wie eine junge Programmiererin die Mondlandung rettete, in: Der Spiegel, Nr. 30 vom 23. Juli 2016, S. 100–103 (online)
Weblinks
- Software-Pionierin Margaret Hamilton. Ihr Code brachte die Apollo-Astronauten sicher zum Mond am 19. Juli 2019 auf tagesspiegel.de
- Daniela Wakonigg: 17. August 1936 - Geburtstag Margaret Hamilton WDR ZeitZeichen vom 17. August 2021. (Podcast)
Einzelnachweise
- 1 2 Emma Stickgold: James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment. Boston Globe, 31. August 2014, abgerufen am 26. Mai 2015 (englisch).
- ↑ 1936 ist als Geburtsjahr auch angegeben bei Tiffany Wayne, American women of science since 1900, ABC-Clio, 2011
- 1 2 3 4 5 NASA Office of Logic Design „About Margaret Hamilton“ (abgerufen am 19. Oktober 2016)
- ↑
- 1 2 Margaret Hamilton. Cambridge Women’s Heritage Project (CWHP, englisch).
- ↑ M. Hamilton and W.R. Hackler, „Universal Systems Language: Lessons Learned from Apollo“, IEEE Computer, Dec. 2008
- 1 2 Michael Braukus: NASA Honors Apollo Engineer. In: NASA News, 3. September 2003.
- ↑ Margaret H. Hamilton: Computer Got Loaded. In: Datamation. Cahners Publishing Company, 1. März 1971, ISSN 0011-6963.
- ↑ Don Eyles: Tales from the Lunar Module Guidance Computer. In: 27th annual Guidance and Control Conference. American Astronautical Society, 6. Februar 2004, abgerufen am 13. Juni 2013.
- ↑ A. J. S. Rayl: NASA Engineers and Scientists: Transforming Dreams Into Reality. In: NASA.gov. 2007 (englisch).
- ↑ ACM Digital Library. Abgerufen am 24. Januar 2016.
- ↑ Bertrand Meyer: The origin of „software engineering“. In: Bertrand Meyer’s technology+ blog. 4. April 2013, abgerufen am 24. Januar 2016 (englisch).
- 1 2 NASA Honors Apollo Engineer. NASA-Pressemitteilung. 3. September 2003 (englisch).
- ↑ NASA-Administrator Sean O’Keefe sagte dazu: „Die Konzepte, die sie und ihr Team entwickelten, wurden zu den Grundsteinen moderner Software-Entwicklung. Es ist mir eine Ehre, Frau Hamilton für ihre außerordentlichen Leistungen für die NASA auszuzeichnen.“
- ↑ President Obama Names Recipients of the Presidential Medal of Freedom. The White House, 16. November 2016, abgerufen am 22. November 2016 (englisch).
- ↑ Investiture of scientist Margaret Hamilton as an honorary doctor of the UPC. Universitat Politècnica de Catalunya, 18. Oktober 2018 (englisch).