[openrtm-users 00321] コンポーネントと実行コンテキストの状態遷移について

Masayuki Shimizu masayuki.shimizu @ aist.go.jp
2007年 12月 12日 (水) 22:50:42 JST


安藤樣

コンポーネントの状態遷移と実行コンテキストの状態遷移は、
仕様上、互いに何らかの関連や制約があるのでしょうか?

現在の実装では、コンポーネントの状態遷移は、
実行コンテキストがRunning状態でなければ
実行されないようになっています。
そのため、実行コンテキストがStopped状態で、
activate/deactivate/reset_component()
を呼んでも実際は何も起こりませんが、
それらの戻り値はRTC::RTC_OKとなるため、
状態遷移が起こるかのように見えてしまいます。

また逆に、コンポーネントがActive状態のときに
実行コンテキストをstop()すると、
周期的にonExecute()が呼ばれている最中に
突然onShutdown()が呼ばれて、
コンポーネントがActive状態のまま
実行コンテキストがStopped状態になります。
その後再び実行コンテキストをstart()させると、
onStartup()が呼ばれた後、
いきなりonExecute()が呼ばれてしまいます。

以上のような現象は、望ましくない場合もあるかと
思いますが、仕様でそうなっているのでしょうか?

よろしくご教授願います。

清水
--------------------
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/



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