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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Margaret Hamilton
Margaret Hamilton 1995.jpg
1995年撮影
生誕 (1936-08-17) 1936年8月17日(80歳)
インディアナ州パオリ
教育 アールハム大学 (英語版)
職業 Hamilton Technologies CEO
コンピューター科学
配偶者 ジェームズ・コックス・ハミルトン
(James Cox Hamilton)

マーガレット・ハミルトン(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のプロジェクトに関わった。そこでハミルトンは、「敵性航空機」を見つけ出すための[7]、最初のAN/FSQ-7コンピュータ(XD-1)用のソフトウェアを書くプログラマーの1人だった。また、空軍ケンブリッジ研究所用のソフトウェアも担当した。

SAGEプロジェクト[編集]

MITによって始められたWhirlwindプロジェクトの拡張によって、天気を予測できるシステムや、行動を追跡できるシミュレータといったコンピュータシステムが作られるようになると、SAGEは間もなく、冷戦時におけるソ連からの潜在的な攻撃を防ぐための対空防御として軍事利用するために発展した。ハミルトンは、担当分野における自身の任務について次のように述べている。

新人としてこの組織に入り込んだとき、組織がしていたことは、その人に、今までだれも解決できていない、または走らせることができていないプログラムを任せることでした。私が入ってきたときもそうでした。そしてそれはやっかいなプログラムで、おまけにこれを書いた人は、全てのコメントをギリシャ語とラテン語でつけるという、楽しいことをしてくれていました。それで私はこのプログラムを任されて、実際に動かすことができました。ついでに回答をラテン語とギリシャ語で出力するようにしました。動かすことができたのは私が初めてだったのです[8]

この努力の甲斐あって、ハミルトンはNASAにおけるアポロフライトソフトウェア開発責任者の有力候補となった。

NASA[編集]

アポロフライトソフトウェア設計リーダーだった頃のハミルトン

ハミルトンはその後、MITでチャールズ・スターク・ドレイパー研究所の一員となった。当時そこではアポロ宇宙ミッションに取り組んでいた。ハミルトンは最終的にアポロ計画スカイラブ計画用のソフトウェアプログラムの指導者であり監督者となった[9]

NASAでハミルトンのチームは、アポロに搭載され、誘導と月面着陸で必要となるガイダンスソフトウェアの開発責任を負うことになった。その多種のソフトウェアは、(後のスカイラブ計画を含めて)数々のミッションで使われた[2]。ハミルトンはコンピュータ科学とソフトウェアエンジニアリングのコースや訓練が無いときには、経験を積むため現場に出て働いた。

ハミルトンの専門分野は、システムデザイン英語版ソフトウェア開発事業体モデリングビジネスプロセスモデリングの開発パラダイム、正式なシステムモデリング英語版言語、システムモデリングと開発のためのシステム指向オブジェクト、ライフサイクル環境の自動化、ソフトウェア品質の最大化とコードの再利用のための手法。ドメイン解析英語版、構築された言語属性の正統性、安定したシステムにするためのオープンアーキテクチャ技術、最大限のライフサイクルの自動化、品質保証、シームレス統合、エラー検出と復旧技術、マン・マシン・インターフェイスシステム(ユーザーインターフェース)、オペレーティングシステム、エンドツーエンドテスト技術、ライフサイクル管理技術などであった[2]

アポロ11号[編集]

印刷されたアポロ誘導コンピュータ(AGC)のソースコードの隣に立つマーガレット・ハミルトン[10]

アポロ11号ミッションにおける1つの重大な局面において、アポロ誘導コンピュータソフトウェアでのハミルトンチームの仕事は、月面着陸が失敗するのを回避することになった[11]アポロ月着陸船が月面に降り立つ3分前、いくつかのコンピュータアラームが鳴った。ランデブーのレーダーシステム(着陸には必要ない)がコンピュータからのサイクルスチールによって知らず知らずのうちにカウンタを更新したので、コンピュータは受信データで過負荷を起こしていたためである。このとき、コンピュータの安定した仕組みによって、着陸動作を続けることができた。というのも、アポロに搭載されたフライトソフトウェアは、(着陸の際に重要な)優先度の高い命令を、優先度の低い命令に先んじて実行できるような、非同期実行を用いて作られていたのである[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]

受賞[編集]

  • 1986年 エイダ・ラブレス賞(Association for Women in Computing)[5]
  • 2003年 NASA Exceptional Space Act Award for scientific and technical contributions. 賞金37,200ドルは個人としてはNASA史上最高金額である[11][22][23]
  • 2009年 Outstanding Alumni Award, アーラム大学[5]

私生活[編集]

夫のジェームズ・コックス・ハミルトンとはアーラム大学で知り合った。2人は1950年代後半に結婚し、ローレンという娘をもうけた。最終的には2人は離婚した[24]

出版[編集]

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

脚注[編集]

[ヘルプ]
  1. ^ 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日閲覧
  2. ^ a b c d NASA Office of Logic Design . "About Margaret Hamilton" 2016年2月3日閲覧
  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.
  4. ^ Ruth Esther Heafield”. Wujek-Calcaterra & Sons. 2016年2月28日閲覧。
  5. ^ a b c 2009 Outstanding Alumni and Distinguished Service Awards”. 2016年2月28日閲覧。
  6. ^ Steven Levy (1984), Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2
  7. ^ SAGEは、フライトプランの提出されている飛行についての情報を持っており、レーダーが捉えている反応の中でそれに該当するものが無いと、「敵性」の可能性ありとしてオペレータに情報を提示する。
  8. ^ AGC - Conference 1: Margaret Hamilton's introduction”. 2016年2月13日閲覧。
  9. ^ Margaret Hamilton”. 2016年2月27日閲覧。
  10. ^ 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.
  11. ^ a b c Michael Braukus NASA News "NASA Honors Apollo Engineer" (Sept. 3, 2003)
  12. ^ Hamilton, Margaret H. (March 1, 1971). “Computer Got Loaded”. Datamation (Cahners Publishing Company). ISSN 0011-6963. 
  13. ^ 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.
  14. ^ Thompson, Arthur A.; Strickland, A. J., (1996), "Strategic Management: Concepts and Cases", McGraw-Hill Companies, ISBN=0-256-16205-0
  15. ^ Rowena Barrett (1 June 2004). Management, Labour Process and Software Development: Reality Bites. Routledge. p. 42. ISBN 978-1-134-36117-5. http://books.google.com/books?id=JWgAUAqhiv8C&pg=PA42. 
  16. ^ 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.
  17. ^ 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.
  18. ^ Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02.
  19. ^ Rayl, A.J.S. (2008年10月16日). “NASA Engineers and Scientists-Transforming Dreams Into Reality”. NASA. 2016年2月28日閲覧。
  20. ^ ACM Digital Library accessed January 24, 2016
  21. ^ The origin of "software engineering" accessed 2016-02-28
  22. ^ a b NASA Press Release "NASA Honors Apollo Engineer" (September 03, 2003)
  23. ^ NASAのショーン・オキーフは次のようにコメントしている。「彼女と、彼女のチームが作り上げたコンセプトは、現代ソフトウェア工学にとっての基礎的要素となりました。ハミルトンさんのNASAへの多大なる貢献を讃え、ここに表彰します」
  24. ^ Stickgold, Emma (2014年8月31日). “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日閲覧。 

参考文献[編集]