TORIma Akademie Logo TORIma Akademie
Margaret Hamilton (software engineer)
Wissenschaft

Margaret Hamilton (software engineer)

TORIma Akademie — Softwareentwickler

Margaret Hamilton (software engineer)

Margaret Hamilton (software engineer)

Margaret Elaine Hamilton (geb. Heafield; * 17. August 1936) ist eine US-amerikanische Informatikerin. Sie leitete die Software Engineering Division am MIT…

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

Ausgewählte Veröffentlichungen

Çavkanî: Arşîva TORÎma Akademî

Über diesen Artikel

Informationen über Margaret Hamilton (software engineer)

Ein kurzer Überblick über Leben, Forschung, Entdeckungen und wissenschaftliche Bedeutung von Margaret Hamilton (software engineer).

Themen-Tags

Informationen über Margaret Hamilton (software engineer) Wer war Margaret Hamilton (software engineer) Leben von Margaret Hamilton (software engineer) Forschung von Margaret Hamilton (software engineer) Entdeckungen von Margaret Hamilton (software engineer) Wissenschaftliche Beiträge

Häufige Suchen zu diesem Thema

  • Wer war Margaret Hamilton (software engineer)?
  • Was entdeckte Margaret Hamilton (software engineer)?
  • Welche Beiträge leistete Margaret Hamilton (software engineer)?
  • Warum ist Margaret Hamilton (software engineer) wichtig?

Kategoriearchiv

Torima Akademi Neverok: Wissenschaftsarchiv

Entdecken Sie in unserem Wissenschaftsarchiv eine Fülle von Artikeln und detaillierten Erklärungen zu grundlegenden Konzepten, Theorien und Phänomenen. Von den Naturwissenschaften bis zur Mathematik – erweitern Sie Ihr

Startseite Zurück zu Wissenschaft