玛格丽特·汉密尔顿

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

至今，漢密爾頓已發表了超過 130 篇論文、會議記錄和報告，內容包含 60 餘個項目，以及她本人參與的 6 項主要課題。

## 生平

瑪格麗特・希菲爾德的父母分別名叫肯尼斯・希菲爾德（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 號登月任務失敗：在阿波羅登月艙到達月球表面三分鐘前，數個電腦警報響起，表示電腦輸入資料過多，原因是雷達系統更新了系統中的一個強制計數器，致使主機發生周期挪用。但由於漢密爾頓的軟體結構紮實，整個系統仍然可以工作。阿波羅的機載軟體是以非同步執行為思想開發的，高優先級的任務能打斷低優先級任務。起初，報警訊號被認為是雷達系統被操作人員錯誤開啟，但後來的一項分析報告揭示，一個硬體設計錯誤導致雷達給主機提供了錯誤資訊。

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

> 登陸雷達開關放在了錯誤的位置，電腦收到了不少錯誤的訊號。結果就是電腦既得執行著陸必須的計算，又要接受這些占用其 15% 時間的額外資料。但是它，或說是它裡面的軟體，聰明到可以判斷它執行著不該執行的任務，所以就發出了警報…… 實際上，這台電腦不光能報警，它有著一整套恢復措施，這種情況下，電腦能自動剔除低階別任務以保證重要任務得以完成…… 如果當時電腦不能發現錯誤所在並從中恢復，我懷疑阿波羅號不能成功登月。
> 
> 

## 經商

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 年獲授予總統自由勳章。

## 私人生活

瑪格麗特在大學期間遇到了後來的丈夫，詹姆斯・漢密爾頓（James Cox Hamilton; 1937-2014），五十年代末瑪格麗特畢業後兩人結婚，育有一個女兒，二人最終離婚。

## 部分作品

* 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.

## 參考來源

## 延伸閱讀

* 吳慕兒。人類登月無名英雌　軟件工程界祖師奶奶　阿波羅 11 號成功全靠她。香港 01 - 國際. 2017-01-01.

## 外部連結

* 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