[openrtm-users 00261] Re: コンポーネント名についてのお伺い
Ando Noriaki
n-ando @ aist.go.jp
2007年 11月 15日 (木) 14:30:02 JST
宇田様
産総研 安藤です
お世話になっております。
OpenRTM-aist-0.2.0では、コンポーネントの名前は、
[モジュール名]+[インスタンス番号]
となります。インスタンス番号はマネージャがカウントしたものが
与えられますので、異なるマネージャでは、それぞれ0から始まってしまいます。
従いまして、当然異なるマシン上で生成されたコンポーネントでは、
それぞれ0から始まってしまいます。
コンポーネントはデフォルトではネームサーバ上に以下のフォーマットの名前として
登録されると思います。
[ホスト名]/[マネージャ名]/[カテゴリ名]/[モジュール名]/コンポーネント名
従いまして、ネームサーバ上では全てのコンポーネントは一意な名前として登録
されますので、これを利用すれば同一名称のコンポーネントを識別することが可能です。
ただし、エイリアスを使用してコンポーネントを登録している場合には、
名前の一意性を満たすのはユーザの責任となっております。
なお、0.4.0では名前を登録する方法はrtc.confで自由に変えられるようになっています。
> いつも御世話になります。宇田@NECシステムテクノロジーです
>
> 旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い
> についてご教授ください。
>
> 下記のように、ローカルLANを介して複数のマシンがつながっており、
> 1台でネーミングサービスが稼動している状態で、他のマシン上で
> 「同じモジュール名で」createComponent()を行った場合、コンポー
> ネント番号は重複しないように調停されますでしょうか?
>
> それとも調停は行われず、各マシン毎に0から始まるコンポーネント
> 番号が割り振られますでしょうか?
>
>
> ネーミングサービス
> を起動
> ↓
> ┏━━━━━┓
> ┃ マシンA ┃
> ┗━━┳━━┛
> ┃
> ┃
> ┏━┻━┓
> ┃HUB┃
> ┗┳┳┳┛
> ┏━━━━━━┛┃┗━━━━━━┓
> ┃ ┃ ┃
> ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓
> ┃ マシンB ┃ ┃ マシンC ┃ ┃ マシンD ┃
> ┗━━━━━┛ ┗━━━━━┛ ┗━━━━━┛
> ↑ ↑ ↑
> │ │ │
> └───────┼───────┘
> │
> 各マシン上で同じ
> createComponent("SameModuleName", …);
> を実行(つまり同じプログラムを実行)
>
>
> またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン
> 上のコンポーネントを識別する方法はございますでしょうか?
>
> zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
> z 宇田 安規男 z
> z NECシステムテクノロジー株式会社 システムテクノロジーラボラトリ z
> z 神奈川県川崎市中原区下沼部 1753 NEC 玉川事業場 N棟30F z
> z 〒 211-8666 Tel: 044-431-7574 Fax: 044-431-7588 z
> z E-mail: uda-axa @ necst.nec.co.jp z
> zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
>
>
>
--
安藤慶昭@独立行政法人産業技術総合研究所 研究員
知能システム研究部門 タスクインテリジェンス研究グループ
〒305-8568 茨城県つくば市梅園1-1-1 中央第2
TEL: 029-861-5981 FAX: 029-861-5971
n-ando @ aist.go.jp, n-ando @ ieee.org
openrtm-users メーリングリストの案内