[openrtm-users 00432] 「1対多のサービスポート接続のメッセージ」について

Yusuke Nakajima y.nakajima @ aist.go.jp
2008年 4月 15日 (火) 20:09:53 JST


産総研の中島です。


「1対多のサービスポート接続のメッセージ」について質問させてください。


サンプルRTC「serviceAComp」「serviceBComp」「serviceCComp」
を3つ、以下のようなIDLとgen.shを用いて作成し、各々のRTCでは、
それぞれ一つずつ「provider/consumer」用のポートを用意して、

 [provider A]----[consumer B]
             ----[consumer C]
             
 [provider B]----[consumer A]
             ----[consumer C]
             
 [provider C]----[consumer A]
             ----[consumer B]             

のような全てのポートが「1対2」となるようにRtc-Linkで接続し、動作確認
をしていたところ、正常にサービスのやり取りは出来ているようですが、
ポート接続時に

”Port interfaces do not match completely”

というアラームメッセージが表示されますが、問題ないでしょうか?


イメージとして、同じポートに別の複数RTCのポートから接続する場合に、
プロバイダ/コンシューマで整合させる「インスタンス名(例えば以下の"BtoA"とか)」
をユーザが選択する必要があるかと思えたのですが、実際は上記アラームが出て「OK」を
すると内部で自動的に選択しているようです。

自動的に選択出来るにも関わらず、このアラームが出るということは、
今回のようなサービスポートの接続方法をRTMとして推奨していないものなので
しょうか?

もしくは、このアラームは別の何らかの修正が必要であることを意味しているの
でしょうか?


よろしくお願いいたします。


--[serviceA.idl]---
	interface srvA {
		void serviceA();
	};

--[serviceB.idl]---
	interface srvB {
		void serviceB();
	};

--[serviceC.idl]---
	interface srvC {
		void serviceC();
	};

---[gen.sh(serviceACompの場合)]---
    /usr/local/bin/rtc-template -bcxx --module-name=serviceA 
    --module-desc=serviceA --module-version=0.1 --module-vendor=AIST 
    --module-category=Generic --module-comp-type=DataFlowComponent 
    --module-act-type=SPORDIC --module-max-inst=10 
    --service=providerA:BtoA:srvA --service=providerA:CtoA:srvA 
    --service-idl=serviceA.idl --consumer=consumerA:AtoB:srvB 
    --consumer-idl=serviceB.idl --consumer=consumerA:AtoC:srvC 
    --consumer-idl=serviceC.idl

---[gen.sh(serviceBCompの場合)]---
    /usr/local/bin/rtc-template -bcxx --module-name=serviceB 
    --module-desc=serviceB --module-version=0.1 --module-vendor=AIST 
    --module-category=Generic --module-comp-type=DataFlowComponent 
    --module-act-type=SPORDIC --module-max-inst=10 
    --service=providerB:AtoB:srvB --service=providerB:CtoB:srvB 
    --service-idl=serviceB.idl --consumer=consumerB:BtoA:srvA 
    --consumer-idl=serviceA.idl --consumer=consumerB:BtoC:srvC 
    --consumer-idl=serviceC.idl 

---[gen.sh(serviceCCompの場合)]---
    /usr/local/bin/rtc-template -bcxx --module-name=serviceC 
    --module-desc=serviceC --module-version=0.1 --module-vendor=AIST 
    --module-category=Generic --module-comp-type=DataFlowComponent 
    --module-act-type=SPORDIC --module-max-inst=10 
    --service=providerC:AtoC:srvC --service=providerC:BtoC:srvC 
    --service-idl=serviceC.idl --consumer=consumerC:CtoA:srvA 
    --consumer-idl=serviceA.idl --consumer=consumerC:CtoB:srvB 
    --consumer-idl=serviceB.idl 
-----------------------------------------------------
〒305-8568 
茨城県つくば市梅園1-1-1 つくば中央第2  2-12棟
独立行政法人 産業技術総合研究所
 知能システム研究部門 自律行動制御研究グループ

   中島 裕介 (Yusuke Nakajima)

 TEL:029-861-5080(内線55267)
 mailto:y.nakajima @ aist.go.jp
-----------------------------------------------------




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