PLAINニュース第176号
Page 1

宇宙情報システム講義第2部 これからの衛星データシステムはこうなる
(第3回 機能オブジェクト1)

山田 隆弘
宇宙情報・エネルギー工学研究系

 今回は機能オブジェクトの話をします。

 前回 説明したように、今までの搭載機器の機能設計の仕方はあまりにもバラバラだったので、「衛星の機能設計はこのように行って下さい」という決まりを作ることにしました。この決まりを衛星の機能モデルと呼んでいるのですが、機能オブジェクトは衛星の機能モデルにおける中心的な概念なのです。

 衛星の機能モデルは、ソフトウェアの世界で使用されているオブジェクト指向と呼ばれる技術を参考にして作りました。これから説明する機能オブジェクトの概念も、オブジェクト指向におけるオブジェクトの概念を参考にして作りました。

 衛星の搭載機器はいろいろな機能を有していますが、関連のあるひとまとまりの機能をまとめたものが機能オブジェクトです。一つの搭載機器がいくつの機能オブジェクトを持つかは搭載機器の複雑さにもよりますが、だいたい一つの搭載機器が一つないし数個の機能オブジェクトを持つと考えてください。

 機能オブジェクトはいくつかのことを実行します。機能オブジェクトが実行する動作をオペレーションと呼びます。また、機能オブジェクトは内部の様子をいくつかのパラメータによって表します。機能オブジェクトの様子を表すパラメータをアトリビュートと呼びます。これらの用語はオブジェクト指向の用語なのですが、伝統的なソフトウェアの用語を使えば、オペレーションは関数あるいはサブルーチンに相当し、アトリビュートは変数に相当します。

 これから、簡単な例を使って機能オブジェクトのエッセンスについて説明することにします。ある衛星にXという搭載機器が搭載されているとします。この搭載機器全体を管理する機能を機能オブジェクトとして表すことにします。

 この搭載機器は何かを観測するのですが、観測を行うためにはこの機器を立ち上げる必要があります。立ち上げ前のこの機器の状態は OFF になっていますので、オペレーションを実行することによって ON にします。ON になっても、この機器はまだ STOP していますので、それを RUN 状態にします。

 上で書いたことは図1のような状態遷移図で表すことができます。この図において四角で表されているのがこの機器の状態です。そして、状態の中の文字列(例えば、OFF とか ON とか)は状態名です。


図1 搭載機器Xの状態遷移図

 機能オブジェクトが現在どのような状態にあるのかということは、アトリビュートの値によって表されます。この機器は、状態を表すために二つのアトリビュートを有しています。一つは X_OnOff というアトリビュート、もう一つは X_RunStop というアトリビュートです。例えば、この機器が RUN 状態にあるときは、アトリビュート X_OnOff の値が ON となり、アトリビュート X_RunStop の値が RUN になっているのです。

 図1の矢印は状態遷移を表しているのですが、状態遷移はこの機器がオペレーションを実行することによって引き起こされます。図1の矢印に付されている文字列は、その状態遷移を引き起こすオペレーションの名前です。例えば、この機器が OFF 状態にあるときに X_Power_On というオペレーションを実行すると、状態が ON に遷移するのです。

 さて、この機器は衛星に搭載されていますので、オペレーションは、この機器に(地上から、あるいは、他の機器から)コマンドを送ることによって実行されます。また、機器のアトリビュートの値は、この機器から(地上に、あるいは、他の機器に)送られてくるテレメトリの値によって確認します。

 用語がちょっとややこしいのですが、オペレーションとアトリビュートは機能オブジェクトを特徴づけるための概念です。それに対し、コマンドとはオペレーションを引き起こすためのメッセージのことであり、テレメトリとはアトリビュートの値を伝えるためのメッセージのことです。このように一見ややこしい用語を使うのは、搭載機器の機能設計を一般のソフトウェア設計と同じようにできるようにしようという試みのためなんです。

 次回は、今回の例題をさらに詳しく調べていきます。

このページの先頭へ



(608KB/ 2pages)

Next Issue
Previous Issue
Backnumber
Author Index
Mail to PLAINnewsPLAINnews HOME