アポロ11を救った女性:マーガレット・ハミルトンの月面着陸への貢献
概要
この記事では、アポロ誘導コンピューターの先駆的な機内ソフトウェアを開発したチームを率いた女性、マーガレット・ハミルトンの生涯と業績について探求します。彼女のソフトウェアは、アポロ11号のミッションの成功と宇宙飛行士の月面着陸の安全を確保するために必要不可欠でした。また、彼女のソフトウェアエンジニアリングへの貢献と産業への持続的な影響についても議論します。
目次
- マーガレット・ハミルトンの経歴と初期のキャリア
- アポロ誘導コンピューターと信頼性の高いソフトウェアの必要性
- ハミルトンのアポロ11ミッションへの貢献
- ハミルトンの遺産とソフトウェアエンジニアリングへの影響
マーガレット・ハミルトンの経歴と初期のキャリア
マーガレット・ハミルトンは、インディアナ州パウエルで生まれ、常に好奇心旺盛でした。彼女は大学で数学と哲学を学び、その後、大学院の学費を稼ぐためにマサチューセッツ工科大学(MIT)で研究員として働きました。MITで、彼女はカオス理論の新しい分野の研究を支援するソフトウェアを開発する中で初めてコンピューターに出会いました。
その後、ハミルトンはMITのリンカーン研究所で、敵の航空機を捜索するためのアメリカ初の防空システムのソフトウェアを開発しました。有名なエンジニアのチャールズ・ドレイパーが人類を月に送るために助けを求めていると聞いたとき、彼女はすぐに彼のチームに加わりました。NASAは、ドレイパーと400人のエンジニアのグループが初めてのコンパクトデジタルフライトコンピューター、アポロ誘導コンピューターを発明することを期待していました。
アポロ誘導コンピューターと信頼性の高いソフトウェアの必要性
アポロ誘導コンピューターは、当時、信頼性の低いコンピューターが部屋全体を占める時代において画期的な発明でした。AGCは、エラーなしで動作する必要があり、1立方フィートのスペースに収まる必要がありました。ドレイパーは、ハードウェアを設計するための1つのチームと、ソフトウェアを開発するための別のチームに研究所を分割しました。ハミルトンは、コマンドモジュールと月着陸船の搭載用フライトソフトウェアを構築したチームを率いました。
この作業は、「ソフトウェアエンジニアリング」という用語を作り出した彼女にとって、非常に高いリスクでした。人命がかかっていたため、すべてのプログラムは完璧でなければなりませんでした。マーガレットのソフトウェアは、予期せぬエラーを素早く検出し、リアルタイムで回復する必要がありました。しかし、このような適応型プログラムを構築するのは困難でした。初期のソフトウェアは、決められた順序でジョブを処理するしかありませんでした。
この問題を解決するために、マーガレットは、プログラムを非同期に設計しました。つまり、ソフトウェアの重要なジョブが、重要でないものを中断することができるようにしました。彼女のチームは、すべてのタスクに一意の優先度を割り当て、どんな驚きがあっても、各ジョブが正しい順序で適切なタイミングで発生するようにしました。
ハミルトンのアポロ11ミッションへの貢献
マーガレットの