ロケットや人工衛星は、さまざまな機器を搭載しています。それらの機器を動かすためのソフトウェアも膨大な数にのぼります。目的や形態が異なるソフトウェアが間違いなく正確に動いてくれるかどうか。ロケットや衛星開発では、そうした動作の信頼性を総合的にチェックする仕組みをつくらなければなりません。
さまざまな機器を動かすためのソフトウェアは膨大な数にのぼります
しかし、衛星プロジェクトが大型化するにつれ、さまざまな機器が搭載され、それぞれの機器にはマイクロプロセッサ(※1)と制御ソフトウェアが組み込まれるようになりました。そうした状況が進んでいくと、個別の機器のソフトウェアがわかる人はいても、ソフトウェア全体を把握している人がいないという状態が、大きな問題として浮かびあがってきました。それは、宇宙機の各部分で使われているソフトウェアの信頼性を、総合的にチェックする仕組みが必要になったことを意味しています。
ロケットや衛星で使われる各ソフトウェアの信頼性を一つひとつ評価し、そのうえで、それらを統合して使われる宇宙機全体としての総合的な信頼性を確認できる環境をつくっていかなければなりませんでした。そこで、「次世代搭載ソフトウェアの検証環境」という研究が進められました。
本物の搭載ハードウェアを使わない次世代搭載ソフトウェア検証環境による、検証にはいくつもメリットがあります。
1.手軽に検証環境が実現され、開発コストが抑えられます。
2.搭載ハードウェアの開発を待たないので、開発期間の縮小につながります。
3.開発スタッフ全員が使用でき、全体のシステムを把握できます。
4.何度も検証を行うことができるので、宇宙機の信頼性が高まります。
とくに、メリットが大きいと期待されるのは信頼性の向上です。これまでは、搭載ハードウェアを使って検証を行うというやり方でした。そのため、ハードウェアの異常・故障等の例外事象に対するソフトウェアの検証は不十分でした。ところが擬似宇宙機によるソフトウェアの検証という方法をとることで、ハードウェアの異常・故障等の例外事象が容易に模擬でき、十分な検証が可能となります。
これらのメリットをにらんでスタートした「次世代搭載ソフトウェア検証環境」の研究は今年で4年目を迎えました。
宇宙機が遭遇するさまざまな事故や危機の回避に大きな役割を担うことでしょう
まず、宇宙機をコンピュータ上で再現すること→再現された宇宙機にソフトウェアを搭載すること→そのソフトウェアを使って宇宙機のハードウェアやソフトウェアの動作をシミュレーションによって検証すること。次世代搭載ソフトウェア検証環境の研究は、2重3重の構造を一つひとつ上っていくような活動です。そうして、これまでの研究で考えられるかぎりの問題点を洗い出してきました。実用化の一歩手前まできています。
今後は、次世代宇宙機用として開発されたプロセッサ(HR5000)の搭載ソフトウェアを検証する環境を検討など、さらなる実用化への一歩を進めます。
このプロジェクトの将来には、「仮想宇宙機」と呼ぶべきシミュレーション機の構想が待っています。
アカデミー賞をとったアメリカ映画『アポロ13』では、電力事故で危機に陥った仲間の飛行士を救うため、地上に残された宇宙飛行士が同じ型の現物の宇宙船で電力消費を再現するというシーンがありました。「仮想宇宙機」は宇宙機そのものをつくるわけではありませんが、コンピュータ上の模擬モデルを使って、宇宙機が遭遇するさまざまな事故や危機を回避する大きな役割を担うことでしょう。
(※1)マイクロプロセッサ:超小型処理装置。コンピュータが動作するためにもっとも基本となる演算処理機能を収めたLSI(集積回路)をひとつのチップにしたもの。いわばコンピュータの心臓部(CPU)にあたる半導体チップ。

