First Software Engineer | IEEE Computer Society
Es mag für die meisten heutigen Software-Ingenieure eine Überraschung sein zu erfahren, dass die Begründerin ihrer Disziplin eine Frau ist.
Margaret Hamilton, renommierte Mathematikerin und Pionierin der Informatik, soll den Begriff Software Engineering geprägt haben, als sie als Leiterin der Software Engineering Division des MIT Instrumentation Laboratory das Lenk- und Navigationssystem für die Apollo-Raumfahrzeuge entwickelte.
Hamilton erklärt, warum sie sich für den Begriff Software-Engineering entschied:
„Ich kämpfte dafür, der Software die Legitimität zu verleihen, damit sie – und diejenigen, die sie entwickeln – den ihr gebührenden Respekt erhalten, und so begann ich, den Begriff ‚Software-Engineering‘ zu verwenden, um sie von der Hardware und anderen Arten des Engineerings zu unterscheiden, aber jede Art von Engineering als Teil des gesamten Systems-Engineering-Prozesses zu behandeln. Als ich anfing, diesen Ausdruck zu verwenden, wurde er als recht amüsant empfunden. Lange Zeit war es ein ständiger Scherz. Man machte sich gerne über meine radikalen Ideen lustig. Irgendwann wurde Software notwendigerweise genauso respektiert wie jede andere Disziplin“, sagte sie kürzlich in einem Interview mit der spanischen Zeitung El Pais.
Kürzlich war Hamilton eine der Hauptrednerinnen auf der 40. internationalen Konferenz für Softwaretechnik in Göteborg, Schweden, wo sie am 31. Mai ihren Vortrag „The Language as a Software Engineer“ hielt.“
Siehe vollständiger Kalender der IEEE Computer Society Konferenzen
In den frühen Tagen, so Hamilton, wusste niemand wirklich, was sie taten. Software war eine Wildnis. Sie wollte, dass sie wie jeder andere Bereich der Technik respektiert wird.
„Es gab kein Feld für Softwaretechnik“, sagte Hamilton, „man war auf sich allein gestellt. Das Wissen, oder das Fehlen davon, wurde von Person zu Person weitergegeben.“
Während Software anfangs kein wichtiger Teil des Apollo-Programms war, wurde 1965 – als Hamilton an Bord kam – klar, dass Software ein wesentlicher Bestandteil sein würde, um einen Mann auf den Mond zu bringen.
„Systemsimulationen waren eine Mischung aus Hardware- und Digitalsimulationen aller Aspekte einer Apollo-Mission, die auch Simulationen des Menschen in der Schleife umfassten, um sicherzustellen, dass sich eine komplette Mission von Anfang bis Ende genau wie erwartet verhalten würde“, so Hamilton.
Anfangs gab die NASA Hamilton und ihrem Team freie Hand. Sie konnten ihre Softwareprogramme ungehindert entwickeln. Doch dann änderten sich die Dinge.
Wollen Sie mehr technische Neuigkeiten? Abonnieren Sie noch heute den ComputingEdge-Newsletter!
„Wir haben unsere ‚Software-Engineering‘-Regeln mit jeder neuen relevanten Entdeckung weiterentwickelt“, sagt Hamilton, „während die Regeln des Top-Managements der NASA von völliger Freiheit zu bürokratischem Overkill wurden.“ (Sie wurde einmal gefragt, wie Forscher eine solch erstickende Bürokratie überwinden könnten. Hamilton sagte: „Darauf habe ich keine Antwort.“)
Aber Hamilton war strenger mit sich selbst, als jeder Bürokrat es sein könnte.
„Die Software für die Weltraummissionen musste von Menschen bedient werden. Sie musste nicht nur funktionieren, sondern auch gleich beim ersten Mal. Die Software selbst musste nicht nur äußerst zuverlässig sein, sondern auch in der Lage, Fehler in Echtzeit zu erkennen und zu beheben. Unsere Sprachen forderten uns heraus, die subtilsten Fehler zu machen. Wir waren auf uns allein gestellt, um Regeln für die Erstellung von Software zu finden. Was wir aus den Fehlern lernten, war voller Überraschungen“, so Hamilton.
Lesen Sie unser Feature über „The Epic Journey of Women in Computing: Fortschritte, Rückschläge und eine ungewisse Zukunft“, ein Finalist für einen Preis
Ihr Eifer zahlte sich aus.
Kurz bevor Apollo 11 auf dem Mond landen sollte, setzte das Softwareprogramm den normalen Betrieb außer Kraft, um die Astronauten wissen zu lassen, dass etwas nicht stimmte.
Die Probleme begannen, als der Computer mit Befehlen des Rendezvous-Radars und des Landungssystems überlastet war und mehr Rechenleistung benötigte, als der Computer bewältigen konnte. Da das Radar mit 13 % und das Landungssystem mit 90 % ausgelastet waren, musste etwas geschehen. Glücklicherweise hatte Hamilton den Computer so programmiert, dass er die Aufgaben nach ihrer Wichtigkeit und nicht nach ihrer Reihenfolge ordnete. Als die Prioritätsanzeigen die Astronauten vor die Entscheidung stellten, auf dem Mond zu landen oder nicht, sagten die Astronauten „Ja“.
Und der Rest ist Geschichte.
Hamilton arbeitete weiter an den verbleibenden Apollo-Missionen der NASA sowie an SkyLab, Amerikas erster Raumstation. Ihre streng spezifizierten Entwurfsmethoden sind heute die Grundlage vieler moderner Software-Engineering-Techniken.
Von ihren Anfängen bei der NASA bis zu ihrer heutigen Stellung als Software-Engineering-Legende und Koryphäe hat Margaret Hamilton dazu beigetragen, den Weg für eine Branche zu ebnen, die heute weit über eine Billion Dollar wert ist und die Welt für immer verändern wird.
Später erhielt sie den NASA Exceptional Space Act Award (2003) und die Presidential Medal of Freedom von Barack Obama (2016).
An der Marke von 1 Minute und 20 Sekunden in dem obigen Video beschreibt Präsident Obama Hamiltons Beitrag zum Apollo-Programm und zur Welt der Technologie.
Highlights von Margaret Hamilton auf der ICSE 2018
Margaret Hamilton hält ihre Keynote auf der 40th International Conference on Software Engineering in Göteborg, Schweden.
Hamilton auf der Bühne bei der 40th International Conference on Software Engineering.
Wollen Sie mehr Tech-News? Abonnieren Sie noch heute den ComputingEdge Newsletter!
Hamilton beantwortet Fragen während der Fragerunde&. Ein Teilnehmer fragte Hamilton, was sie Forschern raten würde, um die Bürokratie zu bekämpfen, worauf sie mit einem Grinsen antwortete: „Darauf habe ich keine Antwort.“
Nenad Medvidovic, ein Organisator der Konferenz und Professor für Informatik an der Universität von Südkalifornien, überreicht Hamilton am Ende ihres Vortrags eine Tüte schwedischer Pralinen.
Forschung von Margaret Hamilton in der Computer Society Digital Library: Universal Systems Language: Lessons Learned from Apollo