[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 メーリングリストの案内