清水様
安藤です
> 産総研 清水です。
>
> コンポーネントの状態遷移に関して教えて下さい。
>
> コンポーネントの初期化時にonInitialize()が呼ばれ、
> それが成功すればAlive状態になると思うのですが、
> この関数でエラーとなったときに、
> 仕様ではどういう挙動をすることになっているのでしょうか?
>
> すなわち、onInitialize()でエラーが起こった場合、
> onFinalize()が呼ばれてから終了状態に遷移するのか、
> またはonFinalize()が呼ばれず終了状態に遷移するのか、
> どちらなのでしょうか?
o0nInitialize()でエラーとなった場合、onFinalize()が呼ばれて終了することに
なっていたと思います。(少なくとも現在の実装ではそのつもりです。)
RTCの仕様的にもAlive状態のexitがon_finalizeなので、
on_initialize()がエラーのときは、Alive状態から即でるので、そうなります。
> また、onFinalize()が呼ばれて一旦終了状態となった後、
> 再びonInitialize()を呼んでAlive状態にすることは
> 許されているのでしょうか?
終端擬似状態(UMLのnotationで二重丸のやつ)に入るので、復帰は許されません。
> 以上、よろしくお願い致します。
>
> 清水
安藤樣
産総研 清水です。
コンポーネントの状態遷移に関して教えて下さい。
コンポーネントの初期化時にonInitialize()が呼ばれ、
それが成功すればAlive状態になると思うのですが、
この関数でエラーとなったときに、
仕様ではどういう挙動をすることになっているのでしょうか?
すなわち、onInitialize()でエラーが起こった場合、
onFinalize()が呼ばれてから終了状態に遷移するのか、
またはonFinalize()が呼ばれず終了状態に遷移するのか、
どちらなのでしょうか?
また、onFinalize()が呼ばれて一旦終了状態となった後、
再びonInitialize()を呼んでAlive状態にすることは
許されているのでしょうか?
以上、よろしくお願い致します。