マーガレット・ハミルトン (Margaret Heafield Hamilton、1936年 8月17日 [ 1] - ) は、アメリカ合衆国 のコンピュータ科学 者、プログラマ 、実業家。彼女がチャールズ・スターク・ドレイパー研究所 のソフトウェアエンジニア部門の責任者であった当時、そこでアポロ計画 のフライトシステムソフトウェア が開発された[ 2] 。1986年 にマサチューセッツ州 ケンブリッジ でハミルトンテクノロジー (Hamilton Technologies, Inc.) を創業しCEO となった。この会社はシステムやソフトウェア設計に関する彼女のDBTFパラダイム (Development Before the Fact) に基づくユニバーサルシステム言語 (Universal Systems Language) (英語版 ) により発展した[ 3] 。
ハミルトンは、彼女が関与していた60のプロジェクトと6つの主要なプログラムに関する130を超える論文 ・プロシーディングやレポートを発表している。
生い立ち
ケニス・ハーフィールドとルース・エスター・ハーフィールド(旧姓パーティングトン)の間に生まれた[ 4] 。1954年 にハンコック高校を卒業し、1958年 、アーラム大学 (英語版 ) において、数学と副専攻の哲学の分野でBA(Bachelor of Arts )を獲った[ 5] 。卒業後、夫が学士号を獲るまでの間、一時的に高校数学とフランス語を教えた。その後ブランダイス大学 の大学院で純粋数学 を学ぶため、ボストンへと移り住んだ。1960年、気象学 のエドワード・ローレンツ 教授のもとでコンピュータLGP-30 とPDP-1 (マービン・ミンスキー のプロジェクト)による天気予報用ソフトウェアを開発するため、マサチューセッツ工科大学 (MIT)の暫定的な職に就いた[ 1] [ 6] 。コンピュータ科学 やソフトウェア工学 は現代と比べれば未確立であり、プログラマたちは現場で、それらに相当するものを実践から確立している状況だった[ 2] 。
1961年 から1963年 まで、リンカーン研究所 で防空管制システムSAGE のプロジェクトに関わった。そこでハミルトンは、「敵性航空機」を見つけ出すための[ 注釈 1] 、最初のAN/FSQ-7コンピュータ(XD-1)用のソフトウェアを書くプログラマーの1人だった。また、空軍ケンブリッジ研究所用のソフトウェアも担当した。
SAGEプロジェクト
MITによって始められたWhirlwind プロジェクトの拡張によって、天気を予測できるシステムや、行動を追跡できるシミュレータといったコンピュータシステムが作られるようになると、SAGEは間もなく、冷戦 時におけるソ連からの潜在的な攻撃を防ぐための対空防御として軍事利用するために発展した。ハミルトンは、担当分野における自身の任務について次のように述べている。
新人としてこの組織に入り込んだとき、組織がしていたことは、その人に、今までだれも解決できていない、または走らせることができていないプログラムを任せることでした。私が入ってきたときもそうでした。そしてそれはやっかいなプログラムで、おまけにこれを書いた人は、全てのコメントをギリシャ語とラテン語でつけるという、楽しいことをしてくれていました。それで私はこのプログラムを任されて、実際に動かすことができました。ついでに回答をラテン語とギリシャ語で出力するようにしました。動かすことができたのは私が初めてだったのです[ 7] 。
この努力の甲斐あって、ハミルトンはNASAにおけるアポロフライトソフトウェア開発責任者の有力候補となった。
NASA
アポロフライトソフトウェア設計リーダーだった頃のハミルトン
ハミルトンはその後、MITでチャールズ・スターク・ドレイパー研究所 の一員となった。当時そこではアポロ宇宙ミッションに取り組んでいた。ハミルトンは最終的にアポロ計画 とスカイラブ計画 用のソフトウェアプログラムの指導者であり監督者となった[ 8] 。
NASAでハミルトンのチームは、アポロに搭載され、誘導と月面着陸で必要となるガイダンスソフトウェアの開発責任を負うことになった。その多種のソフトウェアは、(後のスカイラブ計画を含めて)数々のミッションで使われた[ 2] 。ハミルトンはコンピュータ科学とソフトウェアエンジニアリングのコースや訓練が無いときには、経験を積むため現場に出て働いた。
ハミルトンの専門分野は、システムデザイン (英語版 ) とソフトウェア開発 、エンタープライズモデリング とビジネスプロセスモデリング の開発パラダイム、正式なシステムモデリング (英語版 ) 言語、システムモデリングと開発のためのシステム指向オブジェクト、ライフサイクル環境の自動化、ソフトウェア品質 の最大化とコードの再利用 のための手法。ドメイン解析 (英語版 ) 、構築された言語属性の正統性 、安定したシステムにするためのオープンアーキテクチャ技術、最大限のライフサイクルの自動化、品質保証 、シームレス統合、エラー検出と復旧技術、マン・マシン・インターフェイスシステム(ユーザーインターフェース )、オペレーティングシステム 、エンドツーエンドテスト技術、ライフサイクル管理技術などであった[ 2] 。
アポロ11号
印刷されたアポロ誘導コンピュータ (AGC)のソースコードの隣に立つマーガレット・ハミルトン[ 9]
アポロ11号 ミッションにおける1つの重大な局面において、アポロ誘導コンピュータ ソフトウェアでのハミルトンチームの仕事は、月面着陸が失敗するのを回避することになった[ 10] 。アポロ月着陸船 が月面に降り立つ3分前、いくつかのコンピュータアラームが鳴った。ランデブー のレーダーシステム(着陸には必要ない)がコンピュータからのサイクルスチール によって知らず知らずのうちにカウンタを更新したので、コンピュータは受信データで過負荷を起こしていたためである。このとき、コンピュータの安定した仕組みによって、着陸動作を続けることができた。というのも、アポロに搭載されたフライトソフトウェアは、(着陸の際に重要な)優先度の高い命令を、優先度の低い命令に先んじて実行できるような、非同期実行を用いて作られていたのである[ 10] [ 11] 。このときに起きたアラームは、誤ったチェックリストに起因していた。
チェックリストマニュアルに誤りがあって、ランデブーのレーダースイッチが違った場所に置かれていました。だから間違った信号がコンピュータに送られていたのです。その結果、15%長い時間をかけて誤った別の信号を受信しながら、コンピュータは着陸のための通常の機能すべてを実施するようになっていました。コンピュータ(というより、その中に入っているソフトウェア)は頭が良かったので、やらなければならない命令以上のことを頼まれたということが分かるようになっていました。それで宇宙飛行士に知らせるためにアラームを鳴らしました。「今しなければいけないこと以上の命令が入り込んできて手が回らない。だから続けるのは重要な命令だけにするよ」すなわち、着陸に必要な命令を……。実際、コンピュータはエラー状態を認識する以上のことを実行するようプログラムされていました。ソフトウェアには回復プログラム一式が組み込まれていたのです。ソフトウェアの動作としては、この場合、優先度の低い仕事を除外し、重要なものに再構築します。……もしコンピュータがこの問題を認識できずに回復動作をとらなかったら、月への着陸が上手くいったかどうか、疑わしいと思います。
—
Margaret Hamilton、Director of Apollo Flight Computer Programming MIT Draper Laboratory, Cambridge, Massachusetts, "Computer Got Loaded", Letter to Datamation , March 1, 1971[ 12]
経営
1976年 から1984年 まで、ハミルトンは共同で設立したハイヤー・オーダー・ソフトウェア(HOS)社のCEOであった。同社は、自社独自の手法を基盤にして、USE.ITと呼ばれる製品を開発した[ 13] [ 14] [ 15] 。
1986年 には、マサチューセッツ州ケンブリッジにハミルトンテクノロジー社を創設し、CEOとなった。同社はユニバーサルシステム言語(USL)と、それに関連する自動化環境 001 Tool Suite について開発した。これはシステムデザインとソフトウェア開発のための、ハミルトンによるDevelopment Before the Factパラダイム(DBTF)を基盤としている[ 3] [ 16] [ 17] [ 18] 。
業績
NASA 公式写真, 1989年.
アンソニー・エッティンガーが作ったとされる「ソフトウェア工学 」という用語を一般化させた[ 19] [ 20] [ 21] 。ハミルトンはこの分野で非同期ソフトウェア、優先度スケジュール、エンドツーエンドテスト、ヒューマン・イン・ザ・ループ (英語版 ) 決定機能のコンセプトを作り上げた人物の一人だった。たとえば、のちに信頼性を強化したソフトウェアデザインの基盤となる優先度表示がその一例として挙げられる[ 22] 。
受賞
2016年、バラク・オバマ大統領よりPresidential Medal of Freedomを授与されるハミルトン。
2018年10月18日、カタルーニャ工科大学での授賞式中のハミルトン。
私生活
夫のジェームズ・コックス・ハミルトンとはアーラム大学で知り合った。2人は1950年代後半に結婚し、ローレンという娘をもうけた[ 34] 。最終的には2人は離婚した[ 35] 。
出版
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 dec-29-04), 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.
関連作品
脚注
注釈
^ SAGEは、フライトプランの提出されている飛行についての情報を持っており、レーダーが捉えている反応の中でそれに該当するものが無いと、「敵性」の可能性ありとしてオペレータに情報を提示する。
^ NASAのショーン・オキーフは次のようにコメントしている。「彼女と、彼女のチームが作り上げたコンセプトは、現代ソフトウェア工学にとっての基礎的要素となりました。ハミルトンさんのNASAへの多大なる貢献を讃え、ここに表彰します」
出典
^ a b Tiffany K. Wayne (2011) American Women of Science Since 1900 . ABC-CLIO. pp. 480–1. ISBN 978-1-59884-158-9 . 2016年2月3日閲覧
^ a b c d NASA Office of Logic Design . "About Margaret Hamilton" 2016年2月3日閲覧
^ a b M. Hamilton, W.R. Hackler (December 2008). "Universal Systems Language: Lessons Learned from Apollo". IEEE Computer. doi:10.1109/MC.2008.541 .
^ “Ruth Esther Heafield ”. Wujek-Calcaterra & Sons. 2016年2月28日 閲覧。
^ a b c “2009 Outstanding Alumni and Distinguished Service Awards ”. Earlham College . 2016年2月28日 閲覧。
^ Steven Levy (1984), Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2
^ “AGC - Conference 1: Margaret Hamilton's introduction ”. authors.library.caltech.edu . 2016年2月13日 閲覧。
^ “Margaret Hamilton ”. Cambridge Women's Heritage Project . 2016年2月27日 閲覧。
^ Dylan, Matthews (May 30, 2015). "Meet Margaret Hamilton, the badass '60s programmer who saved the moon landing". http://www.vox.com/2015/5/30/8689481/margaret-hamilton-apollo-software . Vox.
^ a b c Michael Braukus NASA News "NASA Honors Apollo Engineer" (Sept. 3, 2003)
^ 小野雅裕『宇宙に命はあるのか』SBクリエイティブ 2018年 p.98-99
^ Hamilton, Margaret H. (March 1, 1971). “Computer Got Loaded”. Datamation (Cahners Publishing Company ). ISSN 0011-6963 .
^ M. Hamilton, S. Zeldin (1976) "Higher order software—A methodology for defining software" IEEE Transactions on Software Engineering , vol. SE-2, no. 1, Mar. 1976.
^ Thompson, Arthur A.; Strickland, A. J., (1996), "Strategic Management: Concepts and Cases", McGraw-Hill Companies, ISBN=0-256-16205-0
^ Rowena Barrett (1 June 2004). Management, Labour Process and Software Development: Reality Bites . Routledge. p. 42. ISBN 978-1-134-36117-5 . https://books.google.co.jp/books?id=JWgAUAqhiv8C&pg=PA42&redir_esc=y&hl=ja
^ Krut, Jr., B., (1993) “Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology ” (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University.
^ Ouyang, M., Golay, M.W. (1995), An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems , Massachusetts Institute of Technology, Cambridge, MA, Report No. MIT-ANP-TR-035.
^ Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey , Herndon, VA.SPC-98022-MC, Version 02.00.02.
^ Rayl, A.J.S. (October 16, 2008). “NASA Engineers and Scientists-Transforming Dreams Into Reality ”. 50th Magazine . NASA . 2016年2月28日 閲覧。
^ ACM Digital Library accessed January 24, 2016
^ The origin of "software engineering" accessed 2016-02-28
^ a b NASA Press Release "NASA Honors Apollo Engineer" (September 03, 2003)
^ “President Obama Names Recipients of the Presidential Medal of Freedom ” (英語). whitehouse.gov (2016年11月16日). 2022年7月26日 閲覧。
^ “Honour for software writer on Apollo moon mission ” (英語). BBC News (November 23, 2016). November 24, 2016時点のオリジナルよりアーカイブ 。November 23, 2016 閲覧。
^ “White House honors two of tech's female pioneers ”. CBS News . April 27, 2017時点のオリジナルよりアーカイブ 。June 7, 2017 閲覧。
^ Almeida, Andres (2016年11月22日). “Margaret Hamilton Awarded Presidential Medal of Freedom ”. NASA . 2022年7月26日 閲覧。
^ “Margaret Hamilton 2017 Fellow ”. Computer History Museum . June 29, 2017時点のオリジナルよりアーカイブ 。June 26, 2017 閲覧。
^ “The 2017 Fellow Award Acceptance Speech ”. Computer History Museum . 2021年12月21日時点のオリジナルよりアーカイブ 。 Template:Cite web の呼び出しエラー:引数 accessdate は必須です。
^ “Investiture of scientist Margaret Hamilton as an honorary doctor of the UPC ”. Polytechnic University of Catalonia (October 18, 2018). January 26, 2019時点のオリジナルよりアーカイブ 。January 25, 2019 閲覧。
^ “Margaret Hamilton Accepts 2019 Washington Award Nomination ”. Western Society of Engineers (February 22, 2019). Template:Cite web の呼び出しエラー:引数 accessdate は必須です。
^ “Bard College - 2019 Honorary Degree Recipients ”. Bard Annandale Online . Bard College (May 21, 2019). Template:Cite web の呼び出しエラー:引数 accessdate は必須です。
^ “Salute to Freedom Gala ”. Intrepid Museum (May 23, 2019). Template:Cite web の呼び出しエラー:引数 accessdate は必須です。
^ “Enshrinee Margaret Hamilton ”. nationalaviation.org . National Aviation Hall of Fame. 8 February 2023 閲覧。
^ “ギークママ、月へ行く:「アポロ計画」を支えた女性プログラマーの肖像 ”. WIRED. 2018年8月13日 閲覧。
^ Stickgold, Emma (August 31, 2014). “James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment” . Boston Globe . http://www.bostonglobe.com/metro/2014/08/30/james-cox-hamilton-mentor-young-lawyers-also-handled-aclu-cases/CGoF5qLYsNnUEap7BuTrGJ/story.html 2016年2月28日 閲覧。
参考文献