Хамилтон је објавила преко 130 радова, поступака и извештаја о 60 пројеката и шест главних програма у којима је укључена.
Дана 22. новембра 2016. додељена јој је председничка медаља слободе од америчког председника Барака Обаме за њен рад који је водио развој навигационог софтвера за мисију Аполо.[5][6]
Детињство и младост
Маргарет Хеафилд је рођена у Пејоли, Индијана, а дете је Кенет Хефилд и Рута Естера Хефилда.[7] Након завршене средње школе у Ханкоку 1954. године, 1955. године студира математику на Универзитету у Мичигену где постаје магистар науке у математици са другостепеном дисциплином у филозофији на Ерлхам Колеџу 1958.[8][9] На кратко је предавала у средњим школама математику и француски језик по дипломирању, како би подржала свог супруга док је радио на његовом додипломском студију на Харварду, са коначним циљем да добије постдипломску диплому касније. Прешла је у Бостон, Масачусетс, са намером да заврши студије математичке апстракције на Брандејс универзитету. Она каже да је њенa професорка била њена инспирација да се бави математичком апстракцијом. Имала је и друге инспирације ван технолошког света, укључујући њеног оца, филозофа и песника, и њеног деду, директора школе. Она каже да су ови људи инспирисали да заврши и филозофију.[10] Године 1960. је преузела привремену позицију у МИТ-у за развој софтвера за прогнозирање времена на ЛГП-30 и ПДП-1 рачунарима (у Марвин Минскојевомпројекту МАЦ) за професора Едварда Нортона Лоренза у одсеку за метеорологију.[11] Хамилтон је написала да у то време информатика и софтверски инжењеринг још нису били дисциплине; Уместо тога, програмери су учили на послу успут.[3]
Пројекат САГЕ је био продужетак Пројекта Вихор, који је започео МИТ, да би се направио рачунарски систем који би могао предвидети временске системе и пратити њихово кретање кроз симулаторе; САГЕ је убрзо развијен за војну употребу у против-ваздушној одбрани од потенцијалних совјетских напада током Хладног рата.
Хамилтон је рекла:
Оно што су радили када уђете у ову организацију као почетник је било то да вам доделе неки програм, који нико није могао да схвати или да реши. Када сам била почетник, дали су и мени један такав. И оно што је било необично у том програму је то да особа која је то написала узела је уживање у чињеници да су сви његови коментари били на грчком и латинском језику. Дакле, добила сам овај програм и у ствари сам успела да га направим да ради. Чак је и штампао одговоре на латинском и грчком језику. Ја сам била прва која је успела то да уради.[12]
Њени напори на овом пројекту учинили су је кандидатом за позицију у НАСА-и као и водећег програмера за Аполов навигациони софтвер.
НАСА
Хамилтон се затим придружила лабораторији Чарлс Старк Драпер у МИТ-у, која је тада радила на свемирској мисији Аполо. Она је на крају водила тим који је заслужан за развој софтвера за Аполо и Скај-лаб.[14][15] Хамилтонин тим је био одговоран за развој софтвера у лету,[16] који је укључивао алгоритме дизајнираних од стране различитих научника за командни модул Аполоа, лунарни слетач и каснији Скај-лаб.[3][15] Други део свог тима дизајнирао је и развио системски софтвер[17] који је укључивао софтвер за откривање и поправку грешке, као што је рестарт и екранских приоритета које је Хамилтон дизајнирала и развила[18]. Радила је да стекне практично искуство током времена када су курсеви на рачунарству били необични и када курсеви за софтвер нису постојали.[3]
Аполо 11
У једном од критичних тренутака мисије Аполо 11, Аполов навигациони рачунар, заједно са летачким софтвером спречио је прекид слетања на Месец. Три минута пре него што је Лунар пристао до површине Месеца, покренуло се неколико рачунарских аларма. Рачунар је био преоптерећен прекидима узрокованим неправилним фазним напајањем[19][20][4]. Програмски аларми су указивали на "извршне прелете", што је значило да рачунарски саветник није могао да изврши све своје задатке у реалном времену и морао је одложити неке од њих.[21] Асинхрони извршни механизам дизајниран од Џ. Халкомбе Ланинга[19][22] је био коришћен од стране Хамилтониног тима за развој асинхроног софтвера летења:
Због технике детекције грешака и система за опоравак системског софтвера који су укључивали његову системску "убијање и поновно компајлирање" са приступом рестартовања "сигурног места" својим методама снимања и увлачења, Рутине приказа интерфејса (АКА приоритетни приказ) заједно са могућностима човек-у-петљу биле су способне да направе могућност да прекидају астронаутове нормалне мисије са приоритетним приказима критичних аларма у случају нужде. Ово је зависило од тога што нам је доделио јединствени приоритет сваком процесу у софтверу како би се осигурало да се сви његови догађаји одвијају у исправном редоследу и у правом тренутку у односу на све што се дешавало[23]. Хамилтонин приоритетни аларм приказује прекинути нормалан приказ, како би упозорио астронауте да је дошло до хитне ситуације "дајући астронаутима одлуку иди/не иди (за слетање или не слетање)".[24]Џек Гарман, инжињер за рачунарску технику у НАСА-иној контроли мисије, препознао је грешке које су астронаути видели на приоритетном екрану и викну: "Идите, идите!" И они су ишли.[24] Др Паул Курто, виши технолог који је номинирао Хамилтон за награду Свемирска Одлука, назвао је Хамилтонин рад "темељ за ултра поуздан дизајн софтвера".[17]
Хамилтон је написала о инциденту:
Рачунар (или боље речено, софтвер у њему) је био довољно паметан да препознаје да је од њега затражено да изврши више задатака него што би требало да ради. Затим је послао аларм који је значио астронауту, преоптерећен сам са више задатака него што би требало да радим у овом тренутку, а ја ћу задржати само важније задатке; тј. оне потребне за слетање ... Заправо, рачунар је програмиран да ради више него да препознаје грешке. Комплетан сет програма опоравка је уграђен у софтвер. Акција софтвера, у овом случају, била је да се елиминишу нижи приоритетни задаци и поново успостављају најважније ... Ако рачунар није препознао овај проблем и предузме акцију опоравка, сумњам да би Аполо 11 био успешног слетања на Месец.[25]
Писмо Маргарет Х. Хамилтон, директор програма Аполо, 1. марта 1971.[16]
Бизнис
Од 1976. до 1984. године, Хамилтон је била извршни директор компаније Софтвер Вишег Реда (ХОС), чији је суоснивач, како би се даље развијале идеје о спречавању грешака и толеранцији грешака која је настала из свог искуства у МИТ-у.[26] Створили су производ под називом УСЕ.ИТ, заснован на ХОС методологији развијеној у МИТ-у.[27][28][29]Био је успешно коришћен у бројним владиним пројектима.[30][31] Један значајан пројекат је био формализирати и применити први рачунајући ИДЕФ, Ц-ИДЕФ за Ваздухопловство, заснован на ХОС-у као својој формални основи.
Једна критична процена тврдила је да, поред неколико независних прегледа, ХОС методологија је генерисала мало анализа, осим међу консултантима повезаним са компанијом[32]. Та евалуација, коју је водио консултант за морнарицу Сједињених Држава, тврди да "ХОС књижевност има тенденцију да оглашава своје идеје и производе више од доприноса у суштини у области рачунарских наука".[32]Едсгер Дајкстра описао је УСЕ.ИТ софтвер као "механизована помагала за примену застареле технике".[33] Харел је употребио детаљну анализу ХОС теорије и АКСЕС језика како би развио извучени језик за модернији облик структурног програмирања изведеног из ХОС-а названог И/Или програмски језик са становишта и/или подгрупе.[34] Позивајући се на класични рад Дијкстреа о структурираном програмирању, Харел каже: "Како ће постати јасно," слојеви "у којима је програм уређен, који су у срцу идеје структурног програмирања, одговарају нивоима дрвета." Харел наставља да покаже како се ХОС и његов изведени И/Или програмски језик односи на математичку логику, теорију игара и вештачку интелигенцију. Други су користили ХОС да формализују семантику језичких квантификатора[35] и формализирати дизајн поузданих уграђених система у реалном времену[36]
Хамилтон је напустила компанију, ХОС, 1985. године. Марта 1986. постала је оснивач и извршни директор корпорације Хамилтон Технологије у Кембриџу, Масачусетс. Компанија је развијена око универзалног система језика (УСЛ) и његове повезане аутоматске окружење, 001 Тул Суит, засноване на њеној парадигми развоја пре стварности (ДБТФ) за дизајн система и развој софтвера.[4][37][38][39]
Наслеђе
Маргарет Х. Хамилтон "је особа која је дошла с идејом да именује дисциплину," софтверски инжењеринг ", као начин давања легитимности."[40] Према Хамилтони:
Током овог периода у МИТ-у, желела је да свој софтвер "легитимише", баш као и код других инжењерских дисциплина, како би се (и онима који га граде) дале своје поштовање; и, као резултат тога, саставила је појам "софтверски инжењеринг" да би се разликовала од других врста инжењера.[41]
Када сам први пут изговорио термин, нико то раније није чуо, бар у нашем свијету. Дуго је то била шала. Волели су да ме зезају о мојим радикалним идејама. Био је то незабораван дан када је један од најцењенијих хардверских гуруа објаснио свима на састанку који се сложио са мном да процес изградње софтвера такође треба сматрати инжењерском дисциплином, баш као и хардвером. Не због његовог прихватања новог "периода" такорећи, већ зато што смо зарадили прихваћање од њега и осталих у просторији као да смо инжењерингу у сопственом праву.[23]
Када је Хамилтон почела да користи појам "софтверски инжењеринг",[42][43][44] софтверски инжењеринг није узет озбиљно у поређењу са другим инжењерингом,[45] нити се то сматрао науком. Она је почела да користи термин "софтверски инжењеринг" током раних мисија Аполоа како би софтверу дала легитимитет других области као што је хардверски инжењеринг. Временом је термин "софтверски инжењеринг" добио исто поштовање као и свака друга дисциплина.[46]
"У МИТ-у је помогла у креирању кључних принципа у рачунарском програмирању док је с колегама радила на коду за први преносиви рачунар на свету."[47] Хамилтонове иновације превазилазе предности играња важне улоге у слетању људи на Месец. "Она, заједно са осталим пионирима раног програмирања, проналазач ЦоБОЛ-а Грејс Хопер такође заслужује огроман кредит за помоћ у отварању врата за више жена да уђу и успевају у СТЕМ пољима попут софтвера."[48][49]
Награде и достигнућа
Године 1986. добила је награду Аугуста Ада Ловелаце од стране Удружења за жене у рачунарству.[8] Ова награда се додељује појединцима који су одликовали у оба (или обе) две области: 1. Изванредна научна и техничка достигнућа и 2. Изванредан сервис рачунарској заједници кроз своја достигнућа и доприноса у име жена у рачунарству[50].
2003. године добила је награду за изузетану Свемирску Одлуку НАСА-е за научне и техничке доприносе. Награда је укључивала 37.200 долара, највећи износ додељен појединцу у историји НАСА-е.[17][51][52]
Године 2009, она је примила награду "невероватни алумни" од Еарлхам Колеџа.[8]
28. априла 2017. године примила је награду од Музеја Рачунарске Историје, намењена за мушкарце и жене чије су идеје промениле свет[55][56]
У 2017. години, на тржишту се појавила и "ЖЕНЕ НАСА-Е" ЛЕГО сет, који садржи (између осталог) мини фигурице Хамилтонке, Маје Џемисон, Сали Риде и Ненси Грејс Роман[57].
Маргарет је упознала свог супруга, Џејмса Кокса Хамилтона, док је била на Еарлхам колеџу. Узели су се крајем 1950-их након што је Хамилтон стекла диплому. Имају ћерку, Лаурен, као и два унука. Према њеној кћерки, Маргарет је била краљица за повратак на Еарлхам Колеџу и Џејмс је био председник класе.[59] Током викенда, често је водила кћерку у лабораторију како би проводиле време заједно. Док је њена ћерка спавала на поду канцеларије, Маргарет је програмирала, стварајући рутине које би се на крају додале Аполоновом командном модулу. "[47] Маргарет и Џејм су се развели.[59] Њихова ћерка Лаурен се удала за милијардера Кокса, наследника Јамеса Кокса Чамберса 9. октобра 1982.[60][61] Имају сина, Јамеса Кокса "Џим" Чамберс Јуниора, иронично самопрокламованог марксисту који се супротставља капитализму и полицији[62].[63] Лаурен се развела и удала за Ричарда Давида Селесника, са којим има сина Мака.[64]
Публикације:
М. Хамилтон (1994), "Унутар развитка пре чињеница", насловна страна, Специјални уреднички додатак, 8ЕС-24ЕС. Електронски дизајн, Апр. 1994.
М. Хамилтон (1994), "001: Инжењеринг и развој софтвера за целокупни животни циклус", насловна страна, посебна уредничка додатак, 22ЕС-30ЕС. Електронски дизајн, јун 1994.
М. Хамилтон, Хацклер, ВР (2004), Јединствена Јединица Интегрисане Водич за Навигацију (ДИ-ГНУ) Принципи Заједничке Софтваре Архитектуре(ревидирана 29. децембра 2004), ДАААЕ30-02-Д-1020 и ДААБ07-98-Д-Х502 / 0180, Пицатинни Арсенал, Њ, 2003-2004.