TOP > 情報技術の研究開発 > ソフトウェアエンジニアリング研究開発―次世代搭載ソフトウェア検証環境の研究
【情報技術の研究開発】ソフトウェアエンジニアリング研究開発
開発を加速するソフトウェアの信頼性検証。将来は「仮想宇宙機」構想も「次世代搭載ソフトウェア検証環境の研究」

ロケットや人工衛星は、さまざまな機器を搭載しています。それらの機器を動かすためのソフトウェアも膨大な数にのぼります。目的や形態が異なるソフトウェアが間違いなく正確に動いてくれるかどうか。ロケットや衛星開発では、そうした動作の信頼性を総合的にチェックする仕組みをつくらなければなりません。


ロケットや衛星に使われるソフトウェアは数も種類も増加
ロケットや人工衛星に搭載されている
さまざまな機器を動かすためのソフトウェアは膨大な数にのぼります
 かつて、ロケットや衛星(これらを宇宙機と呼びます)で使われるソフトウェアは、軌道修正や姿勢制御に使われるものが主流でした。したがって、ソフトウェアの目的や種類もそれほど多くはなく、ソフトウェアの信頼性をチェックする仕組みはそう難しいことではありませんでした。
  しかし、衛星プロジェクトが大型化するにつれ、さまざまな機器が搭載され、それぞれの機器にはマイクロプロセッサ(※1)と制御ソフトウェアが組み込まれるようになりました。そうした状況が進んでいくと、個別の機器のソフトウェアがわかる人はいても、ソフトウェア全体を把握している人がいないという状態が、大きな問題として浮かびあがってきました。それは、宇宙機の各部分で使われているソフトウェアの信頼性を、総合的にチェックする仕組みが必要になったことを意味しています。
  ロケットや衛星で使われる各ソフトウェアの信頼性を一つひとつ評価し、そのうえで、それらを統合して使われる宇宙機全体としての総合的な信頼性を確認できる環境をつくっていかなければなりませんでした。そこで、「次世代搭載ソフトウェアの検証環境」という研究が進められました。

ソフトウェアの信頼性を高め、開発期間を短く、費用を節約
 宇宙機全体の信頼性を確認する方法としてとられたのは、コンピュータ上に宇宙機本体を再現して(擬似宇宙機)、それに対して検証をかけ、擬似宇宙機に搭載されたソフトウェアの信頼性をチェックするというものです。
      本物の搭載ハードウェアを使わない次世代搭載ソフトウェア検証環境による、検証にはいくつもメリットがあります。

1.手軽に検証環境が実現され、開発コストが抑えられます。
2.搭載ハードウェアの開発を待たないので、開発期間の縮小につながります。
3.開発スタッフ全員が使用でき、全体のシステムを把握できます。
4.何度も検証を行うことができるので、宇宙機の信頼性が高まります。

 とくに、メリットが大きいと期待されるのは信頼性の向上です。これまでは、搭載ハードウェアを使って検証を行うというやり方でした。そのため、ハードウェアの異常・故障等の例外事象に対するソフトウェアの検証は不十分でした。ところが擬似宇宙機によるソフトウェアの検証という方法をとることで、ハードウェアの異常・故障等の例外事象が容易に模擬でき、十分な検証が可能となります。
  これらのメリットをにらんでスタートした「次世代搭載ソフトウェア検証環境」の研究は今年で4年目を迎えました。

すでに実用化が目前。「仮想宇宙機」で事故を回避
コンピュータ上の模擬モデルである「仮想宇宙機」は
宇宙機が遭遇するさまざまな事故や危機の回避に大きな役割を担うことでしょう

 まず、宇宙機をコンピュータ上で再現すること→再現された宇宙機にソフトウェアを搭載すること→そのソフトウェアを使って宇宙機のハードウェアやソフトウェアの動作をシミュレーションによって検証すること。次世代搭載ソフトウェア検証環境の研究は、2重3重の構造を一つひとつ上っていくような活動です。そうして、これまでの研究で考えられるかぎりの問題点を洗い出してきました。実用化の一歩手前まできています。
 今後は、次世代宇宙機用として開発されたプロセッサ(HR5000)の搭載ソフトウェアを検証する環境を検討など、さらなる実用化への一歩を進めます。
 このプロジェクトの将来には、「仮想宇宙機」と呼ぶべきシミュレーション機の構想が待っています。
 アカデミー賞をとったアメリカ映画『アポロ13』では、電力事故で危機に陥った仲間の飛行士を救うため、地上に残された宇宙飛行士が同じ型の現物の宇宙船で電力消費を再現するというシーンがありました。「仮想宇宙機」は宇宙機そのものをつくるわけではありませんが、コンピュータ上の模擬モデルを使って、宇宙機が遭遇するさまざまな事故や危機を回避する大きな役割を担うことでしょう。

 

(※1)マイクロプロセッサ:超小型処理装置。コンピュータが動作するためにもっとも基本となる演算処理機能を収めたLSI(集積回路)をひとつのチップにしたもの。いわばコンピュータの心臓部(CPU)にあたる半導体チップ。