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

Ando Noriaki n-ando @ aist.go.jp
2007年 12月 11日 (火) 15:39:09 JST


清水様

安藤です

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

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

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

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

> 以上、よろしくお願い致します。
>
> 清水
> --------------------
> Masayuki Shimizu
>
> Postdoctoral Fellow
> Task Intelligence Research Group
> Intelligent Systems Research Institute
> National Institute of
> Advanced Industrial Science and Technology (AIST)
> Central 2, 1-1-1, Umezono, Tsukuba, Ibaraki 305-8568, JAPAN
> Tel: +81-29-861-5952
> Fax: +81-29-861-5971
> Email: masayuki.shimizu @ aist.go.jp
>       chaser @ ieee.org
> URL: http://unit.aist.go.jp/is/taskint/
>


-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
                   知能システム研究部門 タスクインテリジェンス研究グループ
                   〒305-8568 茨城県つくば市梅園1-1-1 中央第2
                   TEL: 029-861-5981 FAX: 029-861-5971
                   n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内