热门问题
时间线
聊天
视角
玛格丽特·汉密尔顿
来自维基百科,自由的百科全书
Remove ads
玛格丽特·希菲尔德·汉密尔顿(英語:Margaret Heafield Hamilton,1936年8月17日—[1]),美国计算机科学家、系統工程師和企業家,曾擔任MIT儀器實驗室軟件工程部的主管(Director),幫助該實驗室開發阿波羅計劃中航天器搭載的飛行軟件[2],其編寫的程序都以最大程度防止崩潰為目的,從而防止了阿波罗11号登月計劃中綴[3]。1986年,她在馬薩諸賽州劍橋鎮創立了漢密爾頓技術有限公司(Hamilton Technologies, Inc),并擔任CEO。該公司圍繞通用系統語言進行系統和軟件工程開發,此一概念則基於漢密爾頓的「開發先於事實」(Development Before the Fact)的设计原則[4]。
至今,漢密爾頓已發表了超過130篇論文、會議記錄和報告,內容包含60余個項目,以及她本人參與的6項主要課題。她創造了“軟體工程”(software engineering) 這個術語,並指出“我開始使用'軟體工程'這個術語來將其與硬體和其他類型的工程區分開來,但將每種類型的工程視為整個系統工程過程的一部分。”[5][6][7]
2016年11月22日,漢密爾頓因在為美國宇航局阿波羅登月任務開發機載飛行軟體方面做出的貢獻而獲得巴拉克·奧巴馬總統頒發的總統自由勳章。[8]
Remove ads
早期生活與教育
玛格丽特·希菲尔德的父母分别名叫肯尼斯·希菲尔德(Kenneth Heafield)和露丝·希菲尔德(Ruth Esther Heafield)[9]。1954年,她从汉考克高中(Hancock High School)毕业,随后入读厄勒姆學院,并于四年后取得文学士学位,专业是数学,辅修哲学[10]。
她說,她的詩人父親和校長祖父激勵她在學習中輔修哲學。[11]
職業生涯
大学学成后,她曾短暂在做过高中数学和法语老师,其时她的丈夫仍未本科毕业。之后她搬到了麻省波士顿,原计划入读布兰迪斯大学,完成抽象代数方向的研究生学业,但1960年却得到了一份麻省理工学院的临时的软件开发职位,负责编写在PDP-1和LGP-30计算机上运行的天气预报软件,工作地点则是由马文·闵斯基领导的MIT计算机科学和人工智能实验室。她的直接上司是爱德华·诺顿·洛伦茨教授,后者正在气象学系研究对大气进行数学建模[1][12]。在当时,计算机科学和软件工程还算不上是学科,程序员们都是通过工作积累经验[2]。
1961至1963年间,她转而为林肯實驗室的贤者系统工作,期间为第一台AN/FSQ-7作战指挥中央系统编写探测敌方飞行的软件。同期,她还在美国空军剑桥研究实验室编写软件[1]。
Remove ads
NASA


在结束前一段工作后,汉密尔顿加入了当时还名叫「MIT仪器实验室」的查尔斯·斯塔克·德雷珀实验室,该实验室是阿波罗计划的一部分。而汉密尔顿则在1965年成为了其软件编程部门的主管[13][14]。汉密尔顿负责编写全新的月球表面导航软件,以及后来该软件在其他项目中的各个版本(比如天空实验室计划)[2]。
这一过程中,她在系统设计、软件开发、项目和过程建模、开发模式、形式化系统建模语言、软件可用性和复用性最大化等等领域都取得了不少创新[2]。此外,她还创立了异步软件、优先级调配等新概念。
汉密尔顿的程序曾防止了阿波罗11号登月任务失败[3]:在阿波罗登月舱到达月球表面三分钟前,数个计算机警报响起,表示计算机输入数据过多,原因是雷达系统更新了系统中的一个强制计数器,致使主机发生周期挪用。但由于汉密尔顿的软件結構紮實,整个系统仍然可以工作。阿波罗的机载软件是以异步执行为思想开发的,高优先级的任务能打断低优先级任务。起初,报警信号被认为是雷达系统被操作人员错误开启,但后来的一项分析报告揭示,一个硬件设计错误导致雷达给主机提供了错误信息[15]。
汉密尔顿本人曾这样总结这一事件:
登陆雷达开关放在了错误的位置,计算机收到了不少错误的信号。结果就是计算机既得执行着陆必须的计算,又要接受这些占用其15%时间的额外数据。但是它,或说是它里面的软件,聪明到可以判断它执行着不该执行的任务,所以就发出了警报……实际上,这台计算机不光能报警,它有着一整套恢复措施,这种情况下,计算机能自动剔除低级别任务以保证重要任务得以完成……如果当时计算机不能发现错误所在并从中恢复,我怀疑阿波罗号不能成功登月。[16]
Remove ads
经商

1976至1984年间,汉密尔顿担任了她自己创立的「高阶软件」(Higher Order Software)公司的CEO,基于公司的开发模式,完成了一款名为USE.IT的产品[17][18]。
1986年,她在麻省剑桥镇创立了汉密尔顿技术有限公司(Hamilton Technologies, Inc.),并出任CEO。公司围绕通用系统语言(Universal Systems Language)及其自动化环境001 Tool Suite创建,这些都是基于她本人的开发先于事实(Development Before The Fact)的理念[4][19]。
影响


- 1986年获奥古斯塔·埃达·洛夫莱斯(Augusta Ada Lovelace Award)奖[10]。
- 2003年因技术和科学贡献获NASA杰出太空行动奖(Exceptional Space Act Award。该奖奖金37,200美元,是美国宇航局史上对个人的最大奖赏[3][21]。
- 2009年获厄勒姆學院杰出校友奖(Outstanding Alumni Award)。
- 2016年獲授予總統自由勳章[22]。
- 2017年4月28日,她獲得了電腦歷史博物館研究員獎,該獎項旨在表彰那些電腦思想改變了世界的傑出男女。[13][23]
- 2018年,她被加泰罗尼亚理工大学 (UPC)授予榮譽博士學位。[24]
- 2019年,她榮獲華盛頓獎 (The Washington Award)。[25]
- 2019年,她被巴德學院授予榮譽博士學位。[26]
- 2019年,她獲頒無畏終身成就獎 (Intrepid Lifetime Achievement Award)。[27]
- 2022年,她入選俄亥俄州代頓的國家航空名人堂(NAHF)。[28]
Remove ads
私人生活
漢密爾頓有一個妹妹凱瑟琳 (Kathryn)。[29]
瑪格麗特在大学期间遇到了她的第一任丈夫,詹姆斯·汉密尔顿(James Cox Hamilton; 1937-2014)[30]。他們於1958年6月15日結婚,也就是她從厄勒姆學院畢業後的夏天。[31][30]她在印第安納州波士頓的一所公立學校短暫教授高中數學和法語。[31][1]隨後,這對夫婦搬到了麻薩諸塞州波士頓[1],並在那裡生下了一個女兒,勞倫,於1959年 11月10日出生。他們於1967年離婚,兩年後瑪格麗特與丹·利克利 (Dan Lickly) 結婚。[30][32]
部分作品
- 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.
参考来源
延伸閱讀
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads