Margaret Heafield Hamilton (z domu Heafield; ur. 17 sierpnia 1936)[1] – informatyk, inżynier oprogramowania i przedsiębiorca[2]. Była dyrektorką ds. inżynierii oprogramowania[3] w Laboratorium Instrumentacji Massachusetts Institute of Technology. Wraz z kierowanym przez siebie zespołem opracowała oprogramowanie systemu pokładowego programu kosmicznego „Apollo”[4][5][6]. W 1986 roku założyła i została dyrektorem generalnym Hamilton Technologies, Inc., w Cambridge, w stanie Massachusetts. Firma została stworzona wokół systemów języka uniwersalnego opartych na jej paradygmacie Rozwoju Przed Faktem (DBTF) dla projektowania systemów i oprogramowania[7].
Margaret Hamilton opublikowała ponad 130 artykułów, rozpraw i raportów o ok. 60 projektach i 6 znaczących programach, w których brała udział[8].
22 listopada 2016 roku prezydent USA Barack Obama odznaczył Margaret Hamilton Medalem Wolności[9][10] za jej pracę, która doprowadziła do opracowania pokładowego oprogramowania lotu misji Apollo – misji NASA na Księżyc.
Biografia
Margaret Heafield urodziła się w Paoli, w stanie Indiana, jej rodzice to Kenneth Heafield i Ruth Esther Heafield (z domu Partington). Po ukończeniu Liceum Hancock w 1954 roku studiowała matematykę na Uniwersytecie w Michigan w 1955 roku, a następnie uzyskała tytuł licencjata (bachelor of arts) z matematyki i specjalizację z filozofii z Earlham College w 1958 roku. Po ukończeniu szkoły krótko uczyła matematyki i francuskiego w szkole średniej, aby wesprzeć swojego męża w trakcie studiów na Harvardzie, a ostatecznym celem było uzyskanie dyplomu ukończenia studiów w późniejszym czasie. W końcu przeprowadziła się do Bostonu w stanie Massachusetts, z zamiarem ukończenia studiów magisterskich na Brandeis University.
Inspiracją do kontynuacji studiów z dziedziny matematyki abstrakcyjnej poza światem technologii, stanowiły postacie jej ojca, filozofa i poety, a także jej dziadka, dyrektora szkoły. Mawiała, że to właśnie oni zainspirowali ją do specjalizacji z filozofii. W 1960 roku zajęła tymczasowe stanowisko w MIT, aby opracować oprogramowanie do przewidywania pogody na komputerach LGP-30 i PDP-1 (w Marvin Minsky's Project MAC) dla profesora Edwarda Nortona Lorenza w dziale meteorologii. W tamtym czasie informatyka i inżynieria oprogramowania nie były jeszcze dyscyplinami; zamiast tego programiści nauczyli się tej pracy z praktycznym doświadczeniem.
W latach 1961–1963 pracowała nad projektem SAGE w Lincoln Lab, gdzie była jedną z programistów, którzy napisali oprogramowanie dla pierwszego komputera AN / FSQ-7 (XD-1), którzy miał wykrywać wrogie siły lotnicze; pisała również oprogramowanie dla Air Force Cambridge Research Laboratories.
Projekt SAGE
Projekt SAGE był rozszerzeniem projektu Whirlwind, rozpoczętym przez MIT, w celu stworzenia systemu komputerowego, który mógłby przewidzieć systemy pogodowe i śledzić ich ruchy za pomocą symulatorów; SAGE został wkrótce opracowany do celów wojskowych w obronie przeciwlotniczej przed potencjalnymi sowieckimi atakami podczas zimnej wojny.
Hamilton powiedziała:
„Kiedy przychodziłeś do tej organizacji jako początkujący, zazwyczaj przydzielano Ci program, którego nikt nie był w stanie uruchomić, ani nawet stwierdzić co nie działa, kiedy ja zaczynałam również taki dostałam. To było trudne, ciężkie programowanie, a osoba, która to napisała, była z niego bardzo dumna. Wszystkie jego komentarze były po grecku i po łacinie. Zostałam więc przydzielona do tego programu i udało mi się go uruchomić.”[11]
To jej wysiłki w tym projekcie sprawiły, że stała się kandydatką na stanowisko głównej programistki oprogramowania do lotów Apollo w NASA.
NASA
Margaret Hamilton dołączyła wtedy do Laboratorium Charlesa Starka Drapera w MIT, który w tym czasie pracował nad misją kosmiczną Apollo. W końcu doprowadziła zespół do prac nad oprogramowaniem dla Apollo i Skylab[12]. Zespół Hamilton był odpowiedzialny za opracowanie oprogramowania pokładowego[13], które zawierało algorytmy opracowane przez różnych starszych naukowców dla modułu dowodzenia Apollo, lądownika księżycowego i późniejszego Skylaba. [1] Inna część zespołu zaprojektowała i opracowała oprogramowanie systemowe [2], które obejmowało oprogramowanie do wykrywania i odzyskiwania błędów, takie jak ponowne uruchamianie i procedury interfejsu wyświetlania (AKA, priorytetowe wyświetlacze) opracowane przez Hamilton. Pracowała, aby zdobyć praktyczne doświadczenie w czasie, gdy kursy informatyczne były rzadkie, a kursy inżynierii oprogramowania nie istniały. Specjalizowała się w projektowaniu systemów i opracowywaniu oprogramowania, modelowaniu przedsiębiorstw i procesów, paradygmacie rozwoju, językach modelowania systemów formalnych, obiektach zorientowanych systemowo na modelowanie i rozwój systemów, zautomatyzowanych środowiskach cyklu życia, metodach zwiększania niezawodności i ponownego wykorzystania oprogramowania, analizie domen, poprawność dzięki wbudowanym właściwościom językowym, technikom otwartej architektury dla niezawodnych systemów, pełnej automatyzacji cyklu życia, zapewnieniu jakości, bezproblemowej integracji, technikom wykrywania i odzyskiwania błędów, interfejsom człowiek-maszyna, systemom operacyjnym, testom end-to-end i technikom zarządzania cyklem życia. [3]
Dziedzictwo
Kod misji Apollo został odtajniony i w lipcu 2016 trafił do GitHub-a[14]. Zajmuje nieco ponad 3 MB[15].
Nagrody
W 1986 roku otrzymała nagrodę Augusty Ady Lovelace od Stowarzyszenia Kobiet Ery Komputeryzacji[16]. Nagroda ta przyznawana jest osobom, które wyróżniły się w jednym (lub obu) z obszarów: 1. Wybitne naukowe i techniczne osiągnięcia i 2. Wyjątkowa zasługi dla społeczności informatyków poprzez swoje osiągnięcia i wkład w sprawie kobiet w informatyce[17].
W 2003 roku otrzymała od NASA Nagrodę za Wybitny Czyn w Przestrzeni Kosmicznej w uznaniu jej wkład naukowy i techniczny. Nagroda obejmowała nagrodę finansową w wysokości $37,200. Jest to najwyższa kwota, przyznana jakiejkolwiek osobistości w całej historii NASA[18][19][20].
W 2009 roku otrzymała Nagrodę dla Wybitnych Absolwentów Earlham College[16].
M. Hamilton, Inside Development Before the Fact, cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
M. Hamilton, 001: A Full Life Cycle Systems Engineering and Software Development Environment, cover story, Special Editorial Supplement, 22ES-30ES. Electronic Design, Jun. 1994.
M. Hamilton, Hackler, W.R., Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-2004), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003–2004.
M. Hamilton and W.R. Hackler, Universal Systems Language for Preventative Systems Engineering, Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, Mar. 2007, paper #36.
M. Hamilton and W.R. Hackler, A Formal Universal Systems Semantics for SysML, 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.
M. Hamilton and W.R. Hackler, Universal Systems Language: Lessons Learned from Apollo, IEEE Computer, Dec. 2008.
↑NASA Administrator Sean O’Keefe has commented saying „The concepts she and her team created became the building blocks for modern software engineering.