한국   대만   중국   일본 
クラスタ?ミッション - Wikipedia コンテンツにスキップ

クラスタ?ミッション

出典: フリ?百科事典『ウィキペディア(Wikipedia)』
クラスタ?
Cluster
所? ?州宇宙機?
任務 磁??
打上げ日時 1996年6月4日
12:34:06 UTC
輸送ロケット アリアン5 G V88/501
打上げ場所 ギアナ宇宙センタ? ELA-3
質量 1200
軌道要素
軌道 高楕円軌道 (計?)
軌道に到達せず
テンプレ?トを表示

クラスタ? (Cluster)は、 ?州宇宙機? アリアン5 ロケットの?女飛行で打ち上げた4機の 人工衛星 の集合?であるが、ロケットは軌道に到達しなかった。打上げは 1996年 6月4日 に行われたが、 表明 が切れていたことによる整?のオ?バ?フロ?によるソフトウェアの設計ミスによる失敗に終わった。このため、ロケットは打上げから37秒後に軌道を外れ、高い空?力の下で分解し始め、自動自爆?置により破?された。この失敗は、?史上最も?名高く高くついた バグ の1つとして知られるようになった [1] 。この失敗により、3億7000万ドル以上が無?になったと言われている [2]

人工衛星 [ 編集 ]

クラスタ?は、224Wの 太陽電池 で給電される、1200kgの円筒形の スピン安定 性人工衛星4機で構成されている。4機は四面?を構成するように飛行し、 地球の磁?? の調査を行うことを目的とする。軌道は、短?17200km、長?120600kmの高楕円軌道で、 軌道傾斜角 赤道 に?し90°である [3]

打上げの失敗 [ 編集 ]

アリアン5は、 アリアン4 慣性航法?置 を再利用しているが、アリアン5の飛行?路は前のモデルとはかなり異なる。特に、アリアン5の水平方向に大きな加速は、バックアップも含めたコンピュ?タを破?して診?デ?タを消失させ、 オ?トパイロット に?の位置と速度を誤認させた。アリアン5の飛行?件下の慣性飛行試?は行われなかったため、打上げ前には、このエラ?は?見されなかった。事故原因調査において、別の慣性航法?置を用いてアリアン5の模擬飛行が行われたが、?際と同じように失敗した。

水平方向に大きな加速は、64ビット 浮動小?点? から16ビット符?付き整?値へのデ?タの?換を引き起こし、 算術オ?バ?フロ? したことで 例外?理 された。?率化のため、このような個?の??の範?確認は省略されていたが、コ?ド中の他の??の?換については保護されていた。例外?理は?照プラットフォ?ムを停止し、飛行の破?につながった。

報告書は、ソフトウェアのバグを直接の原因と認定しているが、別の調査ではシステム設計や運用の問題を指摘しているものもある [4] [5]

算術オ?バ?フロ? [ 編集 ]

事故原因の調査に加わったJean-Jacques Levyによると、問題を引き起こした Ada のソ?スコ?ドは以下のようなものであった [6]

L_M_BV_32
 :=
 TBD
.
T_ENTIER_32S
 ((
1.0
/
C_M_LSB_BV
)
 *
 G_M_INFO_DERIVE
(
T_ALG
.
E_BV
));


if
 L_M_BV_32
 >
 32767
 then

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 16#7FFF#
;

elsif
 L_M_BV_32
 <
 -
32768
 then

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 16#8000#
;

else

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 UC_16S_EN_16NS
(
TDB
.
T_ENTIER_16S
(
L_M_BV_32
));

end
 if
;


P_M_DERIVE
(
T_ALG
.
E_BH
)
 :=
 
  UC_16S_EN_16NS
 (
TDB
.
T_ENTIER_16S
 ((
1.0
/
C_M_LSB_BH
)
 *
 G_M_INFO_DERIVE
(
T_ALG
.
E_BH
)));

最終行(ここでは2行となっている)がオ?バ?フロ?の原因となり、ここで64ビットから16ビットへの?換は保護されていなかった。正しいコ?ドは以下のようになる。

L_M_BV_32
 :=
 TBD
.
T_ENTIER_32S
 ((
1.0
/
C_M_LSB_BV
)
 *
 G_M_INFO_DERIVE
(
T_ALG
.
E_BV
));


if
 L_M_BV_32
 >
 32767
 then

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 16#7FFF#
;

elsif
 L_M_BV_32
 <
 -
32768
 then

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 16#8000#
;

else

    P_M_DERIVE
(
T_ALG
.
E_BV
)
 :=
 UC_16S_EN_16NS
(
TDB
.
T_ENTIER_16S
(
L_M_BV_32
));

end
 if
;


L_M_BH_32
 :=
 TBD
.
T_ENTIER_32S
 ((
1.0
/
C_M_LSB_BH
)
 *
 G_M_INFO_DERIVE
(
T_ALG
.
E_BH
));


if
 L_M_BH_32
 >
 32767
 then

    P_M_DERIVE
(
T_ALG
.
E_BH
)
 :=
 16#7FFF#
;

elsif
 L_M_BH_32
 <
 -
32768
 then

    P_M_DERIVE
(
T_ALG
.
E_BH
)
 :=
 16#8000#
;

else

    P_M_DERIVE
(
T_ALG
.
E_BH
)
 :=
 UC_16S_EN_16NS
(
TDB
.
T_ENTIER_16S
(
L_M_BH_32
));

end
 if
;

言い換えると、垂直方向の計算(E_BV)に?に??されていたものと同じオ?バ?フロ?チェック機構が水平方向の計算(E_BH)にも??されるべきであった。

その後 [ 編集 ]

失敗の後、4機の クラスタ?II が建造された。これらは、 2000年 に2機ずつ ソユ?ズU / フレガ?ト によって打ち上げられた。

打上げの失敗は、大衆、政治家、?社役員等に、複?なコンピュ?ティングシステムに?連した高いリスクへの認識をもたらし、生命に?わるシステムへの信?性を確保する?究への支援が?加した。その後行われたアリアン5の ソ?スコ?ド の自動解析は、 抽象解? による大規模な ?的コ?ド解析 の初めての事例となった [7]

この失敗は、アリアン4の高い成功率によって打ち立てられた?州宇宙機?のロケットの成功記?にも傷を付けた。アリアン5の打上げがアリアン4と同等の信?性を持つと認められたのは、 2007年 になってからであった [8]

?連項目 [ 編集 ]

出典 [ 編集 ]

  1. ^ Gleick, James (1996年12月1日). “ A Bug and A Crash ”. New York Times Magazine . 2012年4月7日 ??。
  2. ^ Dowson, M. (March 1997). “The Ariane 5 Software Failure”. Software Engineering Notes 22 (2): 84. doi : 10.1145/251880.251992 .  
  3. ^ Krebs, Gunter. “ Cluster 1, 2, 3, 4, 5, 6, 7, 8 ”. Gunter's Space Page . 2011年11月29日 ??。
  4. ^ Nuseibeh, Bashar (May 1997). “Ariane 5: Who Dunnit?” (PDF). IEEE Software 14 (3): 15-16. doi : 10.1109/MS.1997.589224 . http://www.doc.ic.ac.uk/~ban/pubs/ariane5.pdf .  
  5. ^ Le Lann, G. (1997). "An Analysis of the Ariane 5 Flight 501 Failure - A System Engineering Perspective". 10th IEEE Intl. ECBS Conference . pp. 339?346. {{ cite conference }} : 不明な引? |month= は無視されます。 ( ?明 )
  6. ^ http://moscova.inria.fr/~levy/talks/10enslongo/enslongo.pdf
  7. ^ Faure, Christele. “ PolySpace Technologies History ”. 2010年10月3日 ??。
  8. ^ Todd, David (2007年3月). ASCEND Space Intelligence News  

Thomas, L.D. (2007) Selected Systems Engineering Process Deficiencies and their Consequences. Acta Astronautica, 61, 406-415.

外部リンク [ 編集 ]