[openrtm-commit:02611] r2993 - trunk/OpenRTM-aist/src/lib/rtm/idl

openrtm @ openrtm.org openrtm @ openrtm.org
2017年 5月 25日 (木) 14:56:43 JST


Author: n-ando
Date: 2017-05-25 14:56:43 +0900 (Thu, 25 May 2017)
New Revision: 2993

Modified:
   trunk/OpenRTM-aist/src/lib/rtm/idl/Manager.idl
Log:
[compat,document] Manager.idl (Manager servant) interface has been detailed documented.

Modified: trunk/OpenRTM-aist/src/lib/rtm/idl/Manager.idl
===================================================================
--- trunk/OpenRTM-aist/src/lib/rtm/idl/Manager.idl	2017-05-15 16:24:25 UTC (rev 2992)
+++ trunk/OpenRTM-aist/src/lib/rtm/idl/Manager.idl	2017-05-25 05:56:43 UTC (rev 2993)
@@ -5,9 +5,7 @@
  * @date $Date: 2005-05-12 09:06:18 $
  * @author Noriaki Ando <n-ando at aist.go.jp>
  *
- * Copyright (C) 2003-2005
- *     Task-intelligence Research Group,
- *     Intelligent Systems Research Institute,
+ * Copyright (C) 2003-2017
  *     National Institute of
  *         Advanced Industrial Science and Technology (AIST), Japan
  *     All rights reserved.
@@ -45,6 +43,69 @@
   interface Manager;
   typedef sequence<Manager> ManagerList;
 
+  /*!
+   * @if jp
+   * @interface Manager
+   *
+   * RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥é¥¤¥Õ¥µ¥¤¥¯¥ë¤Î´ÉÍý¤Ê¤É¤ò¹Ô¤¦Manager¤Ø¤Î³°Éô¥¤
+   * ¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡£¼ç¤¿¤ëµ¡Ç½¤È¤·¤Æ¤Ï¡¢°Ê²¼¤Î¤â¤Î¤¬¤¢¤ë¡£
+   *
+   * - RTC¤Î¥í¡¼¥À¥Ö¥ë¥â¥¸¥å¡¼¥ë¤ÎÁàºî
+   *  - ¥â¥¸¥å¡¼¥ë¤Î¥í¡¼¥É
+   *  - ¥â¥¸¥å¡¼¥ë¤Î¥¢¥ó¥í¡¼¥É
+   *  - ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë°ìÍ÷¤Î¼èÆÀ
+   *  - ¥í¡¼¥ÉºÑ¤ß¥â¥¸¥å¡¼¥ë°ìÍ÷¤Î¼èÆÀ
+   *  - ¥í¡¼¥ÉºÑ¤ß¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë°ìÍ÷¤Î¼èÆÀ
+   * - RTC¤Ë´Ø¤¹¤ëÁàºî
+   *  - ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ¸À®
+   *  - ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Îºï½ü
+   *  - ¥¤¥ó¥¹¥¿¥ó¥¹²½ºÑ¤ß¤ÎRTC°ìÍ÷¤Î¼èÆÀ
+   *  - ¥¤¥ó¥¹¥¿¥ó¥¹²½ºÑ¤ß¤ÎRTC¤Î¥×¥í¥Õ¥¡¥¤¥ë°ìÍ÷¤Î¼èÆÀ
+   *  - ̾Á°¤Ë¤è¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼èÆÀ
+   * - ¥Þ¥Í¡¼¥¸¥ã¤Ë´Ø¤¹¤ëÁàºî
+   *  - ¥Þ¥Í¡¼¥¸¥ã¤Î¥×¥í¥Õ¥¡¥¤¥ë¾ðÊó¤Î¼èÆÀ
+   *  - ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó¤Î¼èÆÀ
+   *  - ¥Þ¥Í¡¼¥¸¥ã¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¾ðÊó¤ÎÀßÄê
+   *  - ¥Þ¥Í¡¼¥¸¥ã¤¬¥Þ¥¹¥¿¡¼¤«¤É¤¦¤«
+   *  - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+   *  - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+   *  - ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
+   *  - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¼èÆÀ
+   *  - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
+   *  - ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
+   *  - ¥µ¡¼¥Ó¥¹¤Î¼èÆÀ
+   * - ¥×¥í¥»¥¹Áàºî
+   *  - ¥Õ¥©¡¼¥¯
+   *  - ¥·¥ã¥Ã¥È¥À¥¦¥ó
+   *  - ¥ê¥¹¥¿¡¼¥È
+   *
+   * ¥Þ¥Í¡¼¥¸¥ã¤Ë¤Ï¡¢Æ±°ì¥Î¡¼¥ÉÆâ¤Ç¸¶Â§1¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼
+   * ¥¸¥ã¤È¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î´ÉÍý²¼¤Ë0¸Ä°Ê¾å¸ºß¤¹¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼
+   * ¥¸¥ã¤¬Â¸ºß¤¹¤ë¡£
+   *
+   * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÏÄ̾¥Ç¡¼¥â¥ó¡¦¥µ¡¼¥Ó¥¹¤Ê¤É¤È¤·¤Æ¾ïÃó¤·¡¢¥Î¡¼
+   * ¥É¤ÎOS²ÔƯÃæ¤Ï¸¶Â§¤È¤·¤Æ¾ï¤ËÆ°ºî¤·Â³¤±¤ë¡£¤Þ¤¿¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
+   * ¤Ï¼«¿È¤ÎÆâÉô¤ËRTC¤òÀ¸À®¡¦¥Û¥¹¥È¤»¤º¡¢RTC¤ÎÀ¸À®¤Ï¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
+   * ¤Ë°ÍÍꤹ¤ë¡£°ÍÍꤹ¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤ë¤â¤Î¤Ç
+   * ¤â¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤¬¿·µ¬¤Ëµ¯Æ°¤·¤Æ¤â¤è¤¤¡£¤É¤Á¤é¤ÎÊýË¡¤ÇRTC¤ò
+   * À¸À®¤¹¤ë¤«¤Ï¡¢create_component() ¤Î°ú¿ô¤Ë¤Æ»ØÄꤹ¤ë¡£¤Ê¤ª¡¢¥¹¥ì¡¼
+   * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÏÄ̾1¤Ä°Ê¾å¤ÎRTC¤ò¥Û¥¹¥È¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢
+   * RTC¤ò¥Û¥¹¥È¤·¤Æ¤¤¤Ê¤¤¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¼«Æ°½ªÎ»¤¹¤ë¡£
+   * ÀßÄê¹àÌÜ¡§
+   * - manager.shutdown_on_nortcs: YES
+   * - manager.shutdown_auto: YES
+   *
+   * <pre>
+   *           1       0..*         1       1..*
+   * [ master ]<>----------[ slave ]<>----------[ RTC ]
+   *
+   * </pre>
+   *
+   * @else
+   * @interface
+   *
+   * @endif
+   */
   interface Manager
   {
     // module ´ØÏ¢
@@ -53,7 +114,10 @@
      * @brief ¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤¹¤ë
      *
      * Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥í¡¼¥É¤·¡¢»ØÄꤵ¤ì¤¿½é´ü²½
-     * ´Ø¿ô¤Ç½é´ü²½¤ò¹Ô¤¦¡£
+     * ´Ø¿ô¤Ç½é´ü²½¤ò¹Ô¤¦¡£Ç¤°Õ¤Î¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë (.so, .dll)
+     * ¤ò¥í¡¼¥É²Äǽ¤Ç¤¢¤ê¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¶¦Í­¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ë¸Â
+     * ¤é¤Ê¤¤¡£Ä̾RTC¤ÎÀ¸À®»þ¤Ï¼«Æ°Åª¤Ë¥í¡¼¥É¥Ñ¥¹¾å¤ò¶¦Í­¥ª¥Ö¥¸¥§¥¯
+     * ¥È¥Õ¥¡¥¤¥ë¤òõº÷¤¹¤ë¤¿¤á¡¢¤³¤ÎÁàºî¤ò¸Æ¤Ó½Ð¤¹É¬ÍפϤʤ¤¡£
      *
      * @param pathname ¥â¥¸¥å¡¼¥ë¤Ø¤Î¥Ñ¥¹
      * @param initfunc ¥â¥¸¥å¡¼¥ë¤Î½é´ü²½´Ø¿ô
@@ -63,7 +127,12 @@
      * @brief Loading a module
      *
      * This operation loads a specified loadable module¡¢and perform
-     * initialization with the specified function.
+     * initialization with the specified function. Any kind of shared
+     * objects (.so, .dll) not only RT-Component's shared object can
+     * be loadable. Usually, you do not need to call this operation to
+     * create RT-Components, because RTC creation operation
+     * automatically search RTC's loadable module in the specified
+     * load path.
      *
      * @param pathname A path to a loading module.
      * @param initfunc Module initialization function.
@@ -77,7 +146,13 @@
      * @if jp
      * @brief ¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë
      *
-     * Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¡£
+     * Åö³º¥Þ¥Í¡¼¥¸¥ã¤Ë»ØÄꤵ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¡£¸½ºß¤Î¤È¤³
+     * ¤í¡¢OpenRTM-aist¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥Éµ¡Ç½¤Ï¡¢¥í¡¼¥É¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë
+     * ¤Ë¤è¤êÀ¸À®¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¥«¥¦¥ó¥È´ÉÍýÅù¤Ï¹Ô¤ï¤ì
+     * ¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢°Â°×¤Ë¥â¥¸¥å¡¼¥ë¤ò¥¢¥ó¥í¡¼¥É¤¹¤ë¤È¡¢¥á¥â¥ê¥¢¥¯¥»¥¹
+     * °ãÈ¿¤ò°ú¤­µ¯¤³¤¹¶²¤ì¤¬¤¢¤ë¡£¤¿¤À¡¢Â¿¤¯¤ÎưŪ¥é¥¤¥Ö¥é¥ê¤Î¥¢¥ó¥í¡¼
+     * ¥É¤Î¼ÂÁõ¤Ç¤Ï¡¢¼ÂºÝ¤Ë¥á¥â¥ê¾å¤«¤é¥¢¥ó¥í¡¼¥É¤µ¤ì¤Ê¤¤¥±¡¼¥¹¤¬Â¿¤¯¡¢
+     * ¤·¤¿¤¬¤Ã¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¸Æ¤Ó½Ð¤¹¤³¤È¤ò¿ä¾©¤·¤Ê¤¤¡£
      *
      * @param pathname ¥â¥¸¥å¡¼¥ë¤Ø¤Î¥Ñ¥¹
      * @return ¥ê¥¿¡¼¥ó¥³¡¼¥É
@@ -85,7 +160,13 @@
      * @else
      * @brief Unloading a module
      *
-     * This operation unloads a specified loadable module.
+     * This operation unloads a specified loadable module. Currently
+     * since OpenRTM-aist's module load function does not manage
+     * object reference count which is created from the loaded shared
+     * object, unloading might cause segmentation fault. However, most
+     * of unload function implementation actually does not unload
+     * shared object from memory space, and it is not recommended to
+     * call this operation in actual use.
      *
      * @param pathname A path to a loading module.
      * @return The return code.
@@ -98,17 +179,112 @@
      * @if jp
      * @brief ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
      *
-     * ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£
+     * ¥í¡¼¥É²Äǽ¤Ê¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£¥í¡¼¥É²Äǽ¤ÊRT¥³
+     * ¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Ï¡¢¤¢¤é¤«¤¸¤áÀßÄꤵ¤ì¤¿¥â
+     * ¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¤ËÂФ·¤Æ¡¢¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀ¥³¥Þ¥ó¥É¤òÊÌ¥×¥í¥»¥¹
+     * ¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤Ç¼èÆÀ¤¹¤ë¡£¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀÂоݤȤʤë¸À¸ì¤Î¼ïÎà¤Ï¡¢
      *
-     * @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë
+     * - manager.supported_language: C++, Python, Java
      *
+     * ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡£¤³¤³¤Ç»ØÄꤵ¤ì¤¿¸À¸ì¤ËÂФ·¤Æ¡¢°Ê²¼¤Î¥×¥í¥Ñ¥Æ¥£
+     * ¤Ç¸À¸ìËè¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¡¢¥×¥í¥Õ¥¡¥¤¥ë¼èÆÀ¥³¥Þ¥ó¥É¡¢¥â¥¸¥å¡¼
+     * ¥ë³ÈÄ¥»Ò¤¬»ØÄꤵ¤ì¤ë¡£
+     *
+     * - manager.modules.<¸À¸ì>.load_paths: ./ (¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹)
+     * - manager.modules.<¸À¸ì>.profile_cmd: rtcprofÅù¥³¥Þ¥ó¥É̾
+     * - manager.modules.<¸À¸ì>.suffixes: ¥â¥¸¥å¡¼¥ë³ÈÄ¥»Ò
+     *
+     * Î㤨¤Ð¡¢C++ ¸À¸ì¤Î¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥×¥í¥Ñ¥Æ¥£¤¬¥Ç¥Õ¥©¥ë¥È¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¡£
+     *
+     * - manager.modules.C++.load_paths: ./ (¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹)
+     * - manager.modules.C++.profile_cmd: rtcprof
+     * - manager.modules.C++.suffixes: so (Linux¤Î¾ì¹ç), dll (Windows¤Î¾ì¹ç)
+     *
+     * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢¾åµ­¤ÇÀßÄꤵ¤ì¤¿¤¹¤Ù¤Æ¤Î¸À¸ì (Windows¤Ç¤Ï
+     * ¤¹¤Ù¤Æ¤ÎVC¤Î¥Ð¡¼¥¸¥ç¥ó¤â´Þ¤à) ¤Î¥â¥¸¥å¡¼¥ë¥í¡¼¥É¥Ñ¥¹¤¬¤¢¤é¤«¤¸¤á
+     * ÀßÄꤵ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ ¤³¤Îºî¶È¤Ï¡¢¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó
+     * ½Ð¤µ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã (Ä̾ï¤Ï¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã) ¾å¤Ç¤Î¤ß¼Â¹Ô¤µ¤ì¡¢
+     * ÇÛ²¼¤Ë¤¢¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ãÅù¤ËºÆµ¢Åª¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
+     *
+     * @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë¡£¤Ê¤ª¡¢¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë¤Ï°Ê
+     *         ²¼¤Î¤è¤¦¤ÊÆâÍƤò»ý¤ÄKey-Value·Á¼°¤Î¥ê¥¹¥È¤ÇÊÖ¤µ¤ì¤ë¡£
+     * <pre>
+     * implementation_id: ConfigSample
+     * type_name: ConfigSample
+     * description: Configuration example component
+     * version: 1.0
+     * vendor: Noriaki Ando, AIST
+     * category: example
+     * activity_type: DataFlowComponent
+     * max_instance: 10
+     * language: C++
+     * lang_type: compile
+     * conf.default.int_param0: 0
+     * conf.default.int_param1: 1
+     * conf.default.double_param0: 0.11
+     * conf.default.double_param1: 9.9
+     * conf.default.str_param0: hoge
+     * conf.default.str_param1: dara
+     * conf.default.vector_param0: 0.0,1.0,2.0,3.0,4.0
+     * </pre>
+     *
      * @else
      * @brief Getting loadable module profiles
      *
-     * This operation returns loadable module profiles.
+     * This operation returns loadable module profiles.  Loadable
+     * profiles of RT-Components can be obtained by executing profile
+     * obtain commands (ex. rtcprof) into the module load paths that
+     * is specified in the properties. The target kinds of language to
+     * be obtained component profiles are specified the following
+     * property.
      *
-     * @return A module profile list.
+     * - manager.supported_language: C++, Python, Java
      *
+     * For each those languages, module load paths, profile obtain
+     * command and module suffixes are specified in following
+     * properties.
+     *
+     * - manager.modules.<lang>.load_paths: ./ (load paths)
+     * - manager.modules.<lang>.profile_cmd: rtcprof command name
+     * - manager.modules.<lang>.suffixes: module extentions
+     *
+     * For example, the following properties are specified in default
+     * for C++ language.
+     *
+     * - manager.modules.C++.load_paths: ./ (module load pathds)
+     * - manager.modules.C++.profile_cmd: rtcprof
+     * - manager.modules.C++.suffixes: so (for Linux), dll (for Windows)
+     *
+     * The master manager need to be configured module load paths for
+     * all languages (and for all versions of VC in case of Windows)
+     * specified above. This process is performed in only a manager
+     * (master manager in general) in which this operation is called,
+     * and it is not recursively called to slave managers which are
+     * managed by this manager.
+     *
+     * @return A module profile list. The module profiles list
+     *         includes zero or more the following Key-Value format
+     *         RTC profile.
+     * <pre>
+     * implementation_id: ConfigSample
+     * type_name: ConfigSample
+     * description: Configuration example component
+     * version: 1.0
+     * vendor: Noriaki Ando, AIST
+     * category: example
+     * activity_type: DataFlowComponent
+     * max_instance: 10
+     * language: C++
+     * lang_type: compile
+     * conf.default.int_param0: 0
+     * conf.default.int_param1: 1
+     * conf.default.double_param0: 0.11
+     * conf.default.double_param1: 9.9
+     * conf.default.str_param0: hoge
+     * conf.default.str_param1: dara
+     * conf.default.vector_param0: 0.0,1.0,2.0,3.0,4.0
+     * </pre>
+     *
      * @endig
      */
     ModuleProfileList get_loadable_modules();
@@ -117,7 +293,10 @@
      * @if jp
      * @brief ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
      *
-     * ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£
+     * ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¡£¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç
+     * ¥ó¤Ç¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤âƱ¤¸¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬ºÆµ¢Åª¤Ë
+     * ¸Æ¤Ó½Ð¤µ¤ì¡¢ÇÛ²¼¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥í¡¼¥É¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î
+     * ¥â¥¸¥å¡¼¥ë¤Î¥×¥í¥Õ¥¡¥¤¥ë¤òÊÖ¤¹¡£
      *
      * @return ¥â¥¸¥å¡¼¥ë¥×¥í¥Õ¥¡¥¤¥ë
      *
@@ -138,7 +317,10 @@
      * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë
      *
      * ¥í¡¼¥ÉºÑ¤ß¤Î¥â¥¸¥å¡¼¥ë¤Î¤¦¤Á¡¢RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥â¥¸¥å¡¼¥ë¤¬»ý¤Ä
-     * ¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£
+     * ¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë¡£¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ç
+     * ¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤âƱ¤¸¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬ºÆµ¢Åª¤Ë¸Æ¤Ó
+     * ½Ð¤µ¤ì¡¢ÇÛ²¼¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝÍ­¤¹¤ëRT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î
+     * ¥×¥í¥Õ¥¡¥¤¥ë¤òÊÖ¤¹¡£
      *
      * @return ¥³¥ó¥Ý¡¼¥Í¥ó¥È¥Õ¥¡¥¯¥È¥ê¤Î¥×¥í¥Õ¥¡¥¤¥ë¥ê¥¹¥È
      *
@@ -158,8 +340,75 @@
      * @if jp
      * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë
      *
-     * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£
+     * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+     * ¤·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
+     * ¤ËÂФ·¤Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀ¸À®¤ò°ÍÍꤹ¤ë¡£°ÍÍêÂоݤȤʤ륹¥ì¡¼¥Ö¥Þ
+     * ¥Í¡¼¥¸¥ã¤Ï¡¢create_component() ¤Î°ú¿ôÆâ¥Ñ¥é¥á¡¼¥¿ manager_name
+     * ¤Ë¤è¤ê»ØÄꤵ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤Î¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+     * ¤·¤Æ¡¢create_component() ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ÇÀ¸À®¡¢manager_name ¤Ç»Ø
+     * Äꤵ¤ì¤¿¥Þ¥Í¡¼¥¸¥ã¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¿·µ¬¤Ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤òµ¯Æ°¤·
+     * ¤Æ¤«¤é¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀ¸À®¤¹¤ë¡£
      *
+     * - manager_name¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¡¼¥Ö¤¬Â¸ºß¤¹¤ë¾ì¹ç
+     * <pre>
+     *                             (maanger_name = servo)
+     * [ app ]          [ master ]        [ slave ]         [ RTC ]
+     *    |  create_comp()  |                 |                .
+     *    |---------------->|                 |                .
+     *    | manager_name =  |--, search       |                .
+     *    |           servo |  | slaves       |                .
+     *    |                 |<-'              |                .
+     *    |                 |  create_comp()  |                .
+     *    |                 |---------------->|                .
+     *    |                 |                 |--,             .
+     *    |                 |                 |  |createComp() .
+     *    |                 |                 |<-'             .
+     *    |                 |                 |.....create...> .
+     *    |                 |                 |                |
+     *    |                 |                 |                |
+     * </pre>
+     *
+     * - manager_name¤Ç»ØÄꤵ¤ì¤¿¥¹¥ì¡¼¥Ö¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç
+     * <pre>
+     * [ app ]          [ master ]        [ slave ]         [ RTC ]
+     *    |  create_comp()  |                 .                .
+     *    |---------------->|                 .                .
+     *    | manager_name =  |--, search       .                .
+     *    |      controller |  | slaves       .                .
+     *    |                 |<-'              .                .
+     *    |                 |  launch proc    .                .
+     *    |                 |---------------->|                .
+     *    |                 |  create_comp()  |                .
+     *    |                 |---------------->|                .
+     *    |                 |                 |--,             .
+     *    |                 |                 |  |createComp() .
+     *    |                 |                 |<-'             .
+     *    |                 |                 |.....create...> .
+     *    |                 |                 |                |
+     *    |                 |                 |                |
+     * </pre>
+     *
+     * »ØÄê¥Ñ¥é¥á¡¼¥¿
+     * - manager_name: ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òµ¯Æ°¤¹¤ë¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã̾
+     *   - ̾Á°»ØÄê: <manager_name>
+     *   - ¥¢¥É¥ì¥¹»ØÄê: <hostname>:<port>
+     * - language: µ¯Æ°ÂоݤΥ³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼ÂÁõ¸À¸ì
+     *
+     * @param module_name À¸À®ÂоÝRT¥³¥ó¥Ý¡¼¥Í¥ó¥ÈID¤ª¤è¤Ó¥³¥ó¥Õ¥£¥®¥å
+     *                    ¥ì¡¼¥·¥ç¥ó°ú¿ô¡£¥Õ¥©¡¼¥Þ¥Ã¥È¤ÏÂ礭¤¯Ê¬¤±¤Æ
+     *                    "id" ¤È "configuration" Éôʬ¤¬Â¸ºß¤¹¤ë¡£
+     *
+     * comp_args:     [id]?[configuration]
+     *                id ¤Ïɬ¿Ü¡¢configuration¤Ï¥ª¥×¥·¥ç¥ó
+     * id:            RTC:[vendor]:[category]:[implementation_id]:[version]
+     *                RTC ¤Ï¸ÇÄ꤫¤Äɬ¿Ü
+     *                vendor, category, version ¤Ï¥ª¥×¥·¥ç¥ó
+     *                implementation_id ¤Ïɬ¿Ü
+     *                ¥ª¥×¥·¥ç¥ó¤ò¾Êά¤¹¤ë¾ì¹ç¤Ç¤â ":" ¤Ï¾ÊάÉÔ²Ä
+     * configuration: [key0]=[value0]&[key1]=[value1]&[key2]=[value2].....
+     *                RTC¤¬»ý¤ÄProperties¤ÎÃͤò¤¹¤Ù¤Æ¾å½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+     *                key=value ¤Î·Á¼°¤Çµ­½Ò¤·¡¢"&" ¤Ç¶èÀÚ¤ë
+     *
      * @return À¸À®¤µ¤ì¤¿RT¥³¥ó¥Ý¡¼¥Í¥ó¥È
      *
      * @else
@@ -178,7 +427,11 @@
      * @if jp
      * @brief ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë
      *
-     * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£
+     * °ú¿ô¤Ë»ØÄꤵ¤ì¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂÐ
+     * ¤·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼
+     * ¥Í¥ó¥È¾å¤ÎÅö³º¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë¡£¤¿¤À¤·¡¢Ä̾ï¤ÏÂоݥ³¥ó¥Ý¡¼
+     * ¥Í¥ó¥È¤ËÂФ·¤Æ exit() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç RTC ¤ò½ªÎ»
+     * ¤µ¤»¤ëÊýË¡¤ò¿ä¾©¤¹¤ë¡£
      *
      * @return ¥ê¥¿¡¼¥ó¥³¡¼¥É
      *
@@ -198,7 +451,11 @@
      * @if jp
      * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
      *
-     * ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£
+     * ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£¥Þ¥¹
+     * ¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼
+     * ¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¾å¤Ç¼Â¹ÔÃæ¤ÎRTC¤Î¥ê¥¹¥È¤ò¼ý½¸¤·¤ÆÊÖ¤¹¡£
+     * ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢¼«¿È¤¬´ÉÍý¤¹¤ëµ¯
+     * Æ°Ãæ¤ÎRTC¤Î¥ê¥¹¥È¤Î¤ß¤òÊÖ¤¹¡£
      *
      * @return RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥ê¥¹¥È
      *
@@ -218,7 +475,11 @@
      * @brief µ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È¤ò¼èÆÀ¤¹¤ë
      *
      * ¸½ºßÅö³º¥Þ¥Í¡¼¥¸¥ã¾å¤Çµ¯Æ°Ãæ¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹
-     * ¥È¤òÊÖ¤¹¡£
+     * ¥È¤òÊÖ¤¹¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤¬¸Æ¤Ó½Ð¤µ
+     * ¤ì¤¿¾ì¹ç¡¢ÇÛ²¼¤Î¥¹¥ì¡¼¥Ö¥³¥ó¥Ý¡¼¥Í¥ó¥È¾å¤Ç¼Â¹ÔÃæ¤ÎRTC¤Î¥×¥í¥Õ¥¡
+     * ¥¤¥ë¥ê¥¹¥È¤ò¼ý½¸¤·¤ÆÊÖ¤¹¡£¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤¿
+     * ¾ì¹ç¤Ë¤Ï¡¢¼«¿È¤¬´ÉÍý¤¹¤ëµ¯Æ°Ãæ¤ÎRTC¤Î¥×¥í¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤Î¤ß¤òÊÖ
+     * ¤¹¡£
      *
      * @return RT¥³¥ó¥Ý¡¼¥Í¥ó¥È¥×¥í¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È
      *
@@ -234,6 +495,27 @@
      */
     RTC::ComponentProfileList get_component_profiles();
 
+    /*!
+     * @if jp
+     * @brief »ØÄê̾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ
+     *
+     * 
+     *
+     * @param name RTC̾
+     * @return RTC¥ê¥¹¥È
+     *
+     * @else
+     * @brief 
+     *
+     *
+     * 
+     * @param name name
+     * @return list of RTC
+     *
+     * @endig
+     */
+    RTC::RTCList get_components_by_name(in string name);
+
     // manager ´ðËÜ
     /*!
      * @if jp
@@ -323,7 +605,10 @@
      *
      * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î¾ì¹ç¡¢¥Þ¥¹¥¿¡¼¤È¤Ê¤Ã¤Æ¤¤¤ë¥Þ
      * ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È¤òÊÖ¤¹¡£¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬¥Þ¥¹¥¿¡¼¤Î¾ì¹ç¡¢¶õ¤Î¥ê¥¹
-     * ¥È¤¬Ê֤롣
+     * ¥È¤¬Ê֤롣¸¶Â§¤È¤·¤Æ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï1¤Ä¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
+     * ¤ÎÇÛ²¼¤È¤Ê¤ë¤¬¡¢¼ÂÁõ¾å¤Ï¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÏÍ£°ì¤È¤Ê¤ë¤è¤¦¤ÊÀ©Ìó
+     * ¤Ï¤Ê¤¯¡¢add_master_manager() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ë¤è¤êÊ£¿ô¤Î¥Þ¥¹¥¿¡¼
+     * ¥Þ¥Í¡¼¥¸¥ã¤òÅÐÏ¿¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
      *
      * @return ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Î¥ê¥¹¥È
      *
@@ -346,6 +631,46 @@
      *
      * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣
      *
+     * ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤È¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î´Ø·¸¤Ï¡¢°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ë¡¢
+     * °ì¤Ä¤Î¥Î¡¼¥É (node: 1¤Ä¤ÎÆÈΩ¤·¤¿¥³¥ó¥Ô¥å¡¼¥¿¤Ç¤¢¤ê¥Û¥¹¥È) ¤ËÂÐ
+     * ¤·¤Æ¡¢1¤Ä¤Î¥Þ¥¹¥¿¡¼ (master) ¥Þ¥Í¡¼¥¸¥ã¤¬Âбþ¤¹¤ë¡£1¤Ä¤Î¥Þ¥¹¥¿¡¼
+     * ¥Þ¥Í¡¼¥¸¥ã¤Î²¼¤Ë¤Ï0¸Ä°Ê¾å¤Î¥¹¥ì¡¼¥Ö (slave) ¥Þ¥Í¡¼¥¸¥ã¤¬Â¸ºß¤·¡¢
+     * RTC¤Ï1¤Ä¤Î¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ë°¤¹¤ë¡£¤Ê¤ª¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï
+     * Ä̾1¤Ä°Ê¾å¤ÎRTC¤ò¥Û¥¹¥È¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ç¤Ï¡¢RTC¤ò¥Û¥¹
+     * ¥È¤·¤Æ¤¤¤Ê¤¤¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¼«Æ°½ªÎ»¤¹¤ë¡£
+     *
+     * <pre>
+     *          1      1            1    0..*          1    1..*
+     * [ node ]<>--------[ master ]<>--------[ slave ]<>--------[ RTC ]
+     *
+     * </pre>
+     *
+     * ¥Þ¥¹¥¿¡¼¤È¥¹¥ì¡¼¥Ö¤Î´Ø·¸¤Ï¡¢add/remove_master_manager(),
+     * add_remove_slave_manager() ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤Æ¹½À®¤µ¤ì¤ë¡£¤³
+     * ¤ì¤é¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¸¶Â§¤È¤·¤Æ¡¢¤¹¤Ù¤Æ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤«¤é¥¢
+     * ¥¯¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¡£¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Ï¸¶Â§¤È¤·¤Æ¡¢
+     * corbaloc://localhost:2810/manager ¤Ë¤è¤ê¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤Ç
+     * ¤­¤ë°ìÊý¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Î»²¾È¤òÃΤë°ìÈÌŪÊýË¡¤Ï¤Ê¤¤¡£¥¹¥ì¡¼
+     * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢µ¯Æ°»þ¤Ë¥í¡¼¥«¥ë¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òõ¤·¤Æ¡¢Æâ
+     * ÉôŪ¤Ë¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¸Æ¤Ó½Ð¤·¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òÄɲ乤ë
+     * ¤È¤È¤â¤Ë¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢add_slabe_manager() ¤ò¸Æ¤Ó
+     * ½Ð¤·¤Æ¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤ËÆþ¤Ã
+     * ¤¿¤³¤È¤òÃΤ餻¤ë¡£
+     *
+     * <pre>
+     *       [ master ]                  [ slave ]
+     *           |                           |
+     *           |                           |--, find master
+     *           |                           |  | by corbaloc:
+     *           |                           |<-'
+     *           |                           |
+     *           |                           |--,
+     *           |                           |  | add_master_manager()
+     *           | add_slave_manager(own_ref)|<-'
+     *           |<--------------------------|
+     *           |                           |
+     * </pre>
+     *
      * @param mgr ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
      * @return ReturnCode_t
      *
@@ -366,7 +691,25 @@
      * @brief ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
      *
      * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝ»ý¤¹¤ë¥Þ¥¹¥¿¤Î¤¦¤Á¡¢»ØÄꤵ¤ì¤¿¤â¤Î¤òºï½ü¤¹¤ë¡£
+     * Ä̾盧¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬½ªÎ»¤¹¤ëºÝ¤Ë¡¢¼«¿È
+     * ¤ËÂФ·¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¼«¿È¤¬¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼
+     * ¥¸¥ã¤ÎÇÛ²¼¤«¤é³°¤ì¤ë¤³¤È¤ò remove_slave_manager() ¤Ë¤è¤ê¡¢¥Þ¥¹¥¿¡¼
+     * ¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤ÆÄÌÃΤ¹¤ë¡£
      *
+     * <pre>
+     * [ master ]                      [ slave ]
+     *     |                               |
+     *     |                               |--, shutdown
+     *     |                               |  | slave manager
+     *     |                               |<-'
+     *     |                               |
+     *     |                               |--,
+     *     |                               |  | remove_master_manager()
+     *     | remove_slave_manager(own_ref) |<-'
+     *     |<------------------------------|
+     *     |                               |
+     * </pre>
+     *
      * @param mgr ¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã
      * @return ReturnCode_t
      *
@@ -404,12 +747,32 @@
      * @endig
      */
     ManagerList get_slave_managers();
+
     /*!
      * @if jp
      * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤ÎÄɲÃ
      *
-     * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣
+     * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤Î¥Þ¥¹¥¿¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¤ò°ì¤ÄÄɲ乤롣Ä̾¥¹¥ì¡¼
+     * ¥Ö¥Þ¥Í¡¼¥¸¥ã¤Ï¡¢µ¯Æ°»þ¤Ë¥í¡¼¥«¥ë¤Î¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òõ¤·¤Æ¡¢Æâ
+     * ÉôŪ¤Ë¡¢add_master_manager() ¤ò¸Æ¤Ó½Ð¤·¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤òÄÉ
+     * ²Ã¤¹¤ë¤È¤È¤â¤Ë¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¤³¤Î
+     * add_slave_manager() ¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¡¢¥¹
+     * ¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬ÇÛ²¼¤ËÆþ¤Ã¤¿¤³¤È¤òÃΤ餻¤ë¡£
      *
+     * <pre>
+     *       [ master ]                  [ slave ]
+     *           |                           |
+     *           |                           |--, find master
+     *           |                           |  | by corbaloc:
+     *           |                           |<-'
+     *           |                           |
+     *           |                           |--,
+     *           |                           |  | add_master_manager()
+     *           | add_slave_manager(own_ref)|<-'
+     *           |<--------------------------|
+     *           |                           |
+     * </pre>
+     *
      * @param mgr ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
      * @return ReturnCode_t
      *
@@ -417,7 +780,7 @@
      * @brief Getting a slave manager
      *
      * This operation add a slave manager to this manager.
-     *  
+     * 
      * @param mgr A slave manager
      * @return ReturnCode_t
      *
@@ -430,7 +793,26 @@
      * @brief ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤Îºï½ü
      *
      * ¤³¤Î¥Þ¥Í¡¼¥¸¥ã¤¬ÊÝ»ý¤¹¤ë¥Þ¥¹¥¿¤Î¤¦¤Á¡¢»ØÄꤵ¤ì¤¿¤â¤Î¤òºï½ü¤¹¤ë¡£
+     * Ä̾盧¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã¤¬½ªÎ»¤¹¤ëºÝ¤Ë¡¢¼«¿È
+     * ¤ËÂФ·¤Æ remove_master_manager() ¤ò¸Æ¤Ó½Ð¤·¤¿¸å¡¢¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼
+     * ¥¸¥ã¼«¿È¤¬¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ÎÇÛ²¼¤«¤é³°¤ì¤ë¤³¤È¤òÃΤ餻¤ë¤¿¤á¤Î¡¢
+     * ¤³¤Î remove_slave_manager() ¤ò¥Þ¥¹¥¿¡¼¥Þ¥Í¡¼¥¸¥ã¤ËÂФ·¤Æ¸Æ¤Ö¤³¤È
+     * ¤ÇÄÌÃΤ¹¤ë¡£
      *
+     * <pre>
+     * [ master ]                      [ slave ]
+     *     |                               |
+     *     |                               |--, shutdown
+     *     |                               |  | slave manager
+     *     |                               |<-'
+     *     |                               |
+     *     |                               |--,
+     *     |                               |  | remove_master_manager()
+     *     | remove_slave_manager(own_ref) |<-'
+     *     |<------------------------------|
+     *     |                               |
+     * </pre>
+     *
      * @param mgr ¥¹¥ì¡¼¥Ö¥Þ¥Í¡¼¥¸¥ã
      * @return ReturnCode_t
      *
@@ -438,44 +820,78 @@
      * @brief Removing a slave manager
      *
      * This operation removes a slave manager from this manager.
-     * 
+     *
      * @param mgr A slave manager
-     * @return ReturnCode_t 
+     * @return ReturnCode_t
      *
      * @endig
      */
     RTC::ReturnCode_t remove_slave_manager(in Manager mgr);
 
+    // ¥×¥í¥»¥¹Áàºî´Ø·¸
+    /*!
+     * @if jp
+     * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òfork¤¹¤ë
+     *
+     * @return Return Code
+     *
+     * @else
+     * @brief fork the manager process
+     *
+     * @return Return Code
+     *
+     * @endig
+     */
     RTC::ReturnCode_t fork();
+
+    /*!
+     * @if jp
+     * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òshutdown¤¹¤ë
+     *
+     * @return Return Code
+     *
+     * @else
+     * @brief shutdown the manager process
+     *
+     * @return Return Code
+     *
+     * @endig
+     */
     RTC::ReturnCode_t shutdown();
+
+    /*!
+     * @if jp
+     * @brief ¥Þ¥Í¡¼¥¸¥ã¥×¥í¥»¥¹¤òºÆµ¯Æ°¤¹¤ë
+     *
+     * @return Return Code
+     *
+     * @else
+     * @brief restart maanger process
+     *
+     * @return Return Code
+     *
+     * @endig
+     */
     RTC::ReturnCode_t restart();
 
-
-     /*!
+    /*!
      * @if jp
-     * @brief »ØÄê̾¤ÎRTC¥ª¥Ö¥¸¥§¥¯¥È¥ê¥Õ¥¡¥ì¥ó¥¹¤ò¼èÆÀ
+     * @brief ¥µ¡¼¥Ó¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È»²¾È¤ò¼èÆÀ¤¹¤ë
      *
-     * 
+     * »ÅÍÍ̤³ÎÄê
      *
-     * @param name RTC̾
-     * @return RTC¥ê¥¹¥È
+     * @return Return Code
      *
      * @else
-     * @brief 
+     * @brief obtaining the object reference of a service
      *
+     * @return Return Code
      *
-     * 
-     * @param name name
-     * @return list of RTC
-     *
      * @endig
      */
-    RTC::RTCList get_components_by_name(in string name);
-
     Object get_service(in string name);
     //    ServiceProfileList get_service_profiles();
   };
-  
 }; // end of namespace RTM
 
 #endif // __MANAGER_IDL__



More information about the openrtm-commit mailing list