瑪格麗特·漢密爾頓

瑪格麗特·希菲爾德·漢密爾頓（Margaret Heafield Hamilton，1936年8月17日），美國電腦科學家、系統工程師和企業家，曾擔任MIT儀器實驗室軟體工程部的主管（Director），幫助該實驗室開發阿波羅計劃中太空飛行器搭載的飛行軟體，其編寫的程序都以最大程度防止崩潰為目的，從而防止了阿波羅11號登月計劃中輟。1986年，她在馬薩諸賽州劍橋鎮創立了漢密爾頓技術有限公司（Hamilton Technologies, Inc），並擔任CEO。該公司圍繞通用系統語言進行系統和軟體工程開發，此一概念則基於漢密爾頓的「開發先於事實」（Development Before the Fact）的設計原則。

至今，漢密爾頓已發表了超過130篇論文、會議記錄和報告，內容包含60餘個項目，以及她本人參與的6項主要課題。她創造了「軟體工程」(software engineering) 這個術語，並指出「我開始使用'軟體工程'這個術語來將其與硬體和其他類型的工程區分開來，但將每種類型的工程視為整個系統工程過程的一部分。」

2016年11月22日，漢密爾頓因在為美國宇航局阿波羅登月任務開發機載飛行軟體方面做出的貢獻而獲得巴拉克·歐巴馬總統頒發的總統自由勳章。

## 早期生活與教育

瑪格麗特·希菲爾德的父母分別名叫肯尼斯·希菲爾德（Kenneth Heafield）和露絲·希菲爾德（Ruth Esther Heafield）。1954年，她從漢考克高中（Hancock High School）畢業，隨後入讀厄勒姆學院，並於四年後取得文學士學位，專業是數學，輔修哲學。

她說，她的詩人父親和校長祖父激勵她在學習中輔修哲學。

## 職業生涯

大學學成後，她曾短暫在做過高中數學和法語老師，其時她的丈夫仍未本科畢業。之後她搬到了麻省波士頓，原計劃入讀布蘭迪斯大學，完成抽象代數方向的研究生學業，但1960年卻得到了一份麻省理工學院的臨時的軟體開發職位，負責編寫在PDP-1和LGP-30電腦上運行的天氣預報軟體，工作地點則是由馬文·閔斯基領導的MIT電腦科學和人工智慧實驗室。她的直接上司是愛德華·諾頓·羅倫茲教授，後者正在氣象學系研究對大氣進行數學建模。在當時，電腦科學和軟體工程還算不上是學科，程式設計師們都是通過工作積累經驗。

1961至1963年間，她轉而為林肯實驗室的賢者系統工作，期間為第一台AN/FSQ-7作戰指揮中央系統編寫探測敵方飛行的軟體。同期，她還在美國空軍劍橋研究實驗室編寫軟體。

## NASA

在結束前一段工作後，漢密爾頓加入了當時還名叫「MIT儀器實驗室」的查爾斯·斯塔克·德雷珀實驗室，該實驗室是阿波羅計劃的一部分。而漢密爾頓則在1965年成為了其軟體編程部門的主管。漢密爾頓負責編寫全新的月球表面導航軟體，以及後來該軟體在其他項目中的各個版本（比如天空實驗室計劃）。

這一過程中，她在系統設計、軟體開發、項目和過程建模、開發模式、形式化系統建模語言、軟體可用性和復用性最大化等等領域都取得了不少創新。此外，她還創立了異步軟體、優先級調配等新概念。

### 阿波羅11號

漢密爾頓的程序曾防止了阿波羅11號登月任務失敗：在阿波羅登月艙到達月球表面三分鐘前，數個電腦警報響起，表示電腦輸入數據過多，原因是雷達系統更新了系統中的一個強制計數器，致使主機發生周期挪用。但由於漢密爾頓的軟體結構紮實，整個系統仍然可以工作。阿波羅的機載軟體是以異步執行為思想開發的，高優先級的任務能打斷低優先級任務。起初，報警信號被認為是雷達系統被操作人員錯誤開啟，但後來的一項分析報告揭示，一個硬體設計錯誤導致雷達給主機提供了錯誤信息。

漢密爾頓本人曾這樣總結這一事件：

## 經商

1976至1984年間，漢密爾頓擔任了她自己創立的「高階軟體」（Higher Order Software）公司的CEO，基於公司的開發模式，完成了一款名為USE.IT的產品。

1986年，她在麻省劍橋鎮創立了漢密爾頓技術有限公司（Hamilton Technologies, Inc.），並出任CEO。公司圍繞通用系統語言（Universal Systems Language）及其自動化環境001 Tool Suite創建，這些都是基於她本人的開發先於事實（Development Before The Fact）的理念。

## 影響

漢密爾頓被認為發明了軟體工程一詞。在這一領域，她還是並行計算、優先級調配、端對端測試等技術的先驅者。

### 榮譽

- 1986年獲奧古斯塔·埃達·洛夫萊斯（Augusta Ada Lovelace Award）獎。
- 2003年因技術和科學貢獻獲NASA傑出太空行動獎（Exceptional Space Act Award。該獎獎金37,200美元，是美國宇航局史上對個人的最大獎賞。
- 2009年獲厄勒姆學院傑出校友獎（Outstanding Alumni Award）。
- 2016年獲授予總統自由勳章。
- 2017年4月28日，她獲得了電腦歷史博物館研究員獎，該獎項旨在表彰那些電腦思想改變了世界的傑出男女。
- 2018年，她被加泰隆尼亞理工大學 (UPC)授予榮譽博士學位。
- 2019年，她榮獲華盛頓獎 (The Washington Award)。
- 2019年，她被巴德學院授予榮譽博士學位。
- 2019年，她獲頒無畏終身成就獎 (Intrepid Lifetime Achievement Award)。
- 2022年，她入選俄亥俄州代頓的國家航空名人堂(NAHF)。

## 私人生活

漢密爾頓有一個妹妹凱瑟琳 (Kathryn)。

瑪格麗特在大學期間遇到了她的第一任丈夫，詹姆斯·漢密爾頓（James Cox Hamilton; 1937-2014）。他們於1958年6月15日結婚，也就是她從厄勒姆學院畢業後的夏天。她在印第安納州波士頓的一所公立學校短暫教授高中數學和法語。隨後，這對夫婦搬到了麻薩諸塞州波士頓，並在那裡生下了一個女兒，勞倫，於1959年 11月10日出生。他們於1967年離婚，兩年後瑪格麗特與丹·利克利 (Dan Lickly) 結婚。

## 部分作品

- M. Hamilton (1994), "Inside Development Before the Fact," cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
- M. Hamilton (1994), "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.. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised 04-12-29), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003-2004.
- M. Hamilton and W. R. Hackler (2007), " 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 (2007), " A Formal Universal Systems Semantics for SysML", 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.
- M. Hamilton and W. R. Hackler (2008), " Universal Systems Language: Lessons Learned from Apollo", IEEE Computer, Dec. 2008.

## 外部連結

- Hamilton Technologies, Inc.
- MIT News
- Margaret Hamilton Video produced by Makers: Women Who Make America
- Margaret Hamilton』58 — Presidential Medal of Freedom Recipient : Earlham College profile

## 基本資料

- 日語原文：瑪格麗特·希菲爾德·漢密爾頓、Margaret Heafield Hamilton
- 出生日期：1936年8月17日
- 出生地：美國印第安那州保利鎮
- 職業：漢密爾頓技術有限公司（Hamilton Technologies, Inc）CEO、電腦科學家
- 學歷：厄勒姆學院
- 配偶：詹姆斯·漢密爾頓、丹·利克利 (Dan Lickly)
- 子女：1