テクノロジー: 2007年3月アーカイブ

ロケット開発というと国家が威信を賭けておこなうもの・・・といったイメージがあります。
ところが、アメリカでは民間(個人?)でロケットを打ち上げているようです。

すごい・・・

打ち上げたのはPaypalの創業者だそうです。
参考: 純民間版宇宙開発をリードする億万長者たち

なんて無駄遣い・・・宇宙開発よりもまずビルみたいに貧困対策してほしいなぁ。

先日、沖縄の嘉手納基地に配備する予定であったF-22戦闘機が途中でハワイに引き返すという事件がおきました。
最初このニュースを聞いたときに、「北朝鮮に対する威圧行為を駆け引きにつかってるのかな?」くらいに思っていましたが、真相が明らかになりました。

日付変更線を越えたらぶっ壊れた

まじですか・・・wwwww

国際日付変更線の恐怖
Lockheed's F-22 Raptor Gets Zapped by International Date Line

Raptor の編隊が太平洋上の国際日付変更線を越えたとき、戦闘機の複数のコンピュータシステムが機能を停止した。燃料システム、航行援助システムのすべてと、一部の通信システムが完全にオフライン状態になった。システムの再起動を何度も試みたがムダだった。

・・・ひどするぎる。
これは兵器のソフトウェアを、通常機器のソフトウェアの設計手法で開発してしまった失敗だと想像します。ソフトウェアシステム屋さんの観点からこの問題を考えて見ます。

基本的にソフトウェアの開発は重複を避けるように設計されます。同じ機能を別途作ると、開発コストが増えるだけでなく、テスト工程も増えるためライブラリ化して再利用できるように設計します。これは統合テストの際に問題の発見を容易にするので、どのような設計エンジニアでも心がけていることです。

また、計測機器のようなリアルタイム処理環境では、プログラムのロジックが違うと微妙な処理時間の違いが計測精度や制御精度に影響がでるので、同じ機能を別々のアルゴリズムで実装するということはありません。

ですので、このF-22のバグも、共通して使われる時間管理モジュールのどこかに致命的なエラーがあったため動かなくなっているのだと想像しています。

しかし、一般に飛行機のようなミッションクリティカルな機械は一部壊れても動くように冗長設計がなされています。軍事兵器なら被弾して損壊することを想定しているわけですからコンピュータも冗長化するべき・・・と、もちろん優秀なロッキード・マーティン社のエンジニアは考えていて冗長設計してあります。

こんな最新鋭の戦闘機でもプログラムは冗長設計できないんですよ・・・。

東証がとまったていいじゃない。死人がでるわけじゃないし。