Margaret Elaine Hamilton (geb. Heafield, geboren am 17. August 1936) ist eine angesehene amerikanische Informatikerin. Sie war Direktorin der Software Engineering Division am MIT Instrumentation Laboratory, wo sie maßgeblich an der Entwicklung der Bordflugsoftware für den Apollo Guidance Computer der NASA beteiligt war, die für das Apollo-Programm von entscheidender Bedeutung ist. Anschließend gründete sie zwei Softwareunternehmen: Higher Order Software im Jahr 1976 und Hamilton Technologies im Jahr 1986, beide mit Sitz in Cambridge, Massachusetts.
Margaret Elaine Hamilton (geb. Heafield; geboren am 17. August 1936) ist eine amerikanische Informatikerin. Sie leitete die Software Engineering Division am MIT Instrumentation Laboratory, wo sie die Entwicklung der Bordflugsoftware für den Apollo Guidance Computer der NASA für das Apollo-Programm leitete. Später gründete sie zwei Softwareunternehmen, Higher Order Software im Jahr 1976 und Hamilton Technologies im Jahr 1986, beide in Cambridge, Massachusetts.
Hamiltons umfangreiches Werk umfasst über 130 veröffentlichte Aufsätze, Verfahren und Berichte sowie Beiträge zu etwa sechzig Projekten und sechs bedeutenden Programmen. Ihr wird zugeschrieben, den Begriff „Software-Engineering“ geprägt zu haben, und formulierte seinen Zweck wie folgt: „Ich begann, den Begriff ‚Software-Engineering‘ zu verwenden, um ihn von Hardware und anderen Arten von Engineering zu unterscheiden, behandelte jedoch jede Art von Engineering als Teil des gesamten System-Engineering-Prozesses.“
Am 22. November 2016 verlieh Präsident Barack Obama Hamilton die Presidential Medal of Freedom und würdigte damit ihre entscheidenden Beiträge zur Entwicklung von Bordsoftware für den Apollo-Mond der NASA Missionen.
Frühes Leben und Bildungshintergrund
Margaret Elaine Heafield wurde am 17. August 1936 in Paoli, Indiana, als Tochter von Kenneth Heafield und Ruth Esther Heafield (geb. Partington) geboren. Anschließend zog ihre Familie nach Michigan, wo sie 1954 ihre Sekundarschulausbildung an der Hancock High School abschloss.
1955 begann sie ihr Mathematikstudium an der University of Michigan und wechselte anschließend an das Earlham College, eine Einrichtung, die zuvor ihre Mutter besucht hatte. 1958 erwarb sie einen Bachelor of Arts in Mathematik, ergänzt durch ein Nebenfach in Philosophie. Sie schreibt Florence Long, die die Mathematikabteilung in Earlham leitete, zu, dass sie ihr Streben nach abstrakter Mathematik und einer Karriere als Mathematikprofessorin gefördert hat.
Ihre Entscheidung, ein Philosophie-Nebenfach in ihre akademischen Aktivitäten aufzunehmen, führt sie auf den Einfluss ihres Vaters, eines Dichters, und ihres Großvaters, eines Schulleiters, zurück.
Beruflicher Werdegang
Ursprünglich hatte Hamilton während seines Aufenthalts in Boston geplant, ein Aufbaustudium in abstrakter Mathematik an der Brandeis University zu absolvieren. Mitte 1959 begann Hamilton jedoch eine Anstellung bei Edward Norton Lorenz in der Meteorologieabteilung des Massachusetts Institute of Technology (MIT). Zu ihren Aufgaben gehörte die Entwicklung von Software zur Wettervorhersage unter Verwendung der LGP-30- und PDP-1-Computer bei Marvin Minskys Projekt MAC. Ihre Beiträge waren integraler Bestandteil von Lorenz‘ späteren Veröffentlichungen zur Chaostheorie, eine Tatsache, die Lorenz selbst anerkannte. Damals waren Informatik und Software-Engineering noch nicht offiziell als akademische Disziplinen etabliert; Folglich erwarben Programmierer ihre Fähigkeiten in der Regel durch praktische Erfahrungen am Arbeitsplatz. Im Sommer 1961 wechselte sie zu einem anderen Projekt und stellte anschließend Ellen Fetter als ihre Nachfolgerin ein und schulte sie.
Das SAGE-Projekt
Zwischen 1961 und 1963 war Hamilton am Semi-Automatic Ground Environment (SAGE)-Projekt am MIT Lincoln Laboratory beteiligt und fungierte als einer der Programmierer, die für die Entwicklung von Software für den Prototyp des AN/FSQ-7-Computers (XD-1) verantwortlich waren, den die US-Luftwaffe zur Erkennung potenziell feindlicher Flugzeuge einsetzte. Darüber hinaus entwickelte sie Software für eine Satellitenverfolgungsinitiative der Air Force Cambridge Research Laboratories. Das SAGE-Projekt entstand als Erweiterung des Project Whirlwind, einer MIT-Initiative mit dem Ziel, ein Computersystem zu schaffen, das in der Lage ist, Wettermuster vorherzusagen und ihre Flugbahnen durch Simulation zu überwachen. Anschließend wurde SAGE für militärische Anwendungen in der Flugabwehr adaptiert. Hamilton erzählte:
Als man als Anfänger in diese Organisation kam, wurde einem ein Programm zugewiesen, das niemand jemals verstehen oder ausführen konnte. Als ich Anfänger war, haben sie es mir auch gegeben. Und was passiert war, war, dass es sich um eine knifflige Programmierung handelte, und der Autor war erfreut darüber, dass alle seine Kommentare auf Griechisch und Lateinisch waren. Also wurde mir dieses Programm zugewiesen und ich habe es tatsächlich zum Laufen gebracht. Die Antworten wurden sogar in Latein und Griechisch ausgedruckt. Ich war der Erste, der es zum Laufen gebracht hat.
Ihre erfolgreichen Bemühungen bei diesem Projekt machten sie zu einer guten Kandidatin für die leitende Entwicklerrolle für Apollo-Flugsoftware bei der NASA.
MIT Instrumentation Laboratory und Apollo Guidance Computer Development
Im Jahr 1965 wurde Margaret Hamilton auf das Apollo-Projekt aufmerksam und suchte eine Beteiligung, angelockt von der „sehr aufregenden“ Aussicht auf eine Monderkundungsinitiative. Anschließend trat sie dem MIT Instrumentation Laboratory bei, einer Einrichtung, die für die Entwicklung des Apollo Guidance Computer für das Apollo-Mondforschungsprogramm verantwortlich ist. Hamilton zeichnete sich als erste Programmiererin aus, die für das Apollo-Projekt am MIT eingestellt wurde, und als erste weibliche Programmiererin in diesem Unternehmen, die schließlich zur Direktorin der Software Engineering Division aufstieg. Zu ihren Aufgaben gehörte die Leitung des Teams, das die gesamte Bordsoftware für das Kommando- und Mondlandemodul der Apollo-Raumsonde sowie für die spätere Raumstation Skylab entwickelte und gründlich testete. Ein bestimmter Teil ihres Teams konzentrierte sich auf den Entwurf und die Implementierung der Systemsoftware, die kritische Fehlererkennungs- und Wiederherstellungsmechanismen wie Neustarts und die Display Interface Routines (auch als Priority Displays bekannt) umfasste, die beide von Hamilton konzipiert und entwickelt wurden. Sie eignete sich praktisches Fachwissen in einer Zeit an, in der formelle Lehrpläne für Informatik rar waren und es keine Kurse für Softwaretechnik gab.
Hamiltons umfangreiches Fachwissen umfasste ein breites Spektrum an Disziplinen, darunter Systemdesign und Softwareentwicklung, Unternehmens- und Prozessmodellierung, Entwicklungsparadigmen, formale Systemmodellierungssprachen, systemorientierte Objekte für Systemmodellierung und -entwicklung, automatisierte Lebenszyklusumgebungen, Methoden zur Optimierung der Softwarezuverlässigkeit und -wiederverwendung, Domänenanalyse, Sicherstellung der Korrektheit durch integrierte Spracheigenschaften, Techniken mit offener Architektur für robuste Systeme, umfassende Lebenszyklusautomatisierung, Qualitätssicherung, nahtlose Integration, fortschrittliche Techniken zur Fehlererkennung und -behebung, Mensch-Maschine-Schnittstellensysteme, Betriebssysteme, End-to-End-Testprotokolle und ausgefeilte Strategien für das Lebenszyklusmanagement. Diese integrierten Techniken wurden entwickelt, um die Codezuverlässigkeit zu verbessern, indem sie die frühzeitige Erkennung und Behebung von Fehlern im Softwareentwicklungsprozess erleichtern.
Die Mondlandung von Apollo 11
Während einer kritischen Phase der Apollo 11-Mission verhinderte der Apollo Guidance Computer in Verbindung mit seiner Bordflugsoftware erfolgreich einen Abbruch der Mondlandung. Ungefähr drei Minuten vor der Landung des Mondlanders wurden mehrere Computeralarme aktiviert. Der Softwareentwickler Robert Wills gab an, dass der Astronaut Buzz Aldrin eine Anfrage an den Computer gestellt habe, um die Höhe und andere relevante Daten auf seinem Bildschirm anzuzeigen. Obwohl das System für die gleichzeitige Aufnahme von sieben Programmen ausgelegt war, stellte Aldrins Eingabe nur ein Achtel dar. Diese Aktion, die Aldrin häufig in Simulationen geübt hatte, führte während des tatsächlichen Abstiegs zu einer Folge unvorhergesehener Fehlercodes. Die Flugsoftware an Bord fing diese Alarme ab und präsentierte „niemals passieren dürfen“-Anzeigen, die die Astronauten mit Prioritätsalarmbenachrichtigungen unterbrachen. Hamilton hatte genau dieses Szenario Jahre im Voraus vorhergesehen und sich darauf vorbereitet.
Hamilton erinnerte sich häufig an einen zusätzlichen Failsafe-Mechanismus. Ihr innovatives „Prioritätsanzeige“-System brachte ein Folgerisiko mit sich: die Möglichkeit einer Desynchronisation zwischen dem Astronauten und dem Computer während kritischer Betriebsperioden. Als Alarme ausgelöst wurden und Prioritätsanzeigen die Standardanzeigen ersetzten, vollzog sich der grundlegende Übergang zu neuen Programmen in einem Tempo, das als „einen Schritt langsamer“ als bei heutigen Systemen beschrieben wurde.
Hamilton hatte dieses potenzielle Problem ausführlich analysiert. Ihre Analyse ergab, dass das System möglicherweise immer noch eine „normale“ Reaktion registriert, wenn ein Astronaut wie Aldrin zu schnell mit einer Prioritätsanzeige interagiert. Ihre Lösung war eine Verfahrensanweisung: Beim Erscheinen einer Prioritätsanzeige sollte der Astronaut zunächst bis fünf zählen.
Bestimmten Berichten zufolge wurden die Alarme dadurch ausgelöst, dass die Astronauten versehentlich den Rendezvous-Radarschalter aktiviert ließen; Diese Behauptung bezüglich der unbeabsichtigten Aktivierung des Radars wird jedoch von Robert Wills vom National Museum of Computing bestritten. Der Computer erlebte eine Überlastung von Unterbrechungen, die auf eine falsch phasenweise Stromversorgung des Rendezvous-Radars des Landers zurückzuführen war. Die Programmalarme signalisierten „Executive Overflows“, was darauf hinwies, dass der Leitcomputer nicht in der Lage war, alle ihm zugewiesenen Aufgaben in Echtzeit auszuführen, und daher einige Vorgänge verschieben musste. Hamiltons Team nutzte die asynchrone Steuerung, die ursprünglich von J. Halcombe Laning entworfen wurde, um die asynchrone Flugsoftware zu entwickeln.
Die Flugsoftware enthielt fortschrittliche Fehlererkennungs- und Wiederherstellungstechniken, wie einen systemweiten „Kill and Recompute“-Neustart von einem „sicheren Ort“ und Snapshot-/Rollback-Funktionen. Diese Fähigkeiten erleichterten die Entwicklung von Display-Interface-Routinen (auch als Prioritätsanzeigen bekannt), die in Kombination mit Man-in-the-Loop-Funktionen die standardmäßigen Missionsanzeigen von Astronauten unterbrechen könnten, um kritische Notfallalarme anzuzeigen. Diese Funktionalität beruhte darauf, jedem Softwareprozess eine eindeutige Priorität zuzuweisen und so eine präzise zeitliche und sequentielle Ausführung aller Ereignisse sicherzustellen.
Hamiltons Prioritätsalarmsystem wurde entwickelt, um bei Notfällen die standardmäßigen Astronautenanzeigen außer Kraft zu setzen und wichtige Informationen anzuzeigen, die eine „Go/No-Go“-Entscheidung bezüglich der Landung ermöglichten. Während eines kritischen Vorfalls interpretierte Jack Garman, ein NASA-Computeringenieur bei der Missionskontrolle, die von den Prioritätsanzeigen übermittelten Fehlermeldungen genau und genehmigte die Fortsetzung der Mission mit dem Ausruf „Los, los!“ Paul Curto, ein leitender Technologe, der Hamilton anschließend für einen NASA Space Act Award nominierte, lobte ihre Beiträge als „die Grundlage für äußerst zuverlässiges Softwaredesign“.
Hamilton dokumentierte anschließend ihre Sicht auf den Vorfall:
Die Software des Systems wurde entwickelt, um einen Überlastungszustand zu erkennen, der darauf hinweist, dass mehr Aufgaben angefordert werden, als optimal ausgeführt werden können. Als es entdeckt wurde, löste es einen Alarm aus und signalisierte dem Astronauten: „Ich bin derzeit mit Aufgaben überlastet und werde nur den kritischsten Aufgaben Vorrang geben“, d. h. denjenigen, die für die Landung unbedingt erforderlich sind. Über die bloße Fehlererkennung hinaus umfasste die Software eine umfassende Suite von Wiederherstellungsprogrammen. In diesem konkreten Fall bestand die Reaktion der Software darin, Aufgaben mit niedrigerer Priorität zu deaktivieren und Funktionen mit höherer Priorität wiederherzustellen. Hätte das System dieses Problem nicht erkannt und die Wiederherstellung nicht eingeleitet, wäre die erfolgreiche Mondlandung von Apollo 11 erheblich gefährdet gewesen.
Unternehmerische Unternehmungen
1976 gründete Hamilton zusammen mit Saydean Zeldin Higher Order Software (HOS) mit dem Ziel, Konzepte zur Fehlervermeidung und Fehlertoleranz voranzutreiben, die aus ihrer Arbeit am Apollo-Programm am MIT abgeleitet wurden. Anschließend entwickelten sie USE.IT, ein Produkt, das auf der am MIT formulierten HOS-Methodik basiert. Dieses Produkt fand in verschiedenen Regierungsinitiativen erfolgreiche Anwendung, insbesondere in einem Projekt zur Formalisierung und Implementierung von C-IDEF, einer automatisierten Iteration von IDEF, einer Modellierungssprache, die von der US-Luftwaffe im Rahmen des ICAM-Projekts (Integrated Computer-Aided Manufacturing) entwickelt wurde. 1980 schlug der britisch-israelische Informatiker David Harel eine von HOS abgeleitete strukturierte Programmiersprache vor, die auf der Perspektive von UND/ODER-Unterzielen basiert. Darüber hinaus wurde HOS von anderen Forschern eingesetzt, um die Semantik linguistischer Quantoren zu formalisieren und strenge Entwürfe für zuverlässige eingebettete Echtzeitsysteme zu entwickeln.
Hamilton war bis 1984 CEO von HOS und verließ das Unternehmen 1985. Im März 1986 gründete sie Hamilton Technologies, Inc. in Cambridge, Massachusetts. Diese neue Einheit konzentrierte sich auf die Universal Systems Language (USL) und die dazugehörige automatisierte Umgebung, die 001 Tool Suite, die beide auf ihrem „Entwicklung vor den Tatsachen“-Paradigma für umfassendes Systemdesign und Software-Engineering basierten.
Dauerhafte Wirkung
Hamilton ist weithin dafür bekannt, den Begriff „Software Engineering“ geprägt zu haben. Anschließend ging sie auf die Entstehung dieser Nomenklatur ein:
Der Begriff war in unserem Berufsumfeld zunächst unbekannt. Es blieb lange Zeit Gegenstand von Scherzen, und Kollegen neckten mich oft wegen meiner unkonventionellen Konzepte. Ein entscheidender Moment ereignete sich, als ein hoch angesehener Hardware-Experte in einer Sitzung öffentlich bekräftigte, dass die Softwareentwicklung analog zur Hardware-Entwicklung als Ingenieurdisziplin anerkannt werden müsse. Diese Akzeptanz resultierte nicht nur aus der Übernahme der neuen Terminologie, sondern auch aus der kollektiven Anerkennung, dass sich unsere Arbeit als legitimes Ingenieurgebiet etabliert hatte.
Während der ersten Apollo-Missionen, als Hamilton den Begriff „Software-Engineering“ einführte, mangelte es der Disziplin der Softwareentwicklung an der Anerkennung und dem wissenschaftlichen Ansehen, die anderen Ingenieurbereichen zuerkannt wurden. Hamiltons Ziel war es, die Softwareentwicklung als legitime Ingenieursdisziplin zu etablieren. In der Folge erlangte „Software Engineering“ vergleichbare Anerkennung gegenüber anderen technischen Disziplinen. Die September/Oktober-Ausgabe 2018 von IEEE Software feierte den 50. Jahrestag der Softwareentwicklung. Hamilton erörterte den tiefgreifenden Einfluss von „Fehlern“ auf ihre Software-Engineering-Bemühungen, insbesondere wie ihre entwickelte Sprache, USL, die meisten System-„Fehler“ abmildern könnte. Das Design von USL zielte darauf ab, die meisten Fehler bei der anfänglichen Systementwicklung zu verhindern und so die Abhängigkeit von umfangreichen Tests nach der Entwicklung zu verringern. Ihre Erfahrungen während der Apollo-Mission, die zur Formulierung einer mathematischen Theorie für Systeme und Software führten, flossen in die Gründung von USL ein. Diese Methodik hat auf dem Gebiet der Softwareentwicklung einen bedeutenden Einfluss behalten. Robert McMillan, der für Wired schreibt, hob ihren Beitrag am MIT hervor und erklärte, dass sie „bei der Schaffung der Grundprinzipien der Computerprogrammierung mitgeholfen habe, während sie mit ihren Kollegen an der Entwicklung von Code für den ersten tragbaren Computer der Welt arbeitete“. Hamiltons Innovationen gehen über ihre zentrale Rolle bei Mondmissionen hinaus. Karen Tegan Padir von Wired's behauptete außerdem, dass Hamilton neben Grace Hopper, der Erfinderin von COBOL und einer weiteren Pionierin der frühen Programmierung, erhebliche Anerkennung dafür verdient, dass sie den Einstieg und Erfolg von Frauen in MINT-Bereichen wie Software erleichtert.
Gedenkfeiern
Im Jahr 2017 wurde ein LEGO-Set „Women of NASA“ veröffentlicht, das Minifiguren von Hamilton, den Astronauten Mae Jemison und Sally Ride sowie Nancy Grace Roman, der ersten Leiterin der NASA-Astronomie, enthielt. Maia Weinstock hatte das Set ursprünglich vorgeschlagen, um den Beitrag dieser Frauen zur Geschichte der NASA zu würdigen. Hamiltons Ausschnitt innerhalb des Sets stellt insbesondere ihr ikonisches Foto von 1969 nach und zeigt sie zusammen mit einem umfangreichen Stapel ihrer Software-Angebote.
Im Jahr 2019, anlässlich des 50. Jahrestages der Apollo-Landung, ehrte Google Hamilton, indem es die Spiegel der Ivanpah Solar Power Facility so konfigurierte, dass sie ein Bild von ihr und Apollo 11 im Mondlicht projizierten.
Die Figur von Margo Madison, einer fiktiven NASA-Ingenieurin, die in der Serie zu sehen ist Die alternative Geschichtsserie For All Mankind ist von Hamilton inspiriert.
Auszeichnungen
- 1986 verlieh die Association for Women in Computing Hamilton den Augusta Ada Lovelace Award.
- Sie wurde 2003 mit dem NASA Exceptional Space Act Award als Anerkennung für ihre wissenschaftlichen und technischen Beiträge ausgezeichnet. Diese Auszeichnung in Höhe von insgesamt 37.200 US-Dollar stellte die höchste Geldsumme dar, die jemals einer Einzelperson in der Geschichte der NASA verliehen wurde.
- Das Earlham College verlieh ihr 2009 den Outstanding Alumni Award.
- Im Jahr 2016 wurde ihr von Barack Obama die Presidential Medal of Freedom verliehen, die höchste zivile Auszeichnung in den Vereinigten Staaten.
- Am 28. April 2017 wurde sie mit dem Computer History Museum Fellow Award geehrt, einer Auszeichnung für herausragende Persönlichkeiten, deren Beiträge zur Informatik die Welt tiefgreifend beeinflusst haben.
- Die Polytechnische Universität Katalonien verlieh ihr 2018 die Ehrendoktorwürde.
- Sie erhielt 2019 den Washington Award.
- Das Bard College verlieh ihr 2019 die Ehrendoktorwürde.
- Sie erhielt 2019 den Intrepid Lifetime Achievement Award.
- Im Jahr 2022 wurde sie in die National Aviation Hall of Fame in Dayton, Ohio, aufgenommen.
Ausgewählte Veröffentlichungen
- Hamilton, M.; Zeldin, S. (März 1976). „Software höherer Ordnung – Eine Methode zur Definition von Software“. IEEE-Transaktionen zum Software-Engineering. SE-2 (1): 9–32. doi:10.1109/TSE.1976.233798. S2CID 7799553.Hamilton, M.; Zeldin, S. (1. Januar 1979). „Die Beziehung zwischen Design und Verifizierung“. Journal of Systems and Software. §34§: 29–56. doi:10.1016/0164-1212(79)90004-9.Hamilton, Margaret H.; Hackler, William R. (2007). „Eine formale universelle Systemsemantik für SysML“. Internationales Incose-Symposium. 17 (1). Wiley: 1333–1357. doi:10.1002/j.2334-5837.2007.tb02952.x. ISSN 2334-5837. S2CID 57214708.Hamilton, Margaret H.; Hackler, William R. (2008). „Die universelle Systemsprache: Erkenntnisse aus dem Apollo-Programm“. Computer. 41 (12). Institut für Elektro- und Elektronikingenieure (IEEE): 34–43. doi:10.1109/mc.2008.541. ISSN 0018-9162.Hamilton, M. H. (September 2018). „Erkenntnisse aus der Fehleranalyse“. IEEE-Software. 35 (5): 32–37. doi:10.1109/MS.2018.290110447. S2CID 52896962.Persönliches Leben
Hamilton hat eine Schwester, Kathryn Heafield.
Ihren ersten Ehemann, James Cox Hamilton, lernte sie Mitte der 1950er Jahre während ihrer College-Ausbildung kennen. Ihre Hochzeit fand am 15. Juni 1958 statt, nachdem sie im Sommer ihren Abschluss in Earlham gemacht hatte. Anschließend hatte sie eine kurze Lehrtätigkeit für High-School-Mathematik und Französisch an einer öffentlichen Einrichtung in Boston, Indiana, inne. Das Paar zog später nach Boston, Massachusetts, wo ihre Tochter Lauren am 10. November 1959 geboren wurde. Ihre Scheidung wurde 1967 vollzogen und Margaret heiratete zwei Jahre später Dan Lickly.
- Liste der Pioniere der Informatik
Referenzen
Steafel, Eleanor (20. Juli 2019). „Eine einzigartige Frau inmitten einer von Männern dominierten Umgebung“. Das Telegraph-Magazin. London: Daily Telegraph plc. S. 56–59, 61. OCLC 69022829.
- Steafel, Eleanor (20. Juli 2019). „Eine Frau in einem Raum voller Männer“. Das Telegraph Magazine. London: Daily Telegraph plc. S. 56–59, 61. OCLC 69022829.
- Hamilton Technologies, Inc.
- Margaret Hamilton Archiviert am 5. September 2017 im Wayback Machine-Video, produziert von Makers: Women Who Make America
- Margaret Hamilton ’58 – Trägerin der Presidential Medal of Freedom, archiviert am 30. Juli 2019 auf der Wayback Machine: Profil des Earlham College