玛格丽特·汉密尔顿
玛格丽特·希菲尔德·汉密尔顿(英語:,1936年8月17日—[1]),美国计算机科学家、系統工程師和企業家,曾擔任MIT儀器實驗室軟件工程部的主管(),幫助該實驗室開發阿波羅計劃中航天器搭載的飛行軟件[2],其編寫的程序都以最大程度防止崩潰為目的,從而防止了阿波罗11号登月計劃中綴[3]。1986年,她在馬薩諸賽州劍橋鎮創立了漢密爾頓技術有限公司(),并擔任。該公司圍繞通用系統語言進行系統和軟件工程開發,此一概念則基於漢密爾頓的「開發先於事實」()的设计原則[4]。
玛格丽特·希菲尔德·汉密尔顿 | |
---|---|
1995年的漢密爾頓 | |
出生 | 美國印第安那州保利鎮 | 1936年8月17日
教育程度 | 厄勒姆學院 |
职业 | 漢密爾頓技術有限公司() 計算機科學家 |
配偶 | 詹姆斯.漢密爾頓()(律師) |
至今,漢密爾頓已發表了超過130篇論文、會議記錄和報告,內容包含60余個項目,以及她本人參與的6項主要課題。
生平
玛格丽特·希菲尔德的父母分别名叫肯尼斯·希菲尔德()和露丝·希菲尔德()[5]。1954年,她从汉考克高中()毕业,随后入读厄勒姆學院,并于四年后取得文学士学位,专业是数学,辅修哲学[6]。大学学成后,她曾短暂在做过高中数学和法语老师,其时她的丈夫仍未本科毕业。之后她搬到了麻省波士顿,原计划入读布兰迪斯大学,完成抽象代数方向的研究生学业,但1960年却得到了一份麻省理工学院的临时的软件开发职位,负责编写在和LGP-30计算机上运行的天气预报软件,工作地点则是由马文·闵斯基领导的MIT计算机科学和人工智能实验室。她的直接上司是教授,后者正在气象学系研究对大气进行数学建模[1][7]。在当时,计算机科学和软件工程还算不上是学科,程序员们都是通过工作积累经验[2]。
1961至1963年间,她转而为林肯實驗室的贤者系统工作,期间为第一台AN/FSQ-7作战指挥中央系统编写探测敌方飞行的软件。同期,她还在美国空军剑桥研究实验室编写软件[1]。
NASA
在结束前一段工作后,汉密尔顿加入了当时还名叫「仪器实验室」的查尔斯·斯塔克·德雷珀实验室,该实验室是阿波罗计划的一部分。而汉密尔顿则在1965年成为了其软件编程部门的主管[8]。汉密尔顿负责编写全新的月球表面导航软件,以及后来该软件在其他项目中的各个版本(比如天空实验室计划)[2]。
这一过程中,她在系统设计、软件开发、项目和过程建模、开发模式、形式化系统建模语言、软件可用性和复用性最大化等等领域都取得了不少创新[2]。此外,她还创立了异步软件、优先级调配等新概念。
阿波罗11号
汉密尔顿的程序曾防止了阿波罗11号登月任务失败[3]:在阿波罗登月舱到达月球表面三分钟前,数个计算机警报响起,表示计算机输入数据过多,原因是雷达系统更新了系统中的一个强制计数器,致使主机发生周期挪用。但由于汉密尔顿的软件結構紮實,整个系统仍然可以工作。阿波罗的机载软件是以异步执行为思想开发的,高优先级的任务能打断低优先级任务。起初,报警信号被认为是雷达系统被操作人员错误开启,但后来的一项分析报告揭示,一个硬件设计错误导致雷达给主机提供了错误信息[9]。
汉密尔顿本人曾这样总结这一事件:
登陆雷达开关放在了错误的位置,计算机收到了不少错误的信号。结果就是计算机既得执行着陆必须的计算,又要接受这些占用其15%时间的额外数据。但是它,或说是它里面的软件,聪明到可以判断它执行着不该执行的任务,所以就发出了警报……实际上,这台计算机不光能报警,它有着一整套恢复措施,这种情况下,计算机能自动剔除低级别任务以保证重要任务得以完成……如果当时计算机不能发现错误所在并从中恢复,我怀疑阿波罗号不能成功登月。[10]
经商
1976至1984年间,汉密尔顿担任了她自己创立的「高阶软件」()公司的,基于公司的开发模式,完成了一款名为的产品[11][12]。
1986年,她在麻省剑桥镇创立了汉密尔顿技术有限公司(),并出任。公司围绕通用系统语言()及其自动化环境创建,这些都是基于她本人的开发先于事实()的理念[4][13]。
影响
私人生活
瑪格麗特在大学期间遇到了后来的丈夫,詹姆斯·汉密尔顿(; 1937-2014),五十年代末瑪格麗特毕业后两人结婚,育有一个女儿,二人最终离婚[17]。
部分作品
参考来源
延伸閱讀
- 吳慕兒. . 香港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