小 特 集

分散シミュレーション技術の紹介
Introduction of Distributed Simulation
小堀 壮彦＊

山本 一二三＊Takehiko Kobori, Hifumi Yamamoto

分散シミュレーションとは従来のスタンドアロン型のシミュレーションに分散コンピューティング技術を取り入れた手法であり、ネットワーク接続された複数のシミュレーションプログラムを連携して動作させたり、1つのシミュレーションプログラムを機能分解して複数のコンピュータに分散配置したりといった柔軟なシミュレーション構成を可能にする。本稿では分散シミュレーションに関わる要素技術とHTV（H−II Transfer Vehicle）ミッションにおける事例を紹介する。なお、事例の多くはJAXA（Japan Aerospace eXploration Agency、宇宙航空研究開発機構）業務での検討成果から取り上げた。
Distributed simulation is a combination technology of distributed computing and simulation. It
enables flexible configuration of simulation. This report explains elemental technologies for
distributed simulation and introduces some examples of use in HTV (H−II Transfer Vehicle)
mission. These examples include study results of JAXA (Japan Aerospace eXploration Agency).

2．HLA

1．まえがき宇宙機のソフトウェア開発では、概念設計から検証、HLA（High Level Architecture）は米国防省の主導

さらに運用訓練にいたる様々なフェーズでシミュレーシにより標準化された分散シミュレーションのための規格

ョンが活用されている。搭載機器やミッションの複雑化であり、1998年にHLA1.3が最終案としてまとめられ、に伴いシミュレータに対する要求が増大する一方で、開2000年にはIEEE1516として採択された（1）。HLAはRTI発期間の短縮とコストの削減も求められている。この問（Run−Time Infrastructure）と呼ばれるミドルウェア題に対処するため、JAXAではより高度なシミュレーシを通してデータ配信や時刻同期等の各種サービスを提供

ョン技術の研究に取り組んでいる。当部署では、この取する。代表的なRTIを表１に示す。HLAに準拠したRTIり組みの１つである分散シミュレーション技術に関わるは共通のサービスとAPI（Application Program Inter-研究開発に携わってきた。

face）を備えているが、通信プロトコル等の実装方法は分散シミュレーションの利点を以下に挙げる。

ベンダによって異なる。このため、複数種類のRTIを混⑴

地理的に離れた場所での並行開発が可能となる⑵

機密情報を外部に出さずにシミュレーションできる⑶

シミュレータの再利用性が向上する

タAからシミュレータBにデータXを送信する手順を以⑷異なるプラットフォーム間でシミュレーションできる

下に示す。

⑸

在して利用することはできない。
シミュレータがRTIを利用する例として、シミュレー負荷を分散してシミュレーションを高速化できる⑴

AはRTIに対してXの発行（送信）を宣言

分散シミュレーションという言葉はネットワーク接続⑵

BはRTIに対してXの購読（受信）を宣言された複数のシミュレータによる連携動作を指すことが⑶

AはRTIにXを更新した旨を通知

多いが、本稿ではこれを広く捉え、シミュレータを機能表１レベルで分散する例や、クラスタ構成にする例についても取り上げた。以下、分散シミュレーションに関わる要素技術とHTVミッションにおける事例を紹介する。

17＊つくば事業部 第一技術部

代表的なRTI

RTI

備考

DMSO RTI

HLA1.3準拠。現在は入手不可。

eRTI

HLA1.3準拠。

pRTITM 1516

IEEE1516準拠。

⑷RTIはBにXが更新された旨を通知
このように、HLAでは全てRTIを介して処理が行われ両シミュレータを統合してから誤りに気付く場合もあった。異なる組織間での分散シミュレーションでは組織内るため、シミュレータ同士の結合度を低く抑えることがでのできる。

FOMに情報を盛り込む必要がある。

常識や暗黙の了解に注意し、必要に応じて様々なシミュレータ間でデータ交換が行われる分散シ

HLAに関わらず、長距離通信路を利用する際の共通ミュレーションでは、データの定義に関わる認識の齟齬の問題として通信遅延の大きさが挙げられる。データ転がしばしば問題となる。HLAでは、分散シミュレーシ

送レートが高くても、通信遅延が大きい環境ではシミュョンを構成するシミュレータやデータの仕様をFOMレーション速度が大きく損なわれてしまう（6）。このよう（Federation Object Model）と呼ばれるXML形式のフな環境下でシミュレーション速度を向上させるためにァイルに記述する規則があり、このファイルを全てのシは、シミュレータ同士のデータ交換頻度を抑え、間引かミュレータで共有することによって上記問題の軽減を図れたデータを補間・予測するような工夫が必要となる。っている。

上 の 実 験 で は、 シ ミ ュ レ ー シ ョ ン 高 速 化 の た め に

分散シミュレーションに特化したリッチなサービスと、FOMによる厳格なデータ定義は、組織間を跨ぐよESTECの保有する推測航法（Dead Reckoning）アルゴリズムが取り入れられた。

うな大規模な分散シミュレーションに適していると考えられる。一方、LAN内で数台のPCを利用するような小2.2

HTV搭載ソフトウェアIV&V

規模な分散シミュレーションに対してはオーバースペッ

2.1節の冒頭でHTVの運用訓練を目的としたHLA分散

クとなる可能性もあり、多くのRTIが有償である点を考シミュレーション環境を紹介した。分散シミュレーショ

慮すると導入は難しいかもしれない。

ンに供されたHTVシミュレータにはHTVの搭載ソフト

以下、HLAを用いた２つの事例を紹介する。

ウェアが組み込まれているので、様々なシミュレーションを行うことで搭載ソフトウェアの検証も可能となる。

2.1

HTV長距離分散シミュレーション

本節では、HLA分散シミュレーション環境を搭載ソフ

2009年 に 打 ち 上 げ ら れ たHTV（H−Ⅱ Transfer

トウェアの検証に利用した例を紹介する。なお、この検Vehicle）ミッションの成功は、事前に行われた入念な証環境はJAXAのIV&V活動の一環として整備された。

運用訓練に支えられている。この運用訓練に用いられた

HTVシミュレータを動作させるためにはISSのシミュのは、NASA（National Aeronautics and Space Admin-レータが必須となるが、検証用のシミュレーションケー

istration）が保有するISS（International Space Station）

スを実行する毎にNASAのオペレータに協力を依頼するやロボットアームのシミュレータと、JAXAが保有するのは非効率である。また、様々なシミュレーションケーHTVシミュレータ及び運用管制システムを太平洋を跨スを実現するためには、ISSシミュレータに検証用の機いでネットワーク接続したHLA分散シミュレーション能を追加する必要もあった。そこで、NASAのISSシミ環境であった。

ュレータを代行する簡易ISSシミュレータを用意し、

上 記 分 散 シ ミ ュ レ ー シ ョ ン 環 境 の 構 築 に 先 立 ち、
JAXAでは長距離通信路における分散シミュレーション環境の実現性について検討を行った。この検討はESA

JAXA内で検証作業が行えるHLA分散シミュレーション環境を整備した（図２）。
従来のスタンドアロン型のシミュレータでは機能間の（European Space Agency）と共同で進められ、2003年にESA/ESTEC（European Space Research andTechnology Centre）とJAXAにて長距離分散シミュレーションの実験が実施された（2）（4）。実験ではESAが保有するISSシミュレータとJAXAが用意した簡易HTVシミ
ュレータによる分散シミュレーションが行われ、シミュISS（ESA/ESTEC）

レーションを通してデータ欠損等の不具合が生じないことを確認した（図１）。
ISSシミュレータと簡易HTVシミュレータのインタフ

HTV（JAXA）

ェース調整はFOMの活用により円滑に進めることができた。とはいえ、クォータニオン（姿勢情報を表すパラメータ）等組織によって定義の異なるデータについては

図１

ESAとの長距離分散シミュレーション実験

MSS技報・Vol.2118

小 特 集結合が密になる傾向があり、一部の機能の置き換えが広必要になるが、これらの通信処理はHORBに付属するコ範囲に影響してしまう場合も多い。これに対して、上でード生成ツールを用いて自動生成することができる（図整備した検証環境では運用訓練に供されたHTVシミュ

３中のMary̲Proxy及びMary̲Skeleton）。MaryとMary̲

レータに何ら手を加えることなく再利用することができ

Skeletonを配置したPC上でHORBのサーバプログラムた。シミュレーションの目的に応じて構成を柔軟に変更を起動し、KenからMary̲Proxyのgreeting()メソッドをできることは、分散シミュレーションの大きなメリット

呼び出せば、ネットワークを超えてMaryのgreeting()メといえる。

ソッドが呼び出される。
２章では複数のシミュレータを統合した分散シミュレ

3．HORBーション環境の例を紹介したが、分散オブジェクト技術

CORBA（Common Object Request Broker）に代表は１つのシミュレータの機能要素を分解して分散配置すされる分散オブジェクト技術は、ソフトウェアの構成要る構成に適している。以下に、HORBの分散オブジェク素をネットワーク上に分散配置し、これらを連携動作さト技術を用いて試作したシミュレーション環境を紹介する。

せるための汎用的な仕組みである。その１つである
HORB（Hirano's Object Request Broker）は1995年に3.1

分散オブジェクト指向フレームワーク

独立行政法人産業技術総合研究所の平野博士によって開

宇宙機の開発では、概念設計から検証、さらに運用訓発された分散オブジェクト技術であり、後にオープンソ練に至る様々なフェーズでシミュレーションが活用されース化されて有志による改良が進められた（残念ながらている。JAXAでは開発のライフサイクルを通して利用

本 稿 を 執 筆 し た 時 点 で は 公 開 が 停 止 さ れ て い る）。

可能な汎用的なシミュレーション支援環境の研究を行っ

HORBの主な特徴を以下に挙げる。てきた。ライフサイクルを通した利用とは、概念設計用⑴

使い方がシンプルで易しいの簡易的なモデルから搭載ソフトウェアまでを、シーム⑵

全てJava言語で実装されているレスに移行しながらシミュレーションできることを目指⑶

他の分散オブジェクト技術と比較して軽量、高速でしている。メーカで開発された詳細モデルや、実機と同ある等のプロセッサ上で動作する搭載ソフトウェアをネット

特徴の筆頭に挙げたHORBの使い易さについて図３をワ ー ク 経 由 で 利 用 で き れ ば、 並 行 開 発 やPILS（Pro-

例に説明する。KenからMaryのメソッドgreeting()を呼

cessor In the Loop Simulation）も可能となる。また、び出すプログラムがあり、このMaryを分散化する場合センサモデルやアクチュエータモデル等の組み替えによりを考える。当然、ネットワークへの接続や送受信処理が多様な宇宙機シミュレーションに適用できるような汎用的な枠組み（フレームワーク）を確立することで、シミュレータ開発における生産性・信頼性の向上が期待できる。

NASA

JAXA

ISS

HTV

上記研究の中で試作した分散オブジェクト指向フレー
ムワークはHORBによる機能要素の分散化をサポートした汎用的なシミュレーションの枠組みであり、評価ボー検証用の簡易ISSシミュレータに置き換え（5）ドを用いたPILSの実現性評価等に利用された（3）
。この

簡易ISS

フレームワークの開発にあたっては、オブジェクト指向による設計やJava言語を用いた実装等、宇宙機用のシ

図２

ミュレータとしては先進的なソフトウェア技術が取り入検証環境の構成れられており、分散シミュレーション以外の観点からもgreeting()

Ken

Mary

解決すべき課題が残るが、成果の一部は２章で紹介した

分散化
Ken

多くの知見が得られている。実用化に向けてはまだまだ

Mary
簡易モデル
greeting()Mary̲Proxynetwork

Mary̲Skeleton

HORBCにより自動生成

図３19

センサA

greeting()

HORBによる分散化

詳細モデル
搭載SW

図４

network

Simulation
Framework

シミュレーション構成を柔軟に変更可能な枠組み

センサB
センサC

分散オブジェクト指向フレームワーク

簡易ISSシミュレータや簡易HTVシミュレータの開発に5．むすび役立てられている。

分散シミュレーションはシミュレータの開発効率や性

4．独自プロトコル

能向上等を実現する上で重要な技術であり、宇宙機だけ目的の限定された局所的な分散シミュレーションを行でなく様々なシミュレーションに適用可能である。読者う場合には、既成のミドルウェアを利用せず独自のプロの手元にあるシミュレータを分散化したらどのような効トコルを実装するという選択肢も考えられる。汎用性は果が得られるだろうか？

低くなるが、特定の用途に限定することによって通信処フォールトトレラント機能等がサポートされた次期理やシミュレーション制御を単純化でき、高い処理性能HLA HLA Evolvedが得られる場合もある。

ント技術

やロボット用の分散コンポーネRTミドルウェア

等、本稿で紹介した事例

この好例として、HTV搭載ソフトウェアの誘導制御性能以降も分散シミュレーションに利用可能な技術が続々と評価に用いられた分散シミュレーション環境を紹介する。

登場してきている。これらの先端技術についても、順次適用性を評価していきたい。

4.1

分散モンテカルロシミュレーション環境

最後に、業務を通してご指導・ご教授いた だいた

HTV搭載ソフトウェアの遠方ランデブフェーズにおJAXA池田氏、上田氏、吉岡氏、高橋氏に感謝します。

ける誘導制御性能を確認するため、様々な飛行経路（シ参考文献

ナリオ）について各々１万ケースのモンテカルロシミュレーションを行った。当時の標準的なPCでは１万ケー⑴

古市昌一、和泉秀幸、 分散シミュレーションのたスのシミュレーションに１週間以上を要したため、限らめの統合基盤アーキテクチャHLAの紹介 、情報処れた期間で膨大なケースを処理するためにはシミュレー

理41巻12 号、2000年ションの並列実行が不可欠であった。そこで、複数の⑵

Nobuto Yoshioka、H. O. Ueda、T. Takahashi、L.

PCにシミュレータを配置してクラスタ化した、分散モ

Arguello、他、 NASDA-ESTEC Joint Experiment

ンテカルロシミュレーション環境が構築された。

of HTV-ISS Distributed Interactive Simulation 、

図５に分散モンテカルロシミュレーション環境の構成

24t h I n t e r n a t i o n a l S y m p o s i u m o n S p a c eを示す。サーバはシミュレーションの実行状況をデータ

Technology and Science、ISTS 2004-t-12、2004年

ベースで管理し、クライアントPCからの要求に応じて⑶

Takashi Takahashi、H. O. Ueda、N. Yoshioka、S.

実行すべきシナリオ及びケース番号を伝える。クライア

Hirano、M. Muranaka、T. Kobori、 Distributed

ントPCはサーバから受け取った情報に基づいてシミュ

Object-Oriented Framework for Spacecraft

レーションを実行して結果をサーバに転送する。これら

Simulations 、24th International Symposium onの手続き（プロトコル）は独自に取り決めたものであSpace Technology and Science、ISTS 2004-t-15、り、下位プロトコルにはHTTP及びFTPが用いられている。
社内のPC約30台の余剰のCPU時間帯を利用した分散

2004年
⑷

上田裕子、吉岡伸人、高橋孝、 分散通信ミ

モンテカルロシミュレーション環境では、５日半で24万ドルウェアHLA/RTIを用いた長距離分散シミュレケースものシミュレーションを実行することができた。本

ーション実験 、平成15年度総合技術研究本部宇宙環境は負荷分散に大きな効果を生み出し、大規模なモンテカルロシミュレーションには欠かせないものとなっている。
Client(1)

ケース情報（HTTP通信）領域研究成果報告書:先行研究等、2004年⑸

Qu Runtao、小堀

実行結果（FTP通信）聡、 邑 中雅 樹、壮彦、 宇宙機シミュレーショ

DB

研究 、宇宙航空研究開発機構研究開発報告、ISSN

実行結果

…

図５

裕 子、 平 野

ンのための分散オブジェクト指向フレームワークの1349-1113、2005年⑹

Client(3)孝、 上 田Server

実行状況

Client(2)高橋

分散モンテカルロシミュレーション環境

上田裕子、小堀壮彦、 通信路特性を考慮した

分散通信ミドルウェアIEEE1516HLA/RTIの特性評
価 、宇宙航空研究開発機構研究開発報告、ISSN
1349-1113、2006年

MSS技報・Vol.21

20

小 特 集21