マーガレット・ハミルトン (科学者)

マーガレット・ハミルトン（Margaret Heafield Hamilton、1936年8月17日 - ) は、アメリカ合衆国のコンピュータ科学者、プログラマ、実業家。彼女がチャールズ・スターク・ドレイパー研究所のソフトウェアエンジニア部門の責任者であった当時、そこでアポロ計画のフライトシステムソフトウェアが開発された。1986年にマサチューセッツ州ケンブリッジでハミルトンテクノロジー (Hamilton Technologies, Inc.) を創業しCEOとなった。この会社はシステムやソフトウェア設計に関する彼女のDBTFパラダイム (Development Before the Fact) に基づくユニバーサルシステム言語 (Universal Systems Language) (英語版) により発展した。 ハミルトンは、彼女が関与していた60のプロジェクトと6つの主要なプログラムに関する130を超える論文・プロシーディングやレポートを発表している。 ケニス・ハーフィールドとルース・エスター・ハーフィールド（旧姓パーティングトン）の間に生まれた。1954年にハンコック高校を卒業し、1958年、アーラム大学（英語版）において、数学と副専攻の哲学の分野でBA（Bachelor of Arts）を獲った。卒業後、夫が学士号を獲るまでの間、一時的に高校数学とフランス語を教えた。その後ブランダイス大学の大学院で純粋数学を学ぶため、ボストンへと移り住んだ。1960年、気象学のエドワード・ローレンツ教授のもとでコンピュータLGP-30とPDP-1（マービン・ミンスキーのプロジェクト）による天気予報用ソフトウェアを開発するため、マサチューセッツ工科大学(MIT)の暫定的な職に就いた。コンピュータ科学やソフトウェア工学は現代と比べれば未確立であり、プログラマたちは現場で、それらに相当するものを実践から確立している状況だった。 1961年から1963年まで、リンカーン研究所で防空管制システムSAGEのプロジェクトに関わった。そこでハミルトンは、「敵性航空機」を見つけ出すための、最初のAN/FSQ-7コンピュータ（XD-1）用のソフトウェアを書くプログラマーの１人だった。また、空軍ケンブリッジ研究所用のソフトウェアも担当した。 MITによって始められたWhirlwindプロジェクトの拡張によって、天気を予測できるシステムや、行動を追跡できるシミュレータといったコンピュータシステムが作られるようになると、SAGEは間もなく、冷戦時におけるソ連からの潜在的な攻撃を防ぐための対空防御として軍事利用するために発展した。ハミルトンは、担当分野における自身の任務について次のように述べている。 新人としてこの組織に入り込んだとき、組織がしていたことは、その人に、今までだれも解決できていない、または走らせることができていないプログラムを任せることでした。私が入ってきたときもそうでした。そしてそれはやっかいなプログラムで、おまけにこれを書いた人は、全てのコメントをギリシャ語とラテン語でつけるという、楽しいことをしてくれていました。それで私はこのプログラムを任されて、実際に動かすことができました。ついでに回答をラテン語とギリシャ語で出力するようにしました。動かすことができたのは私が初めてだったのです。 この努力の甲斐あって、ハミルトンはNASAにおけるアポロフライトソフトウェア開発責任者の有力候補となった。 ハミルトンはその後、MITでチャールズ・スターク・ドレイパー研究所の一員となった。当時そこではアポロ宇宙ミッションに取り組んでいた。ハミルトンは最終的にアポロ計画とスカイラブ計画用のソフトウェアプログラムの指導者であり監督者となった。 NASAでハミルトンのチームは、アポロに搭載され、誘導と月面着陸で必要となるガイダンスソフトウェアの開発責任を負うことになった。その多種のソフトウェアは、（後のスカイラブ計画を含めて）数々のミッションで使われた。ハミルトンはコンピュータ科学とソフトウェアエンジニアリングのコースや訓練が無いときには、経験を積むため現場に出て働いた。 ハミルトンの専門分野は、システムデザイン（英語版）とソフトウェア開発、エンタープライズモデリングとビジネスプロセスモデリングの開発パラダイム、正式なシステムモデリング（英語版）言語、システムモデリングと開発のためのシステム指向オブジェクト、ライフサイクル環境の自動化、ソフトウェア品質の最大化とコードの再利用のための手法。ドメイン解析（英語版）、構築された言語属性の正統性、安定したシステムにするためのオープンアーキテクチャ技術、最大限のライフサイクルの自動化、品質保証、シームレス統合、エラー検出と復旧技術、マン・マシン・インターフェイスシステム（ユーザーインターフェース）、オペレーティングシステム、エンドツーエンドテスト技術、ライフサイクル管理技術などであった。 アポロ11号ミッションにおける1つの重大な局面において、アポロ誘導コンピュータソフトウェアでのハミルトンチームの仕事は、月面着陸が失敗するのを回避することになった。アポロ月着陸船が月面に降り立つ3分前、いくつかのコンピュータアラームが鳴った。ランデブーのレーダーシステム（着陸には必要ない）がコンピュータからのサイクルスチールによって知らず知らずのうちにカウンタを更新したので、コンピュータは受信データで過負荷を起こしていたためである。このとき、コンピュータの安定した仕組みによって、着陸動作を続けることができた。というのも、アポロに搭載されたフライトソフトウェアは、（着陸の際に重要な）優先度の高い命令を、優先度の低い命令に先んじて実行できるような、非同期実行を用いて作られていたのである。このときに起きたアラームは、誤ったチェックリストに起因していた。 チェックリストマニュアルに誤りがあって、ランデブーのレーダースイッチが違った場所に置かれていました。だから間違った信号がコンピュータに送られていたのです。その結果、15％長い時間をかけて誤った別の信号を受信しながら、コンピュータは着陸のための通常の機能すべてを実施するようになっていました。コンピュータ（というより、その中に入っているソフトウェア）は頭が良かったので、やらなければならない命令以上のことを頼まれたということが分かるようになっていました。それで宇宙飛行士に知らせるためにアラームを鳴らしました。「今しなければいけないこと以上の命令が入り込んできて手が回らない。だから続けるのは重要な命令だけにするよ」すなわち、着陸に必要な命令を……。実際、コンピュータはエラー状態を認識する以上のことを実行するようプログラムされていました。ソフトウェアには回復プログラム一式が組み込まれていたのです。ソフトウェアの動作としては、この場合、優先度の低い仕事を除外し、重要なものに再構築します。……もしコンピュータがこの問題を認識できずに回復動作をとらなかったら、月への着陸が上手くいったかどうか、疑わしいと思います。 —Margaret Hamilton、Director of Apollo Flight Computer Programming MIT Draper Laboratory, Cambridge, Massachusetts, "Computer Got Loaded", Letter to Datamation, March 1, 1971 1976年から1984年まで、ハミルトンは共同で設立したハイヤー・オーダー・ソフトウェア(HOS)社のCEOであった。同社は、自社独自の手法を基盤にして、USE.ITと呼ばれる製品を開発した。 1986年には、マサチューセッツ州ケンブリッジにハミルトンテクノロジー社を創設し、CEOとなった。同社はユニバーサルシステム言語(USL)と、それに関連する自動化環境 001 Tool Suite について開発した。これはシステムデザインとソフトウェア開発のための、ハミルトンによるDevelopment Before the Factパラダイム(DBTF)を基盤としている。 アンソニー・エッティンガーが作ったとされる「ソフトウェア工学」という用語を一般化させた。ハミルトンはこの分野で非同期ソフトウェア、優先度スケジュール、エンドツーエンドテスト、ヒューマン・イン・ザ・ループ（英語版）決定機能のコンセプトを作り上げた人物の一人だった。たとえば、のちに信頼性を強化したソフトウェアデザインの基盤となる優先度表示がその一例として挙げられる。 1986年　エイダ・ラブレス賞(Association for Women in Computing) 2003年　NASA Exceptional Space Act Award for scientific and technical contributions.　賞金37,200ドルは個人としてはNASA史上最高金額である。 2009年　Outstanding Alumni Award, アーラム大学。 2016年　バラク・オバマ大統領よりPresidential Medal of Freedomを授与。これはアメリカ国民における最高の栄誉の一つとされる。 2017年　Computer History Museum Fellow Award 2018年　カタルーニャ工科大学から名誉博士号 2019年　ワシントン賞 2019年　バード大学より名誉博士号 2019年　イントレピッド生涯功労賞 2022年　オハイオ州デイトンの国立航空殿堂入り 夫のジェームズ・コックス・ハミルトンとはアーラム大学で知り合った。2人は1950年代後半に結婚し、ローレンという娘をもうけた。最終的には2人は離婚した。 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. ディーン・ロビンズ文、ルーシー・ナイズリー絵 著、鳥飼玖美子 訳『月とアポロとマーガレット　月着陸をささえたプログラマー』評論社、2018年。ISBN 978-4-566-08036-2。NDLJP:029063097。  [脚注の使い方] ^ 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日閲覧。  McMillan, Robert (13 October 2015). "Her code got humans on the moon - and invented software itself". Wired. 2016年2月3日閲覧。