2015/07/03 14:00
護衛艦のシステムはスマホの普及で変化した――護衛艦プログラマーに聞く、艦船を動かすソフトウェア
国防の要である「護衛艦」。護衛艦の動作にもソフトウェアは重要な役割を担っています。護衛艦を動かすシステムはどのようなものなのか、システムにどんなトレンドがあるのかについて、「護衛艦プログラマー」こと、三菱スペース・ソフトウエア株式会社の中島康貴さんにお話を聞きました。
護衛艦のシステムは、ほぼ「組み込みリアルタイムシステム」
――護衛艦を動かすシステムにはどのようなものがあるのでしょうか。
護衛艦の航行を導く航法統制システム、レーダーや武器の統制システム、そして艦内情報の共有システムなどがあります。これらシステムの特徴は、そのほとんどが「組み込みリアルタイムシステム」ということです。
――組み込みというのは、電化製品と同じ?
はい。自販機からロケットまで、様々なモノに組み込まれていて、その動きを制御するシステムです。
――それらのシステムは、具体的にはどのように連携して作動するのでしょうか。
たとえば、レーダーが不審な移動体を捉えた場合、その情報がセンサ統制システムから情報処理系システムへと伝えられます。そこで統合された情報を分析し、人の判断も加わってそれが何なのかを判断します。脅威として判断されると、その情報が武器などの統制システムに伝えられ、対処することになります。
――どこかに溜めておくのですか?
必要な情報だけ溜めておきます。情報やデータを、Webサーバのような形で格納したり、システムをネットワークで連接させたり、互いに連携しながら協調して動作します。意外に思われますが、通信プロトコルにはHTTPなど一般的な技術を流用している部分もあります。
――「組み込みリアルタイムシステム」とありましたが、「リアルタイムシステム」はどういうものなのでしょうか。
決められた処理を時間内に正しく完了するために作られたシステムです。車の制御システムと似ているといえば想像しやすいでしょうか。「リアルタイム」というと、世間では「とにかく早く処理ができる」と勘違いされがちですが、実際には処理時間が意図的にコントロールされていることを指します。たとえば1秒に最大1000のデータを処理するシステムの場合、1つのデータを1/1000秒以内で処理できるように設計されています。
ただし自動車のエアバッグのように、ある時間内に処理が終わらないと致命的な「ハードリアルタイムシステム」とは異なり、私が携わる「ソフトリアルタイムシステム」では、時間内に処理が終了しない場合の対処を仕様化します。たとえば「あるデータは破棄して次のデータを優先的に処理する」といったように、あらかじめ設計に組み込んでおくわけです。
人間の意思決定を組み込んだ「エキスパートシステム」が目標
――護衛艦のシステムの大きさは、一体どのくらいでしょうか?
私が携わっているシステムは、多数の機能からなるシステムですので、プログラムの規模は、発電所やプラントの制御システムと同じくらいの規模になります。
――本当に大きいですね。護衛艦のシステムといっても色々あると思いますが、その中でも中島さんが担当されているシステムはどういうものなのでしょうか。
艦内の様々なシステムから得られた情報をリアルタイムで画面に表示することで、護衛艦のオペレータの判断を助けるシステムです。今何が起こっているかを把握し、意思決定をサポートします。
――そのシステムでは、情報を画面に表示するまでにどのような処理を行うのですか?
情報に重み付けをしたり、指示されたキーで並べ替えたり、また物理計算による予測なども行います。
情報処理系システムでは、情報収集や分析はもちろん、部分的な意思決定に至るまで、かなりの範囲で半自動化が進んでおり、オペレータは最終的な状況把握や意思決定のみに集中できるようになっています。その判断を左右する重要な部分を担うため、他と同様、システムには高い信頼性と抗堪性が求められます。
――どんな状況下でも正しく迅速に稼働する必要があるということですね。技術的にはどのように担保されているのでしょうか。
たとえば、信頼性においては、送信側と受信側で相互に確認しながらデータを送るアーキテクチャや、システム内の重要な処理を行なう部分の二重化などが採用されています。
また、エキスパートシステム(人工知能研究から生まれたシステムのことで、人間の専門家の意思決定能力をエミュレートするもの)としての役割を目指しており、オペレータの状況認識をサポートするだけでなく、一部の状況判断と処理を半自動化することで、状況に応じて迅速に対処できるようになっています。
――なるほど、人間の意思決定をシステムに組み込むことで、迅速性を高めるというわけですね。ソフトウェアの役割は大きいですね。
そうですね。以前は組み込みシステムとしての性格が強く、ソフトウェアはあくまでハードウェアの制御のためにあると考えられていたように思います。しかし、エキスパートシステムとしての役割を持つようになって、明らかにソフトウェアの重要性は高まっていますね。状況を認識して自動的に知らせたり、他のシステムへと自動で指示したり、人間の代わりに動く機能が増えてきています。
――自動化が進み、オペレータは判断に集中できるということですね。
そういうことです。
――他にも、従来ハードウェアや人手によって実現していた機能を、最近になってソフトウェア化したものはありますか?
最近の大きな変化といえば、護衛艦内の情報共有に関するインフラの電子化が進んでいます。今までは有線通信や紙媒体でのやり取りだった情報が、艦内ネットワークを通じてどこにいても端末から共有情報にアクセスできるようになっています。企業のイントラネットと同じですね。
「スワイプで操作できないの?」スマホの普及でインターフェースの要求も変わった
――システムにはどのような情報がどのように表示されるのですか?
たとえば、護衛艦の周辺状況や搭載している武器の状況を、グラフィカル表示や文字で表示します。グラフィカル表示は一目で状況が把握できるよう、記号や幾何学図形で簡素化して表示します。人間工学に基づく基本設計に加え、新しい技術によるビジュアル的な工夫も欠かせません。
――どのようなインターフェースが好まれるのですか?
以前はシンプルなものが好まれていたのですが、最近はスマートフォンの影響もあってグラフィカル化への要望が増えています。先日は「スワイプで画面を切り替えられないか」といった声も挙がっていました。
――スマートフォンの普及が、こんなところにも影響しているとは。
質実剛健さが好まれていた時代から、合理的・実利的な志向へとマインドも変化しているのかもしれません。確かに熟練したオペレータならシンプルな方が早く操作できますが、そうでない場合も含めるとグラフィカルな画面の方が操作性は高まるでしょう。今は要望に応えられる技術も環境も整いましたし、ユーザー側もスマートフォンやタブレットのような操作画面に慣れてきているので、グラフィカル化の傾向はしばらく続くと思います。
また、オペレータによる誤操作を想定した「フールプルーフ」や、システムの誤作動による被害を最小に抑える「フェイルセーフ」など、見た目以外についても考慮しながらユーザーインターフェースを設計し、実装しています。
――様々な視点から考慮しつつ、まとめあげるのは大変だと思います。
ええ、些細なことで操作性が全く違いますからね。近年は、ハードウェアのボタンから画面上の画像ボタンによる操作が増え、ますますウインドウオペレーションが煩雑になっています。これからも人間工学など最新のテクノロジーを学びながら、有用なものは取り込んでいきたいですね。
中島さんにとっての、プログラミング×[護衛艦]とは
――中島さんは、なぜ護衛艦システムの開発・運用をされるようになったのでしょうか。
実はもともと宇宙関連のシステム開発を希望して入社したんです。でも、最初に配属されたのが、護衛艦システムを開発する部署で「船もロケットもシステムの中身は同じようなものだから」と説得され、気がつけば20年も経っていました。確かに、護衛艦は海に浮かぶ宇宙船のようなもので、本質的には同じことだと思いますし、もちろん今は自分の携わったシステムに誇りを持っていますね。
――最後に、中島さんにとって「護衛艦をプログラミングする」とは、どういうことでしょうか。
間接的ではありますが、社会の発展に貢献できる仕事だと考えています。
***
大きな艦の大きなシステムの中で、中島さんがつくったプログラムは、それ自体も動く様子も、目で見ることはできません。「だからこそ、プログラミングは『プログラムをつくる』ことよりも、『つくったプログラムで何ができるか』に注力すべき」と中島さん。その視点をもとに、後編では護衛艦のシステムを、実際どのように開発・改修を行っているかについて伺います。
著:伊藤真美
写真:小倉亜沙子