[openrtm-users 00317] コンポーネントの状態遷移について

2 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 4日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00317] コンポーネントの状態遷移について

安藤樣

産総研 清水です。

コンポーネントの状態遷移に関して教えて下さい。

コンポーネントの初期化時にonInitialize()が呼ばれ、
それが成功すればAlive状態になると思うのですが、
この関数でエラーとなったときに、
仕様ではどういう挙動をすることになっているのでしょうか?

すなわち、onInitialize()でエラーが起こった場合、
onFinalize()が呼ばれてから終了状態に遷移するのか、
またはonFinalize()が呼ばれず終了状態に遷移するのか、
どちらなのでしょうか?

また、onFinalize()が呼ばれて一旦終了状態となった後、
再びonInitialize()を呼んでAlive状態にすることは
許されているのでしょうか?

以上、よろしくお願い致します。

未定義
root
オフライン
Last seen: 4日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00318] コンポーネントの状態遷移について

清水様

安藤です

> 産総研 清水です。
>
> コンポーネントの状態遷移に関して教えて下さい。
>
> コンポーネントの初期化時にonInitialize()が呼ばれ、
> それが成功すればAlive状態になると思うのですが、
> この関数でエラーとなったときに、
> 仕様ではどういう挙動をすることになっているのでしょうか?
>
> すなわち、onInitialize()でエラーが起こった場合、
> onFinalize()が呼ばれてから終了状態に遷移するのか、
> またはonFinalize()が呼ばれず終了状態に遷移するのか、
> どちらなのでしょうか?

o0nInitialize()でエラーとなった場合、onFinalize()が呼ばれて終了することに
なっていたと思います。(少なくとも現在の実装ではそのつもりです。)
RTCの仕様的にもAlive状態のexitがon_finalizeなので、
on_initialize()がエラーのときは、Alive状態から即でるので、そうなります。

> また、onFinalize()が呼ばれて一旦終了状態となった後、
> 再びonInitialize()を呼んでAlive状態にすることは
> 許されているのでしょうか?

終端擬似状態(UMLのnotationで二重丸のやつ)に入るので、復帰は許されません。

> 以上、よろしくお願い致します。
>
> 清水

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク