宇田様
安藤です
いつもお世話になっております。
ご質問の件ですが、OMGのRTC仕様ではOpenRTMのように
サービスポートやデータポートといった区別はありません。
OMG RTCのポートとは、
- 他のポートと接続する
- 接続時にはインターフェース情報を交換する
- 切断する
機能のみ提供するオブジェクトという決まりです。
接続時に交換するインターフェース情報は必ずしもCORBAの
インターフェースだけとは限らず、仕様にもそのことは明記されていません。
したがって、この仕様を実装する人は、具体的にどういったインターフェース
(CORBA、SOAP、その他等)を使用し、どういった情報を交換し、どのように
接続させるかを決めなければなりません。
OpenRTMでは主にCORBAを使用することを前提とし、さらに2種類のポート
(データポート・サービスポート)を定義しています。
OpenRTMのデータポート、サービスポートは以下のような位置づけです。
- サービスポート:CORBAのサービスを提供したり、使用したりするためのポート
OpenRTMでは今のところCORBAのサービスに限定している
- データポート:上記サービスポートを拡張し、データ交換のためだけに使用する
OpenRTM固有のインターフェース(DataPort.idlで定義)および
データ交換に特化した機能(バッファ、パブリッシャ、変数バインディング等)
がすでに実装済みのポート
RtcLinkで見ると、データポートとサービスポートはアイコンの形が違うので、
違うもののように見えますが、実は両者は本質的には同じものです。
以下のクラスリファレンスを見ていただければ理解が早いと思います。
http://www.is.aist.go.jp/rt/OpenRTM-aist/doxygen/ClassReference/classRTC_1_1PortBase.html
ちなみに、0.4.x はOMG RTCのFinalization Task Force で議論していた
途中のIDL (RTC.idl の2007年2月頃のバージョンだったとおもいます) を
元に実装されています。その後、RTObjectbのEC周りのオペレーションが
2,3個変更されており、そのIDLに準拠したものが1.0になる予定です。
IDLが変更されるので1.0と0.4では一部互換性がありません。
たとえば、0.4のRtcLinkでは1.0のRTCを操作できません。
ただし、IDLとRTCのプログラミング時に使用するAPIはまた別の
問題で、今のところ大きな変更はしない予定です。
(できればソースレベルでの互換性は保ちたいと思います。)
以上、でお答えになっておりますでしょうか?
2008/07/08 21:02 Akio Uda :
> いつも御世話になります。宇田@NECシステムテクノロジーです
>
> OpenRTMの次期バージョンについてお伺いします。
>
> OMG RTC Specification の Formal specification, v1.0 の仕様を
> 拝見しましたところ、データポート(InPort/OutPort)についての
> 記述が見当たらなかったのですが、v1.0ではデータポートには対応
> される予定でしょうか?
>
> また対応される場合、v0.4.2と大きく変わる点などはございますで
> しょうか?
>
いつも御世話になります。宇田@NECシステムテクノロジーです
OpenRTMの次期バージョンについてお伺いします。
OMG RTC Specification の Formal specification, v1.0 の仕様を
拝見しましたところ、データポート(InPort/OutPort)についての
記述が見当たらなかったのですが、v1.0ではデータポートには対応
される予定でしょうか?
また対応される場合、v0.4.2と大きく変わる点などはございますで
しょうか?