[openrtm-users 00833] SystemEditorでポート接続の復元に不具合
Yasuaki Odagiri
odagiri @ sec.co.jp
2009年 6月 12日 (金) 20:45:07 JST
OpenRTM-aist開発者各位
お世話になっております。
セック 小田桐です。
1.0.0用のRT Systesm Editorを使用していて、ポート接続の復元が
うまくできないケースがありましたので、ご報告いたします。
ポート接続がうまく復元できないのは、別々のホストで同じ種類のRTCを
複数起動した場合です。
例えば、HostAとHostBでConsoleInとConsoleOutをそれぞれひとつずつ
起動します。
ネーミングサービス上では以下のようになります。
|-HostA|host_cxt
| |-ConsoleIn0|rtc
| |-ConsoleOut0|rtc
| |-manager|mgr
|
|-HostB|host_cxt
| |-ConsoleIn0|rtc
| |-ConsoleOut0|rtc
| |-manager|mgr
HostAのConsoleIn0とConsoleOut0、HostBのConsoleIn0とConsoleOut0を
それぞれ接続し、保存します。
一度全てのRTCを再起動した後、状態を復元しようとすると、
HostBのConsoleIn0とConsoleOut0の間のポートが
接続されませんでした。
おそらく原因は、保存したXML(RTS Profile)のポート接続情報に、
ポート接続する対象のRTCがどこのホストに属するかという情報が
ないためではないかと思われます。
現状、ポート接続情報に、対象のRTCの情報はインスタンス名と
コンポーネントID(RTC:[vendor].[category].[implementation_id]:[version])
しかありません。
そのため、接続すべきポートが、HostAのConsoleIn0のポートoutなのか、
HostBのConsoleIn0のポートoutなのか区別ができないと思われます。
その結果、HostAのConsoleIn0とConsoleOut0を2回
接続してしまい、HostBの方は接続されなかったのではないかと
考えています。
この推測が正しいのであれば、RTS Profileにホストの情報を
付与するというのが一番簡単そうです
ただ、私としては、RTCのインスタンス名も、ネーミングサービスへの
登録名と同じようにしてはどうかと考えています。
以上、ご確認をよろしくお願いいたします。
-----------------------------------------------------------
株式会社セック 開発本部 第一開発部
〒150-0031 東京都渋谷区桜丘町 22-14 NESビル
TEL: 03-5458-7741 FAX : 03-5458-7726
URL: http://www.sec.co.jp
小田桐 康暁 (Yasuaki ODAGIRI)
E-Mail: odagiri @ sec.co.jp
-----------------------------------------------------------
openrtm-users メーリングリストの案内