[openrtm-commit:00311] r437 - in branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer: . test

openrtm @ openrtm.org openrtm @ openrtm.org
2011年 8月 4日 (木) 16:52:39 JST


Author: kurihara
Date: 2011-08-04 16:52:39 +0900 (Thu, 04 Aug 2011)
New Revision: 437

Added:
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.bat
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.sh
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.bat
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.sh
Removed:
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/RTC.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/SDOPackage.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/BasicDataType.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/ComponentObserver.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/DataPort.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/OpenRTM.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/RTC.idl
   branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/SDOPackage.idl
Log:
setup files has been added.
idl-files has been removed.

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/RTC.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/RTC.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/RTC.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,2649 +0,0 @@
-// RTC.idl
-
-#include "SDOPackage.idl"
-
-#pragma prefix "omg.org"
-
-#define EXECUTION_HANDLE_TYPE_NATIVE long
-
-module RTC
-{
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContextHandle_t
-   *
-   * @section Description
-   *
-   * This data type represents the association between an RTC and an
-   * ExecutionContext in which it participates.
-   * 
-   * @section Semantics
-   *
-   * This is an opaque DataType. It has no attributes or operations.
-   *
-   * @endif
-   */
-  typedef EXECUTION_HANDLE_TYPE_NATIVE ExecutionContextHandle_t;
-
-  typedef SDOPackage::UniqueIdentifier UniqueIdentifier;
-  typedef SDOPackage::NVList NVList;
-  
-  /*!
-   * @if jp
-   * @brief ReturnCode_t
-   *
-   * OMG RTC 1.0 仕様中の多くのオペレーションは、クラインとに対して考え
-   * られるエラー状態を報告する必要がある。これは、ReturnCode_t型の所謂
-   * リターンコードにより行われる。
-   *
-   * OMG RTC 1.0 の PIM 内において、ReturnCode_t型の値を返さないオペレーションは
-   * それらの戻り値の型に依存して、次の方法によりエラーを報告するものとする。
-   * -オペレーションが正数値を返す場合 (OMG RTC 1.0 Section 5.2.2.6.4 の
-   *  get_rateのように)、負数値を返すことによりエラーを示すものとする。
-   * - オペレーションがオブジェクトリファレンス(RTObject::get_component_profile
-   *   OMG RTC 1.0 5.4.2.2.1を参照) を通常返す場合、nil参照を返すことにより
-   *   エラーを示すものとする。
-   *
-   * @else
-   * @brief ReturnCode_t
-   *
-   * A number of operations in this specification will need to report
-   * potential error conditions to their clients. This task shall be
-   * accomplished by means of operation "return codes" of type
-   * ReturnCode_t
-   *
-   * Operations in the PIM that do not return a value of type
-   * ReturnCode_t shall report errors in the following ways, depending
-   * on their return type:
-   * - If an operation normally returns a positive numerical value (such as
-   *   get_rate, see [OMG RTC 1.0 Section 5.2.2.6.4]), it shall indicate
-   *   failure by returning a negative value.
-   * - If an operation normally returns an object reference (such as
-   *   RTObject::get_component_profile, see [OMG RTC 1.0 Section 5.4.2.2.1]),
-   *   it shall indicate failure by returning a nil reference.
-   *
-   * @param RTC_OK The operation completed successfully.
-   * @param RTC_ERROR The operation failed with a generic, unspecified error.
-   * @param BAD_PARAMETER The operation failed because an illegal argument was
-   *        passed to it.
-   * @param UNSUPPORTED The operation is unsupported by the implementation
-   *        (e.g., it belongs to a compliance point that is not implemented).
-   * @param OUT_OF_RESOURCES The target of the operation ran out of the
-   *        resources needed to complete the operation.
-   * @param PRECONDITION_NOT_MET A pre-condition for the operation was not met.
-   *
-   * @endif
-   */
-  enum ReturnCode_t
-  {
-    RTC_OK,
-    RTC_ERROR,
-    BAD_PARAMETER,
-    UNSUPPORTED,
-    OUT_OF_RESOURCES,
-    PRECONDITION_NOT_MET
-  };
-
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief LifeCycleState
-   *
-   * @section Description
-   * LifeCycleState is an enumeration of the states in the lifecycle above.
-   *
-   * @endif
-   */
-  enum LifeCycleState
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief CREATED
-     *
-     * @section Description
-     *
-     * The RTC object has been instantiated but not yet fully initialized.
-     * @endif
-     */
-    CREATED_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief INACTIVE
-     *
-     * @section Description
-     *
-     * The RTC is Alive but is not being invoked in any execution
-     * context (see Section 5.2.2.5), regardless of whether the context
-     * is Running or not.
-     *
-     * @section Semantics
-     *
-     * An instance of this state exists for each execution context in
-     * which the RTC participates. If the RTC does not participate in
-     * any execution context, a single instance of this state exists.
-     *
-     * @endif
-     */
-    INACTIVE_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ACTIVE
-     *
-     * @section Description
-     *
-     * The RTC is Alive and will be invoked in the execution context
-     * if the context is Running.
-     *
-     * @section Semantics
-     * 
-     * An instance of this state exists for each execution context in
-     * which the RTC participates. If the RTC does not participate in
-     * any execution context, this state shall never be observed.
-     *
-     * @endif
-     */
-    ACTIVE_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ERROR
-     *
-     * @section Description
-     *
-     * The RTC has encountered a problem in a given execution context
-     * and cannot continue functioning in that context without being
-     * reset.
-     *
-     * @endif
-     */
-    ERROR_STATE
-  };
-  
-  interface ExecutionContext;
-  typedef sequence<ExecutionContext> ExecutionContextList;
-
-  /*!
-   * @if jp
-   * @brief
-   * @else
-   * @brief ComponentAction
-   *
-   * @section Description
-   *
-   * The ComponentAction interface provides callbacks corresponding to
-   * the execution of the lifecycle operations of LightweightRTObject
-   * (see Section 5.2.2.2) and ExecutionContext (see Section
-   * 5.2.2.5). An RTC developer may implement these callback
-   * operations in order to execute application-specific logic
-   * pointing response to those transitions.
-   *
-   * @section Semantics
-   *
-   * Clients of an RTC are not expected to invoke these operations
-   * directly; they are provided for the benefit of the RTC middleware
-   * implementation.
-   *
-   * @endif
-   */
-  interface ComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_initialize
-     *
-     * @section Description
-     *
-     * The RTC has been initialized and entered the Alive state.
-     *
-     * @section Semantics
-     *
-     * Any RTC-specific initialization logic should be performed here.
-     *
-     * @endif
-     */
-    ReturnCode_t on_initialize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_finalize
-     *
-     * @section Description
-     *
-     * The RTC is being destroyed.
-     *
-     * @section Semantics
-     *
-     * Any final RTC-specific tear-down logic should be performed here.
-     *
-     * @endif
-     */
-    ReturnCode_t on_finalize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_startup
-     *
-     * @section Description
-     *
-     * The given execution context, in which the RTC is participating,
-     * has transitioned from Stopped to Running.
-     *
-     * @endif
-     */
-    ReturnCode_t on_startup(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_shutdown
-     *
-     * @section Description
-     *
-     * The given execution context, in which the RTC is participating,
-     * has transitioned from Running to Stopped.
-     *
-     * @endif
-     */
-    ReturnCode_t on_shutdown(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_activated
-     *
-     * @section Description
-     *
-     * The RTC has been activated in the given execution context.
-     *
-     * @endif
-     */
-    ReturnCode_t on_activated(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_deactivated
-     *
-     * @section Description
-     *
-     * The RTC has been deactivated in the given execution context.
-     *
-     * @endif
-     */
-    ReturnCode_t on_deactivated(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_aborting
-     *
-     * @section Description
-     *
-     * The RTC is transitioning from the Active state to the Error
-     * state in some execution context.
-     *
-     * @section Semantics
-     *
-     * This callback is invoked only a single time for time that the
-     * RTC transitions into the Error state from another state. This
-     * behavior is in contrast to that of on_error.  
-     *
-     * @endif
-     */
-    ReturnCode_t on_aborting(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_error
-     *
-     * @section Description
-     *
-     * The RTC remains in the Error state.
-     *
-     * @section Semantics
-     *
-     * If the RTC is in the Error state relative to some execution
-     * context when it would otherwise be invoked from that context
-     * (according to the context’s ExecutionKind), this callback
-     * shall be invoked instead. For example,
-     *
-     * - If the ExecutionKind is PERIODIC, this operation shall be
-     *   invoked in sorted order at the rate of the context instead of
-     *   DataFlowComponentAction::on_execute and on_state_update.
-     *
-     * - If the ExecutionKind is EVENT_DRIVEN, this operation shall be
-     *   invoked whenever FsmParticipantAction::on_action would
-     *   otherwise have been invoked.
-     *
-     * @endif
-     */
-    ReturnCode_t on_error(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_reset
-     *
-     * @section Description
-     *
-     * The RTC is in the Error state. An attempt is being made to
-     * recover it such that it can return to the Inactive state.
-     *
-     * @section Semantics
-     *
-     * If the RTC was successfully recovered and can safely return to
-     * the Inactive state, this method shall complete with
-     * ReturnCode_t::OK. Any other result shall indicate that the RTC
-     * should remain in the Error state.
-     *
-     * @endif
-     */
-    ReturnCode_t on_reset(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief LightweightRTObject
-   * 
-   * @section Description
-   *
-   * This interface is realized by all lightweight RTCs (as required
-   * by the lightweightRTComponent stereotype). It defines the states
-   * and transitions through which all RTCs will pass from the time
-   * they are created until the time they are destroyed.
-   *
-   * @section Semantics
-   * @subsection Initialization
-   *
-   * An RTC begins in the Created state; at this point, it has been
-   * instantiated but not yet fully initialized. Note that this state
-   * is highly implementation-dependent. For example, it may
-   * correspond to the invocation of a constructor in languages that
-   * support that concept, but not all languages do. Furthermore, how
-   * soon this state is entered before initialize is invoked is
-   * implementation-dependent. Therefore, it should be relied on by
-   * RTC implementers only to the minimum extent possible.  An RTC
-   * that has completed its initialization and has not been finalized
-   * is said to be Alive.
-   *
-   * @subsection Execution Context
-   *
-   * An RTC in the Alive state may participate in any number of
-   * execution contexts (see Section 5.2.2.5 ). These contexts shall
-   * be represented to an RTC as distinct instances of the
-   * ExecutionContext class. The ExecutionContext manages the behavior
-   * of each RTC that participates in it. This relationship is defined
-   * by the following state machine, which is embedded within the
-   * ExecutionContext's own lifecycle (see Figure 5.5 ). Each
-   * participating RTC is represented as a separate parallel region.
-   *
-   * Relative to a given execution context, an RTC may either be
-   * Active, Inactive, or in Error. When the RTC is Active in a
-   * Running execution context, the ComponentAction callbacks (see
-   * Section 5.2.2.4) shall be invoked as appropriate for the context’
-   * s ExecutionKind. The callbacks shall not be invoked relative to
-   * that context when either the RTC is Inactive in that context or
-   * the context is Stopped. (Note that starting and stopping an
-   * execution context shall not impact whether its participating RTCs
-   * are Active or Inactive.)  It may be that a given RTC does not
-   * directly participate in any execution contexts. Such an RTC is
-   * referred to as passive.  A passive RTC may provide services to
-   * other components upon request. At any other time, it shall not be
-   * required to perform any ongoing activity of its own; therefore,
-   * instances of such an RTC typically exist only as parts (directly
-   * or indirectly) of a containing active RTC.
-   *
-   * @subsection Error Handling
-   *
-   * If an operation fails while the RTC is Active in a given
-   * execution context, the RTC will transition to the Error state
-   * corresponding to that context. While the RTC is in Error, the
-   * ComponentAction::on_error callback will be invoked in place of
-   * those callbacks that would otherwise have been invoked according
-   * to the context’s ExecutionKind. For example, if the kind is
-   * PERIODIC, on_error shall be invoked instead of the pair of
-   * on_execute, and on_state_update.  When an RTC is in Error, it may
-   * be reset. If resetting is successful, the RTC shall return to the
-   * Inactive state. If resetting is unsuccessful, it shall remain in
-   * the Error state.
-   * 
-   * @endif
-   */
-  interface LightweightRTObject
-    : ComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief initialize
-     *
-     * @section Description
-     * Initialize the RTC that realizes this interface.
-     *
-     * @section Semantics
-     * The invocation of this operation shall result in the invocation
-     * of the callback ComponentAction::on_initialize.
-     *
-     * @section Constraints
-     *
-     * - An RTC may be initialized only while it is in the Created
-     *   state. Any attempt to invoke this operation while in another
-     *   state shall fail with ReturnCode_t::PRECONDITION_NOT_MET.
-     * - Application developers are not expected to call this operation
-     *   directly; it exists for use by the RTC infrastructure.
-     *
-     * @endif
-     */
-    ReturnCode_t initialize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief finalize
-     *
-     * @section Description
-     *
-     * Finalize the RTC that realizes this interface, preparing it for
-     * destruction.
-     *
-     * @section Semantics
-     *
-     * This invocation of this operation shall result in the
-     * invocation of the callback ComponentAction::on_finalize
-     *
-     * @section Constraints
-     *
-     * - An RTC may not be finalized while it is participating in any
-     *   execution context. It must first be removed with
-     *   ExecutionContextOperations::remove_component. Otherwise, this
-     *   operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET. See Figure 5.9.
-     *
-     * - An RTC may not be finalized while it is in the Created state. Any
-     *   attempt to invoke this operation while in that state shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - Application developers are not expected to call this operation
-     *   directly; it exists for use by the RTC infrastructure.
-     *
-     * @endif
-     */
-    ReturnCode_t finalize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief is_alive
-     * 
-     * @section Description
-     *
-     * A component is alive or not regardless of the execution context
-     * from which it is observed. However, whether or not it is
-     * Active, Inactive, or in Error is dependent on the execution
-     * context(s) (see Figure 5.7) in which it is running. That is, it
-     * may be Active in one context but Inactive in
-     * another. Therefore, this operation shall report whether this
-     * RTC is either Active, Inactive, or in Error; which of those
-     * states a component is in with respect to a particular context
-     * may be queried from the context itself.
-     *
-     * @endif
-     *
-     */
-    boolean is_alive(in ExecutionContext exec_context);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief exit
-     *
-     * @section Description
-     *
-     * Stop the RTC’s execution context(s) and finalize it along with
-     * its contents.
-     *
-     * @section Semantics
-     *
-     * Any execution contexts for which the RTC is the owner shall be
-     * stopped.  If the RTC participates in any execution contexts
-     * belonging to another RTC that contains it, directly or
-     * indirectly (i.e., the containing RTC is the owner of the
-     * ExecutionContext), it shall be deactivated in those contexts.
-     * After the RTC is no longer Active in any Running execution
-     * context, it and any RTCs contained transitively within it shall
-     * be finalized.
-     *
-     * @section Constraints
-     *
-     * An RTC cannot be exited if it has not yet been initialized. Any
-     * attempt to exit an RTC that is in the Created state shall fail
-     * with ReturnCode_t::PRECONDITION_NOT_MET.  
-     *
-     * @endif
-     */
-    ReturnCode_t exit();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief attach_context
-     *
-     * @section Description
-     *
-     * Inform this RTC that it is participating in the given execution
-     * context. Return a handle that represents the association of
-     * this RTC with the context.
-     *
-     * @section Semantics
-     *
-     * This operation is intended to be invoked by
-     * ExecutionContextOperations::add_component (see Section
-     * 5.2.2.6.6). It is not intended for use by other clients.
-     *
-     * @endif
-     */
-    ExecutionContextHandle_t attach_context(in ExecutionContext exec_context);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief detach_context
-     * @section Description
-     * 
-     * Inform this RTC that it is no longer participating in the given
-     * execution context.
-     *
-     * @section Semantics
-     * 
-     * This operation is intended to be invoked by
-     * ExecutionContextOperations::remove_component (see Section
-     * 5.2.2.6.7). It is not intended for use by other clients.
-     *
-     * @section Constraints
-     *
-     * - This operation may not be invoked if this RTC is not already
-     *   participating in the execution context. Such a call shall fail
-     *   with ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - This operation may not be invoked if this RTC is Active in
-     *   the indicated execution context. Otherwise, it shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t detach_context(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_context
-     *
-     * @section Description
-     *
-     * Obtain a reference to the execution context represented by the
-     * given handle.
-     *
-     * @section Semantics
-     *
-     * The mapping from handle to context is specific to a particular
-     * RTC instance. The given handle must have been obtained by a
-     * previous call to attach_context on this RTC.
-     *
-     * @endif
-     */
-    ExecutionContext get_context(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief get_owned_contexts
-     *
-     * @section Description 
-     *
-     * この RTC が所有する ExecutionContext のリストを取得する。
-     * 
-     * @else
-     * @brief get_owned_contexts
-     *
-     * @section Description 
-     *
-     * This operation returns a list of all execution contexts owned
-     * by this RTC.
-     *
-     * @endif
-     */
-    ExecutionContextList get_owned_contexts();
-
-    /*!
-     * @if jp
-     * @brief get_participating_contexts
-     *  
-     * @section Description
-     *
-     * この RTC が参加しているすべての ExecutionContext のリストを取得する。
-     *
-     * @section Semantics
-     *
-     * このリストに含まれる実行コンテキストは、attach_context が呼び出
-     * されるごとに、リストに追加され、detach_context が呼び出されるご
-     * とに、リストから削除される。
-     *
-     * @else
-     * @brief* get_participating_contexts
-     *
-     * @section Description
-     *
-     * This operation returns a list of all execution contexts in
-     * which this RTC participates.
-     *
-     * @section Semantics
-     *
-     * Each call to attach_context causes the provided context to be
-     * added to this list. Each call to detach_context causes the
-     * provided context to be removed from this list.
-     *
-     * @endif
-     */
-    ExecutionContextList get_participating_contexts();
-    
-    /*!
-     * @if jp
-     * ### [誤植] RTC.idl には含まれていないがPIMには含まれている。
-     * ### PIMが正しい。
-     *
-     * @brief 
-     * @else
-     * @brief get_context_handle
-     *
-     * @section Description
-     * 
-     * This operation returns a handle that is associated with the given
-     * execution context.
-     *
-     * @endif
-     */
-    ExecutionContextHandle_t get_context_handle(in ExecutionContext cxt);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionKind
-   * 
-   * @sectioni Description
-   *
-   * The ExecutionKind enumeration defines the execution semantics
-   * (see Section 5.3) of the RTCs that participate in an execution
-   * context.
-   *
-   * @endif
-   */
-  enum ExecutionKind
-  {
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief PERIODIC
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to periodic
-     * sampled data semantics (see Section 5.3.1).
-     * 
-     * @endif
-     */
-    PERIODIC,
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief EVENT_DRIVEN
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to stimulus
-     * response semantics (see Section 5.3.2).
-     * 
-     * @endif
-     */
-    EVENT_DRIVEN,
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief OTHER
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to some semantics
-     * not defined by this specification.
-     * 
-     * @endif
-     */
-    OTHER
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContext
-   *
-   * @section Description
-   *
-   * An ExecutionContext allows the business logic of an RTC to be
-   * decoupled from the thread of control in which it is executed. The
-   * context represents a logical thread of control and is provided to
-   * RTCs at runtime as an argument to various operations, allowing
-   * them to query and modify their own state, and that of other RTCs
-   * executing within the same context, in the lifecycle.  This
-   * separation of concerns is important for two primary reasons:
-   *
-   * - Large number of components may collaborate tightly within a
-   * single node or process. If each component were to run within its
-   * own thread of control, the infrastructure may not be able to
-   * satisfy the timeliness and determinism requirements of real-time
-   * applications due to the large number of threads and the required
-   * synchronization between them.
-   *
-   * - A single application may carry out a number of independent
-   * tasks that require different execution rates. For example, it may
-   * need to sample a sensor periodically at a very high rate and update a
-   * user interface at a much lower rate.
-   *
-   * @section Semantics
-   *
-   * The state machine of an ExecutionContext has two parts. The
-   * behavior of the ExecutionContext itself is defined by the upper
-   * region in the above figure. The behavior of the RTCs that
-   * participate in the context is defined by the lower region. The
-   * contents of that region are displayed in more detail in Figure
-   * 5.5 in Section 5.2.2.2.  Ownership and Participation Each
-   * execution context is owned by a single RTC and may be used to
-   * execute that RTC and the RTCs contained within it, directly or
-   * indirectly. An RTC that owns one or more execution contexts is
-   * known as an autonomous RTC.  An autonomous RTC and some subset of
-   * the RTCs within it (to be defined by the application developer)
-   * shall be executed by the infrastructure according to the context’
-   * s execution kind, which defines when each RTC’s operations will
-   * be invoked when and in which order. These RTCs are said to
-   * participate in the context. The available execution kinds are
-   * described in Section 5.2.2.7.  The relationship between RTCs and
-   * execution contexts may be many-to-many in the general case:
-   * multiple RTCs may be invoked from the same execution context, and
-   * a single RTC may be invoked from multiple contexts. In the case
-   * where multiple RTCs are invoked from the same context, starting
-   * or stopping the context shall result in the corresponding
-   * lifecycle transitions for all of those components.
-   *
-   * @section Logical and Physical Threads
-   *
-   * Although an execution context represents a logical thread of
-   * control, the choice of how it maps to a physical thread shall be
-   * left to the application’s deployment
-   * environment. Implementations may elect to associate contexts with
-   * threads with a one-to-one mapping, to serve multiple contexts
-   * from a single thread, or by any other means. In the case where a
-   * given RTC may be invoked from multiple contexts, concurrency
-   * management is implementation-dependent.
-   *
-   * @endif
-   */
-  interface ExecutionContext
-  {
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief is_running
-     * @section Description
-     *
-     * This operation shall return true if the context is in the
-     * Running state.
-     *
-     * @section Semantics
-     *
-     * While the context is Running, all Active RTCs participating in
-     * the context shall be executed according to the context’s
-     * execution kind.  
-     *
-     * @endif
-     */
-    boolean is_running();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     *
-     * @brief start
-     *
-     * @section Description
-     *
-     * Request that the context enter the Running state. Once the
-     * state transition occurs, the ComponentAction::on_startup
-     * operation (see Section 5.2.2.4.3) will be invoked.  @section *
-     *
-     * @section Semantics
-     *
-     * An execution context may not be started
-     * until the RT components that participate in it have been
-     * initialized. An execution context may be started and stopped
-     * multiple times.
-     *
-     * @section Constraints
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if the context is not in the
-     * Stopped state.
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if any of the participating
-     * components are not in their Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t start();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief stop
-     *
-     * @section Description
-     *
-     * Request that the context enter the Stopped state. Once the
-     * transition occurs, the ComponentAction::on_shutdown operation
-     * (see Section 5.2.2.4.4) will be invoked.
-     *
-     * @section Semantics
-     *
-     * An execution context must be stopped before the RT components
-     * that participate in it are finalized.
-     *
-     * An execution context may be started and stopped multiple times.
-     *
-     * @section Constraints
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if the context is not in the
-     * Running state.
-     *
-     * @endif
-     */
-    ReturnCode_t stop();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_rate
-     *
-     * @section Description
-     *
-     * This operation shall return the rate (in hertz) at which its
-     * Active participating RTCs are being invoked.
-     *
-     * @section Semantics
-     *
-     * An implementation is permitted to perform some periodic or
-     * quasi-periodic processing within an execution context with an
-     * ExecutionKind other than PERIODIC. In such a case, the result
-     * of this operation is implementation-defined. If no periodic
-     * processing of any kind is taking place within the context, this
-     * operation shall fail as described in Section 5.2.1.
-     *
-     * @section Constraints
-     *
-     * - If the context has an ExecutionKind of PERIODIC, this
-     *   operation shall return a rate greater than zero.
-     *
-     * @endif
-     */
-    double get_rate();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_rate
-     *
-     * @section Description
-     *
-     * This operation shall set the rate (in hertz) at which this
-     * context’s Active participating RTCs are being called.
-     *
-     * @section Semantics
-     *
-     * If the execution kind of the context is PERIODIC, a rate change
-     * shall result in the invocation of on_rate_changed on any RTCs
-     * realizing DataFlowComponentAction that are registered with any
-     * RTCs participating in the context.  An implementation is
-     * permitted to perform some periodic or quasi-periodic processing
-     * within an execution context with an ExecutionKind other than
-     * PERIODIC. If such is the case, and the implementation reports a
-     * rate from get_rate, this operation shall set that rate
-     * successfully provided that the given rate is valid. If no
-     * periodic processing of any kind is taking place within the
-     * context, this operation shall fail with
-     * ReturnCode_t::UNSUPPORTED.
-     *
-     * @section Constraints
-     *
-     * - The given rate must be greater than zero. Otherwise, this
-     * operation shall fail with ReturnCode_t::BAD_PARAMETER.
-     *
-     * @endif
-     */
-    ReturnCode_t set_rate(in double rate);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief add_component
-     *
-     * @section Description
-     *
-     * The operation causes the given RTC to begin participating in
-     * the execution context.
-     *
-     * @section Semantics
-     *
-     * The newly added RTC will receive a call to
-     * LightweightRTComponent::attach_context (see Section 5.2.2.2.5)
-     * and then enter the Inactive state. 
-     * 
-     * @section Constraints
-     * 
-     * - If the ExecutionKind of this context is PERIODIC, the RTC
-     * must be a data flow component (see Section 5.3.1.1).
-     * Otherwise, this operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET.
-     * 
-     * - If the ExecutionKind of this context is EVENT_DRIVEN, the RTC
-     * must be an FSM participant (see Section 5.3.2.3).  Otherwise,
-     * this operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t add_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief remove_component
-     *
-     * @section Description
-     *
-     * This operation causes a participant RTC to stop participating
-     * in the execution context.
-     *
-     * @section Semantics
-     *
-     * The removed RTC will receive a call to
-     * LightweightRTComponent::detach_context (see Section 5.2.2.2.6).
-     *
-     * @section Constraints
-     *
-     * - If the given RTC is not currently participating in the
-     * execution context, this operation shall fail with
-     * ReturnCode_t::BAD_PARAMETER.
-     * 
-     * - An RTC must be deactivated before it can be removed from an
-     * execution context. If the given RTC is participating in the
-     * execution context but is still in the Active state, this
-     * operation shall fail with ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t remove_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief activate_component
-     *
-     * @section Description
-     *
-     * The given participant RTC is Inactive and is therefore not
-     * being invoked according to the execution context’s execution
-     * kind. This operation shall cause the RTC to transition to the
-     * Active state such that it may subsequently be invoked in this
-     * execution context.
-     *
-     * @section Semantics
-     *
-     * The callback on_activate shall be called as a result of calling
-     * this operation. This operation shall not return until the
-     * callback has returned, and shall result in an error if the
-     * callback does.  The following figure is a non-normative example
-     * sequence diagram for activate_component.
-     *
-     * @section Constraints
-     *
-     * - An execution context can only activate its participant
-     *   components. If the given RTC is not participating in the
-     *   execution context, this operation shall fail with
-     *   ReturnCode_t::BAD_PARAMETER.
-     *
-     * - An RTC that is in the Error state cannot be activated until
-     *   after it has been reset. If the given RTC is in the Error
-     *   state, this operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - This operation shall fail with ReturnCode_t::BAD_PARAMETER if
-     *   the given component is not in its Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t activate_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief deactivate_component
-     *
-     * @section Description
-     *
-     * The given RTC is Active in the execution context. Cause it to
-     * transition to the Inactive state such that it will not be
-     * subsequently invoked from the context unless and until it is
-     * activated again.
-     *
-     * @section Semantics
-     *
-     * The callback on_deactivate shall be called as a result of
-     * calling this operation. This operation shall not return until
-     * the callback has returned, and shall result in an error if the
-     * callback does.  The following figure is a non-normative example
-     * sequence diagram for deactivate_component.
-     *
-     * @section Constraints
-     *
-     * - An execution context can only deactivate its participant
-     * components. If the given RTC is not participating in the
-     * execution context, this operation shall fail with
-     * ReturnCode_t::BAD_PARAMETER.
-     *
-     * - This operation shall fail with ReturnCode_t::BAD_PARAMETER if
-     * the given component is not in its Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t deactivate_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief reset_component
-     *
-     * @section Description
-     *
-     * Attempt to recover the RTC when it is in Error.
-     *
-     * @section Semantics
-     *
-     * The ComponentAction::on_reset callback shall be invoked. This
-     * operation shall not return until the callback has returned, and
-     * shall result in an error if the callback does. If possible, the
-     * RTC developer should implement that callback such that the RTC
-     * may be returned to a valid state.  * If this operation fails,
-     * the RTC will remain in Error.
-     *
-     * @section Constraints
-     *
-     * - An RTC may only be reset in an execution context in which it
-     *   is in error. If the RTC is not in Error in the identified
-     *   context, this operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET. However, that failure shall
-     *   not cause the RTC to enter the Error state.
-     *
-     * - An RTC may not be reset while in the Created state. Any
-     *   attempt to invoke this operation while the RTC is in that state
-     *   shall fail with ReturnCode_t::PRECONDITION_NOT_MET. However,
-     *   that failure shall not cause the RTC to enter the Error state.
-     *
-     * @endif
-     */
-    ReturnCode_t reset_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_component_state
-     *
-     * @section Description
-     *
-     * This operation shall report the LifeCycleState of the given
-     * participant RTC.
-     *
-     * @section Constraints
-     *
-     * - The given RTC must be Alive.
-     *
-     * - The given RTC must be a participant in the target execution context.
-     *
-     * - The LifeCycleState returned by this operation shall be one of
-     *   LifeCycleState::INACTIVE, ACTIVE, or ERROR.
-     *
-     * @endif
-     */
-    LifeCycleState get_component_state(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_kind
-     *
-     * @section Description
-     *
-     * This operation shall report the execution kind of the execution
-     * context.
-     *
-     * @endif
-     */
-    ExecutionKind get_kind();
-  };
-  
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief DataFlowComponentAction
-   *
-   * @section Description
-   *
-   * DataFlowComponentAction is a companion to ComponentAction (see
-   * Section 5.2.2.4) that provides additional callbacks for
-   * intercepting the two execution passes defined in Section
-   * 5.3.1.1.2.
-   *
-   * @endif
-   */
-  interface DataFlowComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_execute
-     * @section Description
-     *
-     * This operation will be invoked periodically at the rate of the
-     * given execution context as long as the following conditions
-     * hold:
-     *
-     * - The RTC is Active.
-     *
-     * - The given execution context is Running.
-     *
-     * @section Semantics
-     *
-     This callback occurs during the first execution pass.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     * @endif
-     */
-    ReturnCode_t on_execute(in ExecutionContextHandle_t exec_handle);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_state_update
-     *
-     * @section Description
-     *
-     * This operation will be invoked periodically at the rate of the
-     * given execution context as long as the following conditions hold:
-     *
-     * - The RTC is Active.
-     *
-     * - The given execution context is Running.
-     *
-     * @section Semantics
-     *
-     * This callback occurs during the second execution pass.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     *
-     * @endif
-     */
-    ReturnCode_t on_state_update(in ExecutionContextHandle_t exec_handle);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_rate_changed
-     *
-     * @section Description
-     *
-     * This operation is a notification that the rate of the indicated
-     * execution context (see Section 5.2.2.6.4) has changed.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     *
-     * @endif
-     */
-    ReturnCode_t on_rate_changed(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief dataFlowComponent
-   *
-   * @section Description
-   *
-   * The dataFlowComponent stereotype may be applied to a component
-   * type to indicate that its instances should be executed in sorted
-   * order by a periodic execution context.
-   *
-   * @section Constraints
-   *
-   * - An instance of a component extended by the dataFlowComponent
-   *   stereotype must participate in at least one * execution context
-   *   of kind PERIODIC, which shall also be used for the execution of
-   *   any contained data flow components.
-   *
-   * - A component extended by dataFlowComponent must realize the
-   *   interface DataFlowComponentAction.
-   *
-   *
-   * @endif
-   */
-  interface DataFlowComponent
-    : LightweightRTObject, DataFlowComponentAction
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief fsm
-   *
-   * @section Description
-   *
-   * Applying the fsm stereotype to a component implies the ability to
-   * define component-specific states and transitions.
-   *
-   * @section Semantics
-   *
-   * In creating a state machine such as is depicted in Figure 5.22,
-   * the RTC developer is implicitly defining the Active state to be a
-   * submachine state.  * The BehaviorStateMachines package described
-   * in [UML] is considered the normative definition of a state
-   * machine.
-   *
-   * @endif
-   */
-  interface Fsm
-    : LightweightRTObject
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmParticipantAction
-   *
-   * @section Description
-   *
-   * FsmParticipantAction is companion to ComponentAction (see Section
-   * 5.2.2.4) that is intended for use with FSM participant RTCs. It
-   * adds a callback for the interception of state transitions, state
-   * entries, and state exits.
-   *
-   * @endif
-   */
-  interface FsmParticipantAction
-  {
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_action
-     *
-     * @section Description
-     *
-     * The indicated FSM participant RTC has been invoked as a result
-     * of a transition, state entry, or state exit in its containing
-     * FSM.
-     *
-     * @section Constraints
-     *
-     * - The given execution context shall be of kind EVENT_DRIVEN.
-        *
-     * @endif
-     */
-    ReturnCode_t on_action(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  interface FsmParticipant
-    : LightweightRTObject, FsmParticipantAction
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief Mode
-   *
-   * @section Description
-   *
-   * Each mode defined by a given RTC shall be represented by an
-   * instance of Mode.
-   *
-   * @endif
-   */
-  interface Mode
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ModeCapable
-   *
-   * @section Description
-   *
-   * The ModeCapable interface provides access to an object’s modes
-   * and a means to set the current mode.
-   *
-   * @section Semantics
-   *
-   * A given RTC may support multiple modes as well as multiple
-   * execution contexts. In such a case, a request for a mode change
-   * (e.g., from "cruise control on" to "cruise control off") may
-   * come asynchronously with respect to one or more of those
-   * execution contexts. The mode of an RTC may therefore be observed
-   * to be different from one execution context to another.  - A mode
-   * is pending in a given execution context when a mode change has
-   * been requested but the new mode has not yet been observed by that
-   * context.
-   *
-   * - The new mode has been committed in a given execution context
-   *   when the context finally observes the new mode.
-   *
-   * - The new mode has stabilized once it has been committed in all
-   *   execution contexts in which the RTC participates.
-   *
-   * Figure 5.26 depicts a state machine that describes mode
-   * changes. Each parallel region in the composite state Mode Pending
-   * represents an execution context. The trigger "sample" within
-   * that state is considered to have occurred: - …just before the
-   * next call to on_execute (see Section 5.3.1.2.1) in the case where
-   * immediate is false and the execution kind is PERIODIC, …
-   *
-   * - …just before the processing of the next stimulus in the case
-   *   where immediate is false and the execution kind is
-   *   EVENT_DRIVEN, or …- …immediately in all other cases.
-   *
-   * @endif
-   */
-  interface ModeCapable
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_default_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the mode in which the RTC shall be
-     * when no other mode has been set.
-     *
-     * @section Constraints
-     *
-     * - This operation shall not return nil.
-     *
-     * @endif
-     */
-    Mode get_default_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_current_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the last mode to have
-     * stabilized. If no mode has been explicitly set, the current
-     * mode shall be the default mode.
-     *
-     * @section Constraints
-     *
-     * - This operation shall never return nil.
-     *
-     * @endif
-     */
-    Mode get_current_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_current_mode_in_context
-     *
-     * @section Description
-     *
-     * This operation returns the current mode of the component as
-     * seen by the indicated execution context.
-     *
-     * @section Semantics
-     *
-     * The manner in which this property changes is described in Figure 5.26.
-     *
-     * @endif
-     */
-    Mode get_current_mode_in_context(in ExecutionContext exec_context);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_pending_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the last mode to have been passed
-     * to set_mode that has not yet stabilized. Once the RTC’s mode
-     * has stabilized, this operation shall return nil.
-     *
-     * @endif
-     */
-    Mode get_pending_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_pending_mode_in_context
-     *
-     * @section Description
-     *
-     * If the last mode to be requested by a call to set_mode is
-     * different than the current mode as seen by the indicated
-     * execution context (see get_current_mode_in_context), this
-     * operation returns the former. If the requested mode has already
-     * been seen in that context, it returns nil.
-     *
-     * @section Semantics
-     *
-     * See Figure 5.26 for a description of how the pending mode
-     * relates to the current mode within a given execution context.
-     *
-     * @endif
-     */
-    Mode get_pending_mode_in_context(in ExecutionContext exec_context);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_mode
-     *
-     * @section Description
-     *
-     * This operation shall request that the RTC change to the indicated mode.
-     *
-     * @section Semantics
-     *
-     * Usually, the new mode will be pending in each execution context
-     * in which the component executes until the next sample period
-     * (if the execution kind is PERIODIC); at that point it will
-     * become the current mode in that context and there will no
-     * longer be a pending mode. However, in some cases it is
-     * important for a mode change to take place immediately; for
-     * example, a serious fault has occurred and the component must
-     * enter an emergency mode to ensure fail-safe behavior in a
-     * safety-critical system. In such a case, immediate should be
-     * true and the mode change will take place in all contexts
-     * without waiting for the next sample period.
-     *
-     * @endif
-     */
-    ReturnCode_t set_mode(in Mode new_mode,
-			  in boolean immediate);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief MultiModeComponentAction
-   *
-   * MultiModeComponentAction is a companion to ComponentAction that
-   is realized by RTCs that support multiple modes.
-   *
-   * @endif
-   */
-  interface MultiModeComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_mode_changed
-     *
-     * @section Description
-     *
-     * This callback is invoked each time the observed mode of a
-     * component has changed with respect to a particular execution
-     * context.
-     *
-     * @section Semantics
-     *
-     * If the context is PERIODIC, this callback shall come before the
-     * next call to on_execute (see Section 5.3.1.2.1) within that
-     * context.  The new mode can be retrieved with
-     * get_current_mode_in_context. If the result is the same as the
-     * result of get_current_mode, the mode has stabilized.
-     *
-     * @endif
-     */
-    ReturnCode_t on_mode_changed(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  interface MultiModeObject
-    : LightweightRTObject, ModeCapable, MultiModeComponentAction
-  {
-  };
-  
-  interface RTObject;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortInterfacePolarity
-   *
-   * @section Description
-   *
-   * The PortInterfacePolarity enumeration identifies exposed
-   * interface instances as provided or required.  @endif
-   */
-  enum PortInterfacePolarity
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief PROVIDED
-     *
-     * @section Description
-     *
-     * The target interface is provided as an output by the target
-     * port.
-     *
-     * @endif
-     */
-    PROVIDED,
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief REQUIRED
-     *
-     * @section Description
-     *
-     * The target interface is required as an input by the target port.
-     *
-     * @endif
-     */
-    REQUIRED
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortInterfaceProfile
-   *
-   * @section Description
-   *
-   * PortInterfaceProfile describes an instance of a particular
-   * interface as it is exposed by a particular port. These objects
-   * are referred to below as the "target interface" and "target
-   * port" respectively.
-   *
-   * @endif
-   */
-  struct PortInterfaceProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief instance_name
-     *
-     * @section Description
-     *
-     * This attribute stores the name of the target interface instance.
-     *
-     * @endif
-     */
-    string instance_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief type_name
-     *
-     * @section Description
-     *
-     * This attribute stores the name of the target interface type.
-     *
-     * @endif
-     */
-    string type_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief polarity
-     *
-     * @section Description
-     *
-     * This attribute indicates whether the target interface instance
-     * is provided or required by the RTC.
-     *
-     * @endif
-     */
-    PortInterfacePolarity polarity;
-  };
-  
-  typedef sequence<PortInterfaceProfile> PortInterfaceProfileList;
-  
-  interface PortService;
-  typedef sequence<PortService> PortServiceList;
-  typedef sequence<RTObject> RTCList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ConnectorProfile
-   *
-   * @section Description
-   *
-   * The ConnectorProfile contains information about a connection
-   * between the ports of collaborating RTCs.
-   *
-   * @endif
-   */
-  struct ConnectorProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief name
-     *
-     * @section Description
-     *
-     * This attribute contains the name of this connection.
-     *
-     * @endif
-     */
-    string name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connector_id
-     *
-     * @section Description
-     *
-     * Each connector has a unique identifier that is assigned when
-     * connection is established. This attribute stores that
-     * identifier.
-     *
-     * @endif
-     */
-    UniqueIdentifier connector_id;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ports
-     *
-     * @section Description
-     *
-     * This field stores references to all ports connected by the
-     * target connector.
-     *
-     * @endif
-     */
-    PortServiceList ports;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the connection.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular connection
-     * that are outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ConnectorProfile> ConnectorProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortProfile
-   *
-   * @section Description
-   *
-   * A PortProfile describes a port of an RTC (referred to as the
-   * "target" RTC). This port is referred to as the "target" port.
-   * From this profile, other components and tools can obtain Port’s
-   * name, type, object reference, and so on.
-   *
-   * @endif
-   */
-  struct PortProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief name
-     *
-     * @section Description
-     *
-     * This attribute contains the name of the target port.
-     *
-     * @section Semantics
-     *
-     * Ports owned by an RTC are distinguished by their
-     * names. Therefore, this name should be unique within the target
-     * RTC.
-     *
-     * @endif
-     */
-    string name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief interfaces
-     *
-     * @section Description
-     *
-     * This attribute contains the name and polarity of each interface
-     * exposed by the target port.
-     *
-     * @endif
-     */
-    PortInterfaceProfileList interfaces;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief port_ref
-     *
-     * @section Description
-     *
-     * This attributes contains a reference to the target port.
-     *
-     * @endif
-     */
-    PortService port_ref;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connector_profiles
-     *
-     * @section Description
-     *
-     * This attribute contains a collection of profiles describing the
-     * connections to the target port.
-     *
-     * @endif
-     */
-    ConnectorProfileList connector_profiles;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief owner
-     *
-     * @section Description
-     *
-     * This attribute contains a reference to the target RTC.
-     *
-     * @endif
-     */
-    RTObject owner;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the port.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular port that
-     * are otherwise outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<PortProfile> PortProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  struct ExecutionContextProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief kind
-     *
-     * @section Description
-     *
-     * This attribute stores the context’s ExecutionKind.
-     *
-     * @endif
-     */
-    ExecutionKind kind;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief rate
-     *
-     * @section Description
-     *
-     * This attribute stores execution rate.
-     *
-     * @section Semantics
-     *
-     * If the execution kind is not PERIODIC, the value here may not
-     * be valid (and should be negative in that case). See
-     * ExecutionContext::get_rate (see Section 5.2.2.6.4) and set_rate
-     * (see Section 5.2.2.6.5) for more information.
-     *
-     * @endif
-     */
-    double rate;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief owner
-     *
-     * @section Description
-     *
-     * This attribute stores a reference to the RTC that owns the context.
-     *
-     * @endif
-     */
-    RTObject owner;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief participants
-     *
-     * @section Description
-     *
-     * This attribute stores references to the context’s participant RTCs.
-     *
-     * @endif
-     */
-    RTCList participants;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the execution
-     * context.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular execution
-     * context that are outside the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ExecutionContextProfile>
-  ExecutionContextProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmObject
-   *
-   * @section Description
-   *
-   * The FsmObject interface allows programs to send stimuli to a
-   * finite state machine, possibly causing it to change states.
-   *
-   * @endif
-   */
-  interface FsmObject
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief send_stimulus
-     *
-     * @section Description
-     *
-     * Send a stimulus to an FSM that realizes this interface.
-     *
-     * @section Semantics
-     *
-     * If the stimulus corresponds to any outgoing transition of the
-     * current state, that transition shall be taken and the state
-     * shall change. Any FSM participants associated with the exit of
-     * the current state, the transition to the new state, or the
-     * entry to the new state shall be invoked. If the stimulus does
-     * not correspond to any such transition, this operation shall
-     * succeed but have no effect.  
-     *
-     * If the given execution context is a non-nil reference to a
-     * context in which this FSM participates, the transition shall be
-     * executed in that context. If the argument is nil, the FSM shall
-     * choose an EVENT_DRIVEN context in which to execute the
-     * transition. If the argument is non-nil, but this FSM does not
-     * participate in the given context, this operation shall fail
-     * with * ReturnCode_t::BAD_PARAMETER.
-     *
-     * @section Constraints
-     *
-     * - The given execution context shall be of kind EVENT_DRIVEN.
-     *
-     * @endif
-     */
-    ReturnCode_t send_stimulus(in string message,
-			       in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmBehaviorProfile
-   *
-   * @section Description
-   *
-   * FsmBehaviorProfile represents the association of an FSM
-   * participant with a transition, state entry, or state exit in an
-   * FSM.
-   *
-   * @section Semantics
-   *
-   * The assignment of identifiers to particular transitions, state
-   * entries, or state exits is implementation-dependent.
-   *
-   * @endif
-   */
-  struct FsmBehaviorProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief action_component
-     *
-     * @section Description
-     *
-     * This attribute stores a reference to the FSM participant that
-     * is invoked when the containing Fsm receives a message
-     * distinguished by id.
-     *
-     * @endif
-     */
-    FsmParticipantAction action_component;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief id
-     *
-     * @section Description
-     *
-     * This attribute stores the message identifier.
-     *
-     * @endif
-     */
-    UniqueIdentifier id;
-  };
-  
-  typedef sequence<FsmBehaviorProfile> FsmBehaviorProfileList;
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmProfile
-   *
-   * @section Description
-   *
-   * The FsmProfile describes the correspondence between an FSM and
-   * its contained FSM participants. This Profile is necessary for
-   * Stimulus Response Processing.
-   *
-   * @endif
-   */
-  struct FsmProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief behavior_profiles
-     *
-     * @section Description
-     *
-     * This attribute lists the correspondences between an FSM and its
-     * contained FSM participants.
-     *
-     * @endif
-     */
-    FsmBehaviorProfileList behavior_profiles;
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmService
-   *
-   * @section Description
-   *
-   * The FsmService interface defines operations necessary for
-   * Stimulus Response Processing as an SDO service.
-   *
-   * @endif
-   */
-  interface FsmService
-    : SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_fsm_profile
-     *
-     * @section Description
-     *
-     * Get the current state of the FSM.
-     *
-     * @section Semantics
-     *
-     * Modifications to the object returned by this operation will not
-     * be reflected in the FSM until and unless set_fsm_profile is
-     * called.
-     *
-     * @endif
-     */
-    FsmProfile get_fsm_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_fsm_profile
-     *
-     * @section Description
-     *
-     * This operation will be used to modify the behavior of an FSM as
-     * described in Stimulus Response Processing.
-     *
-     * @endif
-     */
-    ReturnCode_t set_fsm_profile(in FsmProfile fsm_profile);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ComponentProfile
-   *
-   * @section Description
-   *
-   * ComponentProfile represents the static state of an RTC that is
-   * referred to here as the "target" RTC.
-   *
-   * @endif
-   */
-  struct ComponentProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief instance_name
-     *
-     * @section Description
-     *
-     * This attribute shall contain the name of the target RTC instance.
-     *
-     * @section Semantics
-     *
-     * The instance_name should be unique among RTC instances
-     * contained within the same containing component.
-     *
-     * @endif
-     */
-    string instance_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief type_name
-     *
-     * @section Description
-     *
-     * This attribute shall contain the name of the target RTC class.
-     *
-     * @section Semantics
-     *
-     * Each RTC class must have a name that is unique within an
-     * application.
-     *
-     * @endif
-     */
-    string type_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief description
-     *
-     * @section Description
-     *
-     * This attribute shall briefly describe the target RTC for the
-     * benefit of a human operator.
-     *
-     * @endif
-     */
-    string description;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief version
-     *
-     * @section Description
-     *
-     * This attribute shall contain the version number of the target
-     * RTC class.
-     *
-     * @section Semantics
-     *
-     * The format of the version number is outside of the scope of
-     * this specification.
-     *
-     * @endif
-     */
-    string version;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief vendor
-     *
-     * @section Description
-     *
-     * The name of the individual or organization that produced the
-     * target RTC class.
-     *
-     * @endif
-     */
-    string vendor;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief category
-     *
-     * @section Description
-     *
-     * This attribute contains the name of a "category" or group to
-     * which the target RTC belongs.
-     *
-     *
-     * @endif
-     */
-    string category;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief port_profiles
-     *
-     * @section Description
-     *
-     * This attribute contains a list of PortProfiles that describe
-     * the ports of the target RTC.
-     *
-     * @section Semantics
-     *
-     * There shall be a one-to-one correspondence between the members
-     * of this list and the ports of the target RTC.
-     *
-     *
-     * @endif
-     */
-    PortProfileList port_profiles;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief parent
-     *
-     * @section Description
-     *
-     * This attribute contains a reference to the RTC that contains
-     * the target RTC instance. If the target RTC instance is not
-     * owned by any other RTC, this field stores a nil reference.
-     *
-     * @endif
-     */
-    RTObject parent;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the target RTC.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular RTC that
-     * are otherwise outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ComponentProfile> ComponentProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortService
-   *
-   * @section Description
-   *
-   * An instance of the PortService interface represents a port (i.e.,
-   * UML::Composite Structures::Ports::Port) of an RTC. It provides
-   * operations that allow it to be connected to and disconnected from
-   * other ports.
-   *
-   * @section Semantics
-   *
-   * A port service can support unidirectional or bidirectional
-   * communication.  A port service may allow for a service-oriented
-   * connection, in which other connected ports, invoke methods on
-   * it. It may also allow for a data-centric connection, in which
-   * data values are streamed in or out. In either case, the
-   * connection is described by an instance of
-   * ConnectorProfile. However, the behavioral contracts of such
-   * connections are dependent on the interfaces exposed by the ports
-   * and are not described normatively by this specification.
-   *
-   * @endif
-   */
-  interface PortService
-    : SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_port_profile
-     *
-     * @section Description
-     *
-     * This operation returns the PortProfile of the PortService.
-     *
-     * @endif
-     */
-    PortProfile get_port_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_connector_profiles
-     *
-     * @section Description
-     *
-     * This operation returns a list of the ConnectorProfiles of the
-     * PortService.
-     *
-     * @endif
-     */ 
-    ConnectorProfileList get_connector_profiles();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_connector_profiles
-     *
-     * @section Description
-     *
-     * This operation returns a list of the ConnectorProfiles of the
-     * PortService.
-     *
-     * @endif
-     */
-    ConnectorProfile get_connector_profile(in UniqueIdentifier connector_id);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connect
-     *
-     * @section Description
-     *
-     * This operation establishes connection between this port and the
-     * peer ports according to given ConnectionProfile.
-     *
-     * @section Semantics
-     *
-     * A ConnectorProfile has a sequence of port references. This port
-     * invokes the notify_connect operation of one of the ports
-     * included in the sequence. It follows that the notification of
-     * connection is propagated by the notify_connect operation with
-     * ConnectorProfile. This operation returns ConnectorProfile
-     * return value and returns ReturnCode_t as return codes.
-     *
-     * @endif
-     */
-    ReturnCode_t connect(inout ConnectorProfile connector_profile);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief disconnect
-     *
-     * @section Description
-     *
-     * This operation destroys the connection between this port and
-     * its peer ports using the ID that was given when the connection
-     * was established.
-     *
-     * @section Semantics
-     *
-     * This port invokes the notify_disconnect operation of one of the
-     * ports included in the sequence of the ConnectorProfile stored
-     * when the connection was established. The notification of
-     * disconnection is propagated by the notify_disconnect operation.
-     *
-     * @endif
-     */
-    ReturnCode_t disconnect(in UniqueIdentifier connector_id);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief disconnect_all
-     *
-     * @section Description
-     *
-     * This operation destroys all connection channels owned by the
-     * PortService.
-     *
-     * @endif
-     */
-    ReturnCode_t disconnect_all();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief notify_connect
-     *
-     * @section Description
-     *
-     * This operation notifies this PortService of the connection
-     * between its corresponding port and the other ports and
-     * propagates the given ConnectionProfile.
-     *
-     * @section Semantics
-     *
-     * A ConnectorProfile has a sequence of port references. This
-     * PortService stores the ConnectorProfile and invokes the
-     * notify_connect operation of the next PortService in the
-     * sequence. As ports are added to the connector, PortService
-     * references are added to the ConnectorProfile and provided to
-     * the caller. In this way, notification of connection is
-     * propagated with the ConnectorProfile.
-     *
-     * @endif
-     */
-    ReturnCode_t notify_connect(inout ConnectorProfile connector_profile);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief notify_disconnect
-     *
-     * @section Description
-     *
-     * This operation notifies a PortService of a disconnection
-     * between its corresponding port and the other ports. The
-     * disconnected connector is identified by the given ID, which was
-     * given when the connection was established.
-     *
-     * @section Semantics
-     *
-     * This port invokes the notify_disconnect operation of the next
-     * PortService in the sequence of the ConnectorProfile that was
-     * stored when the connection was established. As ports are
-     * disconnected, PortService references are removed from the
-     * ConnectorProfile. In this way, the notification of
-     * disconnection is propagated by the notify_disconnect operation.
-     *
-     * @endif
-     */
-    ReturnCode_t notify_disconnect(in UniqueIdentifier connector_id);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContextService
-   *
-   * @section Description
-   *
-   * An ExecutionContextService exposes an ExecutionContext as an SDO
-   * service such that the context may be controlled remotely.
-   *
-   * @section Semantics
-   *
-   * Depending on the implementation, this interface may itself be an
-   * execution context (that is, it may be passed to the operations of
-   * ComponentAction) or it may represent a remote execution context
-   * that is not of type ExecutionContextService.  @endif
-   */
-  interface ExecutionContextService
-    : ExecutionContext, SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_profile
-     *
-     * @section Description
-     *
-     * This operation provides a profile "descriptor" for the
-     * execution context.
-     *
-     * @endif
-     */
-    ExecutionContextProfile get_profile();
-  };
-  
-  typedef sequence<ExecutionContextService>
-  ExecutionContextServiceList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief RTObject
-   *
-   * @section Description
-   *
-   * The RTObject interface defines the operations that all SDO-based
-   * RTCs must provide. It is required by the rtComponent stereotype.
-   *
-   * @endif
-   */
-  interface RTObject
-    : LightweightRTObject, SDOPackage::SDO
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_component_profile
-     *
-     * @section Description
-     *
-     * This operation returns the ComponentProfile of the RTC.
-     *
-     * @endif
-     */
-    ComponentProfile get_component_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_ports
-     *
-     * @section Description
-     *
-     * This operation returns a list of the RTCs ports.
-     *
-     * @endif
-     */
-    PortServiceList get_ports();
-  };
-};
-

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/SDOPackage.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/SDOPackage.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/SDOPackage.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,294 +0,0 @@
-//Platform Independent Model (PIM) and Platform Specific Model (PSM)
-//for Super Distributed Objects (SDO) Specification, v1.1 - OMG IDL Summary File
-//Object Management Group, Inc.
-//Copyright (c) 2003, Fraunhofer FOKUS
-//Copyright (c) 2003, Hitachi, Ltd.
-//The companies listed above have granted to the Object Management Group, Inc. 
-//(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and 
-//distribute this document and to modify this document and distribute copies of 
-//the modified version. Each of the copyright holders listed above has agreed 
-//that no person shall be deemed to have infringed the copyright in the included 
-//material of any such copyright holder by reason of having used the 
-//specification set forth herein or having conformed any computer software to 
-//the specification. 
-//
-//This file contains OMG IDL from the Naming Service Specification, v1.2.
-//OMG regularly publishes a summary file that contains all the "code" parts of 
-//an OMG formal document. Every formal document line that is IDL, PIDL, or 
-//language code is included in the summary file. The reason for such a listing 
-//is to give readers an electronic version of the "code" so that they can 
-//extract pieces of it. Readers might want to test an example, include it in 
-//their own code, or use it for documentation purposes. Having the code lines 
-//available electronically means there is less likelihood of a transcription 
-//error. 
-//
-// ver 1.0  formal/2004-11-02
-// ver 1.1  (RTF report: dtc/2008-03-05)
-//
-//SDOPackage.idl
-
-#ifndef    _SDO_PACKAGE_IDL_
-#define    _SDO_PACKAGE_IDL_
-
-#ifdef TAO_IDL
-#include <orb.idl>
-#endif
-#ifdef USE_MONITORING
-#include <CosNotifyComm.idl>
-#endif
-#ifndef ORBIT2_IDL
-#define TypeCode CORBA::TypeCode
-#endif
-/** CORBA specific model for SDOs */
-
-#pragma prefix "org.omg"
-#define exception_body { string description; }
-
-module SDOPackage
-{
-  interface SDO;
-  interface SDOService;
-  interface SDOSystemElement;
-  interface Configuration;
-  interface Monitoring;
-  interface Organization;
-  
-  /** ------- Data Types -------*/
-  typedef sequence<string>       StringList;
-  typedef sequence<SDO>          SDOList;
-  typedef sequence<Organization> OrganizationList;
-  typedef string                 UniqueIdentifier;
-
-  struct NameValue
-  {
-    string name;
-    any value;
-  };
-
-  typedef sequence<NameValue>   NVList;
-
-  enum NumericType
-  {
-    SHORT_TYPE,
-    LONG_TYPE,
-    FLOAT_TYPE,
-    DOUBLE_TYPE
-  };
-
-  union Numeric switch (NumericType)
-  {
-  case SHORT_TYPE:  short short_value;
-  case LONG_TYPE: long long_value;
-  case FLOAT_TYPE: float float_value;
-  case DOUBLE_TYPE: double double_value;
-  };
-
-  struct EnumerationType
-  {
-    StringList enumerated_values;
-  };
-
-  struct RangeType
-  {
-    Numeric min;
-    Numeric max;
-    boolean min_inclusive;
-    boolean max_inclusive;
-  };
-
-  struct IntervalType
-  {
-    Numeric min;
-    Numeric max;
-    boolean min_inclusive;
-    boolean max_inclusive;
-    Numeric step;
-  };
-
-  enum ComplexDataType
-  {
-    ENUMERATION, RANGE, INTERVAL
-  };
-
-  union AllowedValues switch (ComplexDataType)
-  {
-  case ENUMERATION:    EnumerationType allowed_enum;
-  case INTERVAL:       IntervalType allowed_interval;
-  case RANGE:          RangeType   allowed_range;
-  };
-
-  struct Parameter
-  {
-    string         name;
-    TypeCode       type;
-    AllowedValues  allowed_values;
-  };
-
-  typedef sequence<Parameter> ParameterList;
-  struct OrganizationProperty
-  {
-    NVList properties;
-  };
-  enum DependencyType
-  {
-    OWN,
-    OWNED,
-    NO_DEPENDENCY
-  };
-
-  struct DeviceProfile
-  {
-    string device_type;
-    string manufacturer;
-    string model;
-    string version;
-    NVList properties;
-  };
-
-  struct ServiceProfile
-  {
-    string id;
-    string interface_type;
-    NVList properties;
-    SDOService service;
-  };
-
-  typedef sequence <ServiceProfile> ServiceProfileList;
-  struct ConfigurationSet
-  {
-    string id;
-    string description;
-    NVList configuration_data;
-  };
-
-  typedef sequence<ConfigurationSet> ConfigurationSetList;
-
-
-  /** ------- Exceptions -------*/
-  exception NotAvailable             exception_body;
-  exception InterfaceNotImplemented  exception_body;
-  exception InvalidParameter         exception_body;
-  exception InternalError            exception_body;
-  
-  /** ------- Interfaces -------*/
-  interface SDOSystemElement
-  {
-    OrganizationList get_owned_organizations()
-      raises (NotAvailable,InternalError);
-  };
-  interface SDO : SDOSystemElement
-  {
-    UniqueIdentifier get_sdo_id()
-      raises (NotAvailable, InternalError);
-    string get_sdo_type()
-      raises (NotAvailable, InternalError);
-    DeviceProfile get_device_profile ()
-      raises (NotAvailable, InternalError);
-    ServiceProfileList get_service_profiles ()
-      raises (NotAvailable, InternalError);
-    ServiceProfile get_service_profile (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOService get_sdo_service (in UniqueIdentifier id) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    Configuration get_configuration ()
-      raises (InterfaceNotImplemented, NotAvailable, InternalError);
-    Monitoring get_monitoring ()
-      raises (InterfaceNotImplemented, NotAvailable, InternalError);
-    OrganizationList get_organizations ()
-      raises (NotAvailable, InternalError);
-    NVList get_status_list ()
-      raises (NotAvailable, InternalError);
-    any get_status (in string nme)
-      raises (InvalidParameter, NotAvailable, InternalError);
-  };
-
-
-  interface Configuration
-  {
-    boolean set_device_profile (in DeviceProfile dProfile)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_service_profile (in ServiceProfile sProfile)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_organization (in Organization organization_object)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_service_profile (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_organization (in UniqueIdentifier organization_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ParameterList get_configuration_parameters ()
-      raises (NotAvailable, InternalError);
-    NVList get_configuration_parameter_values ()
-      raises (NotAvailable, InternalError);
-    any get_configuration_parameter_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean set_configuration_parameter (in string name,
-                                         in any value)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ConfigurationSetList get_configuration_sets ()
-      raises (NotAvailable, InternalError);
-    ConfigurationSet get_configuration_set (in UniqueIdentifier config_id)
-      raises (NotAvailable, InternalError);
-    boolean set_configuration_set_values (in ConfigurationSet configuration_set)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ConfigurationSet get_active_configuration_set ()
-      raises (NotAvailable, InternalError);
-    boolean add_configuration_set (in ConfigurationSet configuration_set)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_configuration_set (in UniqueIdentifier config_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean activate_configuration_set (in UniqueIdentifier config_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-  };
-
-
-#ifdef USE_MONITORING
-  interface Monitoring : CosNotifyComm::StructuredPushConsumer,
-    CosNotifyComm::StructuredPushSupplier
-  {
-    any get_monitoring_parameter_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ParameterList get_monitoring_parameters ()
-      raises (NotAvailable, InternalError);
-    NVList get_monitoring_parameter_values ()
-      raises (NotAvailable, InternalError);
-  };
-#else
-  interface Monitoring {};
-#endif
-
-  interface SDOService {};
-  
-  interface Organization
-  {
-    UniqueIdentifier get_organization_id ()
-      raises (InvalidParameter, NotAvailable, InternalError);
-    OrganizationProperty get_organization_property ()
-      raises (NotAvailable, InternalError);
-    any get_organization_property_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_organization_property (in OrganizationProperty organization_property)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean set_organization_property_value (in string name,
-                                             in any value)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_organization_property ( in string name )
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOSystemElement get_owner ()
-      raises (NotAvailable, InternalError);
-    boolean set_owner (in SDOSystemElement sdo) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOList get_members ()
-      raises (NotAvailable, InternalError);
-    boolean set_members (in SDOList sdos) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_members ( in SDOList sdo_list)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_member (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    DependencyType get_dependency()
-      raises (NotAvailable, InternalError);
-    boolean set_dependency (in DependencyType dependency) 
-      raises (NotAvailable, InternalError);
-  };
-};
-#endif //_SDO_PACKAGE_IDL_

Added: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.bat
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.bat	                        (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.bat	2011-08-04 07:52:39 UTC (rev 437)
@@ -0,0 +1,15 @@
+ at echo off
+echo "<<< ComponentObserverConsumer setup start >>>"
+
+set idlfiles=RTC.idl SDOPackage.idl
+
+rem # idl file copy
+for %%x in (%idlfiles%) do copy ..\..\..\RTM_IDL\%%x .
+
+rem # idl file compile
+set idlfiles=%idlfiles% ComponentObserver.idl
+for %%x in (%idlfiles%) do omniidl -I. -bpython %%x
+
+echo "<<< ComponentObserverConsumer setup Complete >>>"
+echo ""
+

Added: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.sh
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.sh	                        (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/setup.sh	2011-08-04 07:52:39 UTC (rev 437)
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+echo "<<< ComponentObserverConsumer Test setup start >>>"
+
+# idl file copy
+cp -pf ../../../RTM_IDL/RTC.idl .
+cp -pf ../../../RTM_IDL/SDOPackage.idl .
+
+# idl file compile
+omniidl -bpython *.idl
+
+echo "<<< ComponentObserverConsumer Test setup Complete >>>"
+echo ""
+

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/BasicDataType.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/BasicDataType.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/BasicDataType.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,189 +0,0 @@
-// -*- IDL -*-
-/*!
- * @file DataType.idl
- * @brief Basic Data Type definition
- * @date $Date: 2007-01-09 15:36:29 $
- * @author Noriaki Ando <n-ando at aist.go.jp>
- *
- * Copyright (C) 2003-2006
- *     Task-intelligence Research Group,
- *     Intelligent Systems Research Institute,
- *     National Institute of
- *         Advanced Industrial Science and Technology (AIST), Japan
- *     All rights reserved.
- *
- * $Id: BasicDataType.idl 1580 2009-12-07 08:54:10Z kurihara $
- *
- */
-
-#ifndef BasicDataType_idl
-#define BasicDataType_idl
-
-module RTC {
-  //------------------------------------------------------------
-  // Basic data type definition
-  //------------------------------------------------------------
-  struct Time
-  {
-        unsigned long sec;    // sec
-        unsigned long nsec;   // nano sec
-  };
-
-  struct TimedState
-  {
-	Time tm;
-	short data;
-  };
-
-  struct TimedShort
-  {
-	Time tm;
-	short data;
-  };
-
-  struct TimedLong
-  {
-	Time tm;
-	long data;
-  };
-
-  struct TimedUShort
-  {
-	Time tm;
-	unsigned short data;
-  };
-
-  struct TimedULong
-  {
-	Time tm;
-	unsigned long data;
-  };
-
-  struct TimedFloat
-  {
-	Time tm;
-	float data;
-  };
-
-  struct TimedDouble
-  {
-	Time tm;
-	double data;
-  };
-
-  struct TimedChar
-  {
-	Time tm;
-	char data;
-  };
-
-  struct TimedWChar
-  {
-	Time tm;
-	wchar data;
-  };
-
-  struct TimedBoolean
-  {
-	Time tm;
-	boolean data;
-  };
-
-  struct TimedOctet
-  {
-	Time tm;
-	octet data;
-  };
-
-  struct TimedString
-  {
-	Time tm;
-	string data;
-  };
-
-
-  struct TimedWString
-  {
-	Time tm;
-	wstring data;
-  };
-
-
-  /*!
-   * Sequence data type
-   */
-  struct TimedShortSeq
-  {
-	Time tm;
-	sequence<short> data;
-  };
-
-  struct TimedLongSeq
-  {
-	Time tm;
-	sequence<long> data;
-  };
-
-  struct TimedUShortSeq
-  {
-	Time tm;
-	sequence<unsigned short> data;
-  };
-
-  struct TimedULongSeq
-  {
-	Time tm;
-	sequence<unsigned long> data;
-  };
-
-  struct TimedFloatSeq
-  {
-	Time tm;
-	sequence<float> data;
-  };
-
-  struct TimedDoubleSeq
-  {
-	Time tm;
-	sequence<double> data;
-  };
-
-  struct TimedCharSeq
-  {
-	Time tm;
-	sequence<char> data;
-  };
-
-  struct TimedWCharSeq
-  {
-	Time tm;
-	sequence<wchar> data;
-  };
-
-  struct TimedBooleanSeq
-  {
-	Time tm;
-	sequence<boolean> data;
-  };
-
-  struct TimedOctetSeq
-  {
-	Time tm;
-	sequence<octet> data;
-  };
-
-  struct TimedStringSeq
-  {
-	Time tm;
-	sequence<string> data;
-  };
-  
-  struct TimedWStringSeq
-  {
-	Time tm;
-	sequence<wstring> data;
-  };
-  
-};
-
-#endif // end of BasicDataType_idl

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/ComponentObserver.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/ComponentObserver.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/ComponentObserver.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,512 +0,0 @@
-// -*- IDL -*-
-/*!
- * @file ComponentObserver.idl
- * @brief Component observer SDO service
- * @date $Date$
- * @author Noriaki Ando <n-ando at aist.go.jp>
- *
- * Copyright (C) 2011
- *     Noriaki Ando
- *     Intelligent Systems Research Institute,
- *     National Institute of
- *         Advanced Industrial Science and Technology (AIST), Japan
- *     All rights reserved.
- *
- * $Id$
- *
- */
-
-#include <SDOPackage.idl>
-#include <RTC.idl>
-
-/*!
- * @if jp
- * @brief コンポーネント状態オブザーバインターフェース
- *
- * コンポーネントの状態を監視するためのオブザーバインターフェース。オブ
- * ザーバパターンに従い、外部ツールがコンポーネントにオブザーバオブジェ
- * クトをセットし、コンポーネントは各種内部状態変更時にをオブザーバオブ
- * ジェクトをコールし、オブザーバに対して変更を通知する。
- *
- * @since 1.1
- *
- * @else
- * @brief Component state observer interface
- *
- * This interface defines observer interface for component states.
- * According to the observer pattern, tools which want to observe
- * component state set observer objects to the RT-Component, and weh
- * RT-Component changes its status, the observer object is called and
- * notice the changes to tools.
- *
- *
- * @since 1.1
- * @endif
- */
-module OpenRTM
-{
-  /*!
-   * @if jp
-   *
-   * @brief 更新された状態の種類
-   * 
-   * ターゲットRTCで更新された状態の種類を分類する列挙型。
-   * 
-   * @else
-   *
-   * @brief A kind of updated status
-   * 
-   * This is a enumeration type to classify updated status in target RTC.
-   *
-   * @endif
-   */
-  enum StatusKind
-  {
-    /*!
-     * @if jp
-     *
-     * @brief コンポーネントプロファイル
-     * 
-     * コンポーネントプロファイル RTC::ComponentProfile が更新されたこ
-     * とを示す列挙型。
-     *
-     * RTC::ComponentProfile のメンバーのうち、instance_name,
-     * type_name, description, version, vendor, category はRTC動作中に
-     * 変更されることはない。これらが変更された場合には、
-     * ComponentObserver::updatestatus() の hint には、それぞれのメンバー
-     * 名が文字列で指定される。また、parent に対する変更は通知されない。
-     * さらに、properties に対する変更は、hint に "<key0>, <key1>,
-     * ..." の形で通知される。
-     *
-     * port_profiles に対する変更は、後述の PORT_PROFILE によって通知さ
-     * れるため、COMPONENT_PROFILE では通知されない。
-     *
-     * @else
-     *
-     * @brief Component profile
-     * 
-     * This is enumeration member to specify that the target
-     * component's RTC::componentProfile has been changed.
-     *
-     * In the member of RTC::ComponentProfile, instance_name,
-     * type_name, description, version, vendor, category are not
-     * modified during RTC running. If these members are changed, each
-     * member's name is specified in the
-     * ComponentObserver::updateStatus() 's hint argument. And,
-     * modification to parent is not notified. In the properties, the
-     * modification is notified as "<key0>, <key1>, ..." in the hint
-     * argument.
-     * 
-     * The modification to port_profiles is not notified as
-     * COMPONENT_PROFILE becauase it is notified as PORT_PROFILE.
-     *
-     * @endif
-     */
-    COMPONENT_PROFILE,
-    /*!
-     * @if jp
-     *
-     * @brief コンポーネントの状態
-     * 
-     * コンポーネントの状態が変化したことを示す列挙子。
-     *
-     * RTCにはECの状態として、INACTIVE_STATE, ACTIVE_STATE,
-     * ERROR_STATE があるが、この状態が変化したことを通知するための列挙
-     * 子。
-     *
-     * ComponentObserver::updatestatus() の hint には、状態と、どの実行
-     * コンテキストで変化があったかを知らせる以下の文字列が hint に引数
-     * として与えられる。
-     *
-     * hint: (INACTIVE, ACTIVE, ERROR):<Execution Context ID>
-     * 例:
-     *   ACTIVE:0 (デフォルトコンテキストでRTCがアクティブになった)
-     *   ERROR:1002 (実行コンテキスト1002でRTCがエラーになった)
-     *
-     * @else
-     *
-     * @brief Component status
-     * 
-     * This is INACTIVE_STATE, ACTIVE_STATE,
-     * ERROR_STATE status, and this enumerator specify a status of RTC changed.
-     *
-     * A status and ExecutionContext's id is specified in the argument of 
-     * ComponentObserver::updateStatus() 's hint.
-     *
-     * hint: (INACTIVE, ACTIVE, ERROR):<Execution Context ID>
-     * Example:
-     *   ACTIVE:0 (RTC is activated in the default ExecuionContext)
-     *   ERROR:1002 (RTC go to ERROR state in the EC of id 1002)
-     *
-     * @endif
-     */
-    RTC_STATUS,
-    /*!
-     * @if jp
-     *
-     * @brief ExecutionContextの状態
-     * 
-     * ExecutionContextの状態が変化したことを示す列挙子。
-     *
-     * RTCにECが attach/detach/rate_change/startup/shutdown されたことを
-     * 示す列挙子。
-     *
-     * ComponentObserver::updatestatus() の hint には、
-     * attach/detach/rate_change/startup/shutdow のいずれが行われたかと、
-     * 対象となるECのidが与えられる。
-     *
-     * hint: (ATTACHED, DETACHED, RATE_CHANGED, STARTUP,
-     *        SHUTDOWN):<Execution Context ID>
-     *
-     * 例:
-     *   ATTACHED:1002 (ECがアタッチされ、そのIDは1002)
-     *
-     * @else
-     *
-     * @brief The stauts of ExecutionContext
-     * 
-     * This is enumerator notifies that ExecutionContext is
-     * attach/detach/rate_change/startup/shutdown.  Attach or detach
-     * operation and target ExecutionContext's id is given in the
-     * argument of ComponentObserver::updateStatus() 's hint.
-     *
-     * hint: (ATTACHED, DETACHED, RATE_CHANGED, STARTUP,
-     *        SHUTDOWN):<Execution Context ID>
-     *
-     * Example:
-     *   ATTACHED:1002 (EC is attached and its ID is 1002)
-     *
-     * @endif
-     */
-    EC_STATUS,
-    /*!
-     * @if jp
-     *
-     * @brief Portの状態
-     * 
-     * Portの状態が変化したことを示す列挙子。Portの追加、削除、接続、切
-     * 断が行われたことを示す。ComponentObserver::updatestatus() の
-     * hint には、いずれかのアクションが行われたかと、対象となるポート
-     * の名前が与えられる。
-     *
-     * hint: (ADD, REMOVE, CONNECT, DISCONNECT):<port name>
-     * 例:
-     *   CONNECT:velocity (velocity ポートで接続が確立された)
-     *
-     * @else
-     *
-     * @brief The stauts of ports
-     * 
-     * This is enumerator which notifies that port is added, removed,
-     * connected and/or disconnected.  Which action is performed and
-     * target port's name is given to the hint argument in
-     * ComponentObserver::updateStatus() operation.
-     *
-     * hint: (ADD, REMOVE, CONNECT, DISCONNECT):<port name>
-     * Example:
-     *   CONNECT:velocity (A connection established in the velocity port)
-     *
-     * @endif
-     */
-    PORT_PROFILE,
-    /*!
-     * @if jp
-     *
-     * @brief Configurationの状態
-     * 
-     * Configurationの状態が変化したことを示す列挙子。Configurationに対
-     * して、コンフィギュレーションパラメータが更新された
-     * (UPDATE_CONFIG_PARAM)、コンフィギュレーションがセット(更新)さ
-     * れた (SET_CONFIG_SET)、コンフィギュレーションセットが追加された
-     * (ADD_CONFIG_SET)、コンフィギュレーションが更新された
-     * (UPDATE_CONFIG_SET)、コンフィギュレーションセットが削除された
-     * (REMOVE_CONFIG_SET)、コンフィギュレーションセットがアクティブに
-     * された (ACTIVATE_CONFIG_SET) といったアクションがあったことが通
-     * 知される。
-     *
-     * - UPDATE_CONFIG_PARAM: <config set name>.<config param name>
-     *   - SDOPackage::Configuration::set_configuration_parameter
-     * - SET_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::set_configuration_set_values
-     * - ADD_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::add_configuration_set
-     * - UPDATE_CONFIG_SET: <config set name>
-     *   - 内部のコンフィグセットを実際の変数に反映する
-     * - REMOVE_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::remove_configuration_set
-     * - ACTIVATE_CONFIG_SET:  <config set name>
-     *   - SDOPackage::Configuration::activate_configuration_set
-     * 
-     * @else
-     *
-     * @brief The stauts of ports
-     * 
-     * This is enumerator which notifies that configuration is
-     * changed.  To the configuration, a configuration parameter has
-     * been updated (UPDATE_CONFIG_PARAM), a configuration-set is set
-     * (SET_CONFIG_SET), a configuration set has been updated
-     * (UPDATE_CONFIG_SET), a configuration set has been added
-     * (ADD_CONFIG_SET) or removed (REMOVE_CONFIG_SET), the active
-     * configuration set has been changed (ACTIVATE_CONFIG_SET), these
-     * actions would be notified.
-     *
-     * - UPDATE_CONFIG_PARAM: <config set name>.<config param name>
-     *   - SDOPackage::Configuration::set_configuration_parameter
-     * - SET_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::set_configuration_set_values
-     * - ADD_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::add_configuration_set
-     * - UPDATE_CONFIG_SET: <config set name>
-     *   - Apply configuration-set values into actual variables.
-     * - REMOVE_CONFIG_SET: <config set name>
-     *   - SDOPackage::Configuration::remove_configuration_set
-     * - ACTIVATE_CONFIG_SET:  <config set name>
-     *   - SDOPackage::Configuration::activate_configuration_set
-     *
-     * @endif
-     */
-    CONFIGURATION,
-    /*!
-     * @if jp
-     *
-     * @brief ハートビートイベント
-     * 
-     * 当該RTCが生存していることをオブザーバー側に通知する列挙子。
-     *
-     * ハートビートを利用するかどうか、およびハートビートの周期は、
-     * ServiceProfile::properties の以下のプロパティによって与えられる。
-     *
-     * heartbeat.enable: YES/NO
-     * heartbeat.interval: x [s]
-     * 
-     * @else
-     *
-     * @brief The stauts of ports
-     * 
-     * This enumerator is heart beat notification.
-     *
-     * Whether if the heart-beat function is used is specified in the
-     * ServiceProfile::properties as the following properties.
-     *
-     * heartbeat.enable: YES/NO
-     * heartbeat.interval: x [s]
-     *
-     * @endif
-     */
-    HEARTBEAT,
-
-    STATUS_KIND_NUM
-  };
-
-  /*!
-   * @if jp
-   *
-   * @interface ComponentObserver
-   * 
-   * RTCの各種状態の更新を知らせるためのオブザーバーオブジェクトのため
-   * のインターフェース。SDO Service として、対象となるRTC/SDOに対して
-   * アタッチされ、RTC/SDO内の状態が変更された場合に、変更された状態の
-   * 種類とヒントを同時に通知する。ツールなどで、ポーリングによらずRTC
-   * の状態の変化を知りたい場合などに利用する。
-   *
-   * 想定している利用方法は以下のとおりである。
-   *
-   * -# SDO::get_configuration() により Configuration オブジェクトを取得
-   * -# Configuration::add_service_profile() によりTool側の
-   *     ComponentObserver を ServiceProfile により RTC に与える。
-   *     ServiceProfile のメンバーは以下のように設定すること
-   *   - id: UUID など一意なIDを設定する。削除時にも必要になるので、Tool
-   *     側ではIDを保持しておかなければならない。
-   *   - interface_type: 当該サービスのIFRのIDを文字列として指定。RTC側で
-   *     はこの文字列により当該サービスオブジェクトを受け入れるか決定す
-   *     るため指定は必須となる。
-   *   - properties: RTC側のサービスの受け入れ側に通知するプロパティを設
-   *     定する。このサービスでは、下記の heartbeat 関連のプロパティを
-   *     指定する。
-   *    - service: SDOService オブジェクトの参照を指定する。
-   * -# RTC側で状態の変化があった場合に update_status() オペレーション
-   *     が StatusKind および hint の文字列とともに呼び出される。Tool側
-   *     では、StatusKind と hint に基づき RTC のある部分の状態が変化し
-   *     たことを知り、必要な処理を行う。
-   * -# 最終的にComponentObserverオブジェクトが不要になった場合には、
-   *     Configuration::remove_service_profile() を id とともに呼び出し
-   *     RTC から削除する。
-   *
-   * <pre>
-   * 
-   *   [RTC]    [Configuration]           [Observer]    [Tool]
-   *     |            |                       |            |
-   *     |            | get_configuration()   |            |
-   *     |<------------------------------------------------|
-   *     |            |                       |            |
-   *     |            | add_service_profile(prof)          |
-   *     |            |<-----------------------------------|
-   *     |            |                       |            |
-   *     |            | update_status(kind, hint)          |
-   *     |----------------------------------->|            |
-   *     |            | update_status(kind, hint)          |
-   *     |----------------------------------->|            |
-   *     |            |       :               |            |
-   *     |            |                       |            |
-   *     |            | remove_service_profile(id)         |
-   *     |            |<-----------------------------------|
-   *     |            |                       |            |
-   *     |            |                       x            x
-   *
-   * </pre>
-   *
-   * なお、ServiceProfile::properties に指定するプロパティとしては、
-   *
-   * - observed_status: ALL or kind of status
-   * - heartbeat.enable: YES/NO
-   * - heartbeat.interval: x [s]
-   * 
-   * がある。
-   * 
-   * - observed_staus: ALL または状態の種類をカンマ区切りで指定
-   *   監視する状態を指定する。指定可能な状態を表す文字列は、
-   *   COMPONENT_PROFILE, RTC_STATUS, EC_STATUS, PORT_PROFILE,
-   *   CONFIGURATION 5種類である。監視したい対象をカンマで区切り複数指
-   *   定することができる。また、すべての状態を監視する場合、ALL を指定
-   *   することができる。指定文字列は大文字、小文字を問わない。
-   *
-   * - heartbeat.interval: 秒単位で数値で指定
-   *   ハートビートを送信する周期を秒単位で指定する。なお、指定した秒数
-   *   でハートビートが必ず送信される保証はない。したがって、RTCが死ん
-   *   だかどうかを確認するには、heartbeat.interval 数回分の時間を待つ
-   *   必要がある。
-   *
-   * - heartbeat.enable: YES または NOで指定
-   *   Tool側では、状態に変化があるまで RTC が生存しているかどうか知る
-   *   ことはできないため、突然RTCが死んだ場合には、これを知ることがで
-   *   きない。そこで、HEART_BEAT イベントを周期的にRTC側から送らせるこ
-   *   とができる。ハートビートを有効にするか否かをこのオプションで指定
-   *   する。
-   * 
-   * 
-   * @else
-   *
-   * @interface ComponentObserver
-   * 
-   * This is an interface to notify various status changed in RTC to
-   * others.  This is attached into a target RTC/SDO as a SDO service,
-   * and if an RTC/SDO's status change, a kind of changed status and
-   * its hints are notified to observers.  For example, it can be used
-   * to notify RTC's status changed without polling in certain tools.
-   *
-   * An assumed usage is as follows.
-   *
-   * -# SDO::get_configuration() is called to get a Configuration object
-   *
-   * -# Configuration::add_service_profile() is called by Tool.
-   *     A ComponentObserver in a ServiceProfile is given to RTC.
-   *     ServiceProfile members should be set as follows.
-   *
-   *    - id: UUID and other unique ID should be specified. Since this ID
-   *      is used when the service is removed, tools should remember
-   *      this ID.
-   *
-   *    - interface_type: IFR ID should be specified here. Since the RTC
-   *      decides if the given SDO service object can be accepted by
-   *      using the interface_type string, this member is mandatory.
-   * 
-   *    - properties: This member specifies properties to be notified to
-   *      RTC side. In this service, the following heartbeat related
-   *      properties should be specified.
-   *
-   *    - service: SDOService object reference should be specified.
-   * 
-   * -# If some changes happen in RTC, the update_status() operation
-   *    is called with StatusKind and hint string. RTC's status change
-   *    is notified to tool and some processes would be performed by
-   *    the tool according to the StatusKind and hint.
-   *
-   * -# Finally, When the ComponentObserver object becomes
-   *     unnecessary, Configuration::remove_service_profile() is called
-   *     with id and it is removed from RTC.
-   *
-   * <pre>
-   * 
-   *   [RTC]    [Configuration]           [Observer]    [Tool]
-   *     |            |                       |            |
-   *     |            | get_configuration()   |            |
-   *     |<------------------------------------------------|
-   *     |            |                       |            |
-   *     |            | add_service_profile(prof)          |
-   *     |            |<-----------------------------------|
-   *     |            |                       |            |
-   *     |            | update_status(kind, hint)          |
-   *     |----------------------------------->|            |
-   *     |            | update_status(kind, hint)          |
-   *     |----------------------------------->|            |
-   *     |            |       :               |            |
-   *     |            |                       |            |
-   *     |            | remove_service_profile(id)         |
-   *     |            |<-----------------------------------|
-   *     |            |                       |            |
-   *     |            |                       x            x
-   *
-   * </pre>
-   *
-   * Properties which is specified in ServiceProfile::properties is as follows.
-   *
-   * - observed_status: ALL or kind of status
-   * - heartbeat.enable: YES/NO
-   * - heartbeat.interval: x [s]
-   * 
-   *
-   * - observed_staus: ALL or comma separated status kinds This
-   *   property specifies kind of status to be observed. Available
-   *   kind of statuses are COMPONENT_PROFILE, RTC_STATUS, EC_STATUS,
-   *   PORT_PROFILE, CONFIGURATION. You can specify comma-separated
-   *   status list to be observed. And if you want to observe all the
-   *   status, you just specify ALL instead of all the status kind
-   *   list. Uppercase, lowercase and mixture are allowed in the
-   *   specified status kind.
-   *
-   * - heartbeat.enable: YES or NO
-   *
-   *   Since tools cannot know whether the RTC is alive or not until
-   *   status change happens, if the RTC suddenly died, the tools
-   *   cannot know it forever. To eliminate this problems, Observer
-   *   object can send periodic heartbeat signals to observers. The
-   *   heartbeat.enable option specifies whether the functionality is
-   *   activated or not.
-   *
-   * - heartbeat.interval: Heartbeat interval should be specified in
-   *   seconds.  This specification does not guarantee that heartbeat
-   *   signals precisely send back to observer. Therefore if you need
-   *   to decide whether an RTC died or not, you have to wait for
-   *   several heartbeat signals.
-   *
-   * @endif
-   */
-  interface ComponentObserver
-    : SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     *
-     * @brief 状態が更新されたことを知らせる
-     * 
-     * 状態が更新されたことを知らせるオペレーション。status_kind によっ
-     * て更新された状態の種類、hint によってどのような状態が変更された
-     * かに関するヒントが与えられる。
-     *
-     * @param status_kind: StatusKind 型の状態の種類
-     * @param hint; StatusKind 毎に決まる状態変更に関するヒント
-     *
-     * @else
-     *
-     * @brief Notifies the status updated
-     *
-     * This operation notifies the updated status. The status_kind
-     * notifies kind of updated status, and the hint give some hint
-     * about updated status.
-     *
-     * @endif
-     */
-    oneway void update_status(in StatusKind status_kind, in string hint);
-  };
-
-};

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/DataPort.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/DataPort.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/DataPort.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,48 +0,0 @@
-// -*- IDL -*-
-/*!
- * @file DataPort.idl
- * @brief DataPort interface definition
- * @date $Date: 2007-01-09 15:40:14 $
- * @author Noriaki Ando <n-ando at aist.go.jp>
- *
- * Copyright (C) 2006
- *     Noriaki Ando
- *     Task-intelligence Research Group,
- *     Intelligent Systems Research Institute,
- *     National Institute of
- *         Advanced Industrial Science and Technology (AIST), Japan
- *
- *     All rights reserved.
- *
- * $Id: DataPort.idl 1597 2009-12-22 02:26:17Z n-ando $
- *
- */
-
-#ifndef DataInPort_idl
-#define DataInPort_idl
-
-module OpenRTM
-{
-  enum PortStatus
-  {
-    PORT_OK,
-    PORT_ERROR,
-    BUFFER_FULL,
-    BUFFER_EMPTY,
-    BUFFER_TIMEOUT,
-    UNKNOWN_ERROR
-  };
-
-  typedef sequence<octet> CdrData;
-
-  interface InPortCdr
-  {
-    PortStatus put(in CdrData data);
-  };
-
-  interface OutPortCdr
-  {
-    PortStatus get(out CdrData data);
-  };
-};
-#endif

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/OpenRTM.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/OpenRTM.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/OpenRTM.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,64 +0,0 @@
-// -*- IDL -*-
-/*!
- * @file OpenRTM.idl
- * @brief OpenRTM interface definition
- * @date $Date: 2007-09-21 09:19:33 $
- * @author Noriaki Ando <n-ando at aist.go.jp>
- *
- * Copyright (C) 2007
- *     Task-intelligence Research Group,
- *     Intelligent Systems Research Institute,
- *     National Institute of
- *         Advanced Industrial Science and Technology (AIST), Japan
- *     All rights reserved.
- *
- * $Id: OpenRTM.idl 1338 2009-05-18 05:58:25Z n-ando $
- *
- */
-
-#include "RTC.idl"
-
-#pragma prefix "openrtm.aist.go.jp"
-
-module OpenRTM
-{
-
-  interface DataFlowComponent
-    : RTC::RTObject, RTC::DataFlowComponent
-  {
-  };
-
-//  interface FiniteStateMachineComponent
-//    : RTC::RTObject, RTC::FsmParticipant
-//  {
-//  };
-//
-//  interface DataFlowFiniteStateMachineComponent
-//    : RTC::RTObject, RTC::DataFlowComponent, RTC::FsmParticipant
-//  {
-//  };
-//
-//  interface DataFlowMultiModeComponent
-//    : RTC::RTObject, RTC::DataFlowComponent, RTC::MultiModeObject
-//  {
-//  };
-//
-//  interface FiniteStateMachineMultiModeComponent
-//    : RTC::RTObject, RTC::FsmParticipant, RTC::MultiModeObject
-//  {
-//  };
-//
-//  interface DataFlowFiniteStateMachineMultiModeComponent
-//    : RTC::RTObject, RTC::DataFlowComponent,
-//    RTC::FsmParticipant, RTC::MultiModeObject
-//  {
-//  };
-
-
-  interface ExtTrigExecutionContextService
-    : RTC::ExecutionContextService
-  {
-    void tick();
-  };
-
-};

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/RTC.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/RTC.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/RTC.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,2649 +0,0 @@
-// RTC.idl
-
-#include "SDOPackage.idl"
-
-#pragma prefix "omg.org"
-
-#define EXECUTION_HANDLE_TYPE_NATIVE long
-
-module RTC
-{
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContextHandle_t
-   *
-   * @section Description
-   *
-   * This data type represents the association between an RTC and an
-   * ExecutionContext in which it participates.
-   * 
-   * @section Semantics
-   *
-   * This is an opaque DataType. It has no attributes or operations.
-   *
-   * @endif
-   */
-  typedef EXECUTION_HANDLE_TYPE_NATIVE ExecutionContextHandle_t;
-
-  typedef SDOPackage::UniqueIdentifier UniqueIdentifier;
-  typedef SDOPackage::NVList NVList;
-  
-  /*!
-   * @if jp
-   * @brief ReturnCode_t
-   *
-   * OMG RTC 1.0 仕様中の多くのオペレーションは、クラインとに対して考え
-   * られるエラー状態を報告する必要がある。これは、ReturnCode_t型の所謂
-   * リターンコードにより行われる。
-   *
-   * OMG RTC 1.0 の PIM 内において、ReturnCode_t型の値を返さないオペレーションは
-   * それらの戻り値の型に依存して、次の方法によりエラーを報告するものとする。
-   * -オペレーションが正数値を返す場合 (OMG RTC 1.0 Section 5.2.2.6.4 の
-   *  get_rateのように)、負数値を返すことによりエラーを示すものとする。
-   * - オペレーションがオブジェクトリファレンス(RTObject::get_component_profile
-   *   OMG RTC 1.0 5.4.2.2.1を参照) を通常返す場合、nil参照を返すことにより
-   *   エラーを示すものとする。
-   *
-   * @else
-   * @brief ReturnCode_t
-   *
-   * A number of operations in this specification will need to report
-   * potential error conditions to their clients. This task shall be
-   * accomplished by means of operation "return codes" of type
-   * ReturnCode_t
-   *
-   * Operations in the PIM that do not return a value of type
-   * ReturnCode_t shall report errors in the following ways, depending
-   * on their return type:
-   * - If an operation normally returns a positive numerical value (such as
-   *   get_rate, see [OMG RTC 1.0 Section 5.2.2.6.4]), it shall indicate
-   *   failure by returning a negative value.
-   * - If an operation normally returns an object reference (such as
-   *   RTObject::get_component_profile, see [OMG RTC 1.0 Section 5.4.2.2.1]),
-   *   it shall indicate failure by returning a nil reference.
-   *
-   * @param RTC_OK The operation completed successfully.
-   * @param RTC_ERROR The operation failed with a generic, unspecified error.
-   * @param BAD_PARAMETER The operation failed because an illegal argument was
-   *        passed to it.
-   * @param UNSUPPORTED The operation is unsupported by the implementation
-   *        (e.g., it belongs to a compliance point that is not implemented).
-   * @param OUT_OF_RESOURCES The target of the operation ran out of the
-   *        resources needed to complete the operation.
-   * @param PRECONDITION_NOT_MET A pre-condition for the operation was not met.
-   *
-   * @endif
-   */
-  enum ReturnCode_t
-  {
-    RTC_OK,
-    RTC_ERROR,
-    BAD_PARAMETER,
-    UNSUPPORTED,
-    OUT_OF_RESOURCES,
-    PRECONDITION_NOT_MET
-  };
-
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief LifeCycleState
-   *
-   * @section Description
-   * LifeCycleState is an enumeration of the states in the lifecycle above.
-   *
-   * @endif
-   */
-  enum LifeCycleState
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief CREATED
-     *
-     * @section Description
-     *
-     * The RTC object has been instantiated but not yet fully initialized.
-     * @endif
-     */
-    CREATED_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief INACTIVE
-     *
-     * @section Description
-     *
-     * The RTC is Alive but is not being invoked in any execution
-     * context (see Section 5.2.2.5), regardless of whether the context
-     * is Running or not.
-     *
-     * @section Semantics
-     *
-     * An instance of this state exists for each execution context in
-     * which the RTC participates. If the RTC does not participate in
-     * any execution context, a single instance of this state exists.
-     *
-     * @endif
-     */
-    INACTIVE_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ACTIVE
-     *
-     * @section Description
-     *
-     * The RTC is Alive and will be invoked in the execution context
-     * if the context is Running.
-     *
-     * @section Semantics
-     * 
-     * An instance of this state exists for each execution context in
-     * which the RTC participates. If the RTC does not participate in
-     * any execution context, this state shall never be observed.
-     *
-     * @endif
-     */
-    ACTIVE_STATE,
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ERROR
-     *
-     * @section Description
-     *
-     * The RTC has encountered a problem in a given execution context
-     * and cannot continue functioning in that context without being
-     * reset.
-     *
-     * @endif
-     */
-    ERROR_STATE
-  };
-  
-  interface ExecutionContext;
-  typedef sequence<ExecutionContext> ExecutionContextList;
-
-  /*!
-   * @if jp
-   * @brief
-   * @else
-   * @brief ComponentAction
-   *
-   * @section Description
-   *
-   * The ComponentAction interface provides callbacks corresponding to
-   * the execution of the lifecycle operations of LightweightRTObject
-   * (see Section 5.2.2.2) and ExecutionContext (see Section
-   * 5.2.2.5). An RTC developer may implement these callback
-   * operations in order to execute application-specific logic
-   * pointing response to those transitions.
-   *
-   * @section Semantics
-   *
-   * Clients of an RTC are not expected to invoke these operations
-   * directly; they are provided for the benefit of the RTC middleware
-   * implementation.
-   *
-   * @endif
-   */
-  interface ComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_initialize
-     *
-     * @section Description
-     *
-     * The RTC has been initialized and entered the Alive state.
-     *
-     * @section Semantics
-     *
-     * Any RTC-specific initialization logic should be performed here.
-     *
-     * @endif
-     */
-    ReturnCode_t on_initialize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_finalize
-     *
-     * @section Description
-     *
-     * The RTC is being destroyed.
-     *
-     * @section Semantics
-     *
-     * Any final RTC-specific tear-down logic should be performed here.
-     *
-     * @endif
-     */
-    ReturnCode_t on_finalize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_startup
-     *
-     * @section Description
-     *
-     * The given execution context, in which the RTC is participating,
-     * has transitioned from Stopped to Running.
-     *
-     * @endif
-     */
-    ReturnCode_t on_startup(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_shutdown
-     *
-     * @section Description
-     *
-     * The given execution context, in which the RTC is participating,
-     * has transitioned from Running to Stopped.
-     *
-     * @endif
-     */
-    ReturnCode_t on_shutdown(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_activated
-     *
-     * @section Description
-     *
-     * The RTC has been activated in the given execution context.
-     *
-     * @endif
-     */
-    ReturnCode_t on_activated(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_deactivated
-     *
-     * @section Description
-     *
-     * The RTC has been deactivated in the given execution context.
-     *
-     * @endif
-     */
-    ReturnCode_t on_deactivated(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_aborting
-     *
-     * @section Description
-     *
-     * The RTC is transitioning from the Active state to the Error
-     * state in some execution context.
-     *
-     * @section Semantics
-     *
-     * This callback is invoked only a single time for time that the
-     * RTC transitions into the Error state from another state. This
-     * behavior is in contrast to that of on_error.  
-     *
-     * @endif
-     */
-    ReturnCode_t on_aborting(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_error
-     *
-     * @section Description
-     *
-     * The RTC remains in the Error state.
-     *
-     * @section Semantics
-     *
-     * If the RTC is in the Error state relative to some execution
-     * context when it would otherwise be invoked from that context
-     * (according to the context’s ExecutionKind), this callback
-     * shall be invoked instead. For example,
-     *
-     * - If the ExecutionKind is PERIODIC, this operation shall be
-     *   invoked in sorted order at the rate of the context instead of
-     *   DataFlowComponentAction::on_execute and on_state_update.
-     *
-     * - If the ExecutionKind is EVENT_DRIVEN, this operation shall be
-     *   invoked whenever FsmParticipantAction::on_action would
-     *   otherwise have been invoked.
-     *
-     * @endif
-     */
-    ReturnCode_t on_error(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_reset
-     *
-     * @section Description
-     *
-     * The RTC is in the Error state. An attempt is being made to
-     * recover it such that it can return to the Inactive state.
-     *
-     * @section Semantics
-     *
-     * If the RTC was successfully recovered and can safely return to
-     * the Inactive state, this method shall complete with
-     * ReturnCode_t::OK. Any other result shall indicate that the RTC
-     * should remain in the Error state.
-     *
-     * @endif
-     */
-    ReturnCode_t on_reset(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief LightweightRTObject
-   * 
-   * @section Description
-   *
-   * This interface is realized by all lightweight RTCs (as required
-   * by the lightweightRTComponent stereotype). It defines the states
-   * and transitions through which all RTCs will pass from the time
-   * they are created until the time they are destroyed.
-   *
-   * @section Semantics
-   * @subsection Initialization
-   *
-   * An RTC begins in the Created state; at this point, it has been
-   * instantiated but not yet fully initialized. Note that this state
-   * is highly implementation-dependent. For example, it may
-   * correspond to the invocation of a constructor in languages that
-   * support that concept, but not all languages do. Furthermore, how
-   * soon this state is entered before initialize is invoked is
-   * implementation-dependent. Therefore, it should be relied on by
-   * RTC implementers only to the minimum extent possible.  An RTC
-   * that has completed its initialization and has not been finalized
-   * is said to be Alive.
-   *
-   * @subsection Execution Context
-   *
-   * An RTC in the Alive state may participate in any number of
-   * execution contexts (see Section 5.2.2.5 ). These contexts shall
-   * be represented to an RTC as distinct instances of the
-   * ExecutionContext class. The ExecutionContext manages the behavior
-   * of each RTC that participates in it. This relationship is defined
-   * by the following state machine, which is embedded within the
-   * ExecutionContext's own lifecycle (see Figure 5.5 ). Each
-   * participating RTC is represented as a separate parallel region.
-   *
-   * Relative to a given execution context, an RTC may either be
-   * Active, Inactive, or in Error. When the RTC is Active in a
-   * Running execution context, the ComponentAction callbacks (see
-   * Section 5.2.2.4) shall be invoked as appropriate for the context’
-   * s ExecutionKind. The callbacks shall not be invoked relative to
-   * that context when either the RTC is Inactive in that context or
-   * the context is Stopped. (Note that starting and stopping an
-   * execution context shall not impact whether its participating RTCs
-   * are Active or Inactive.)  It may be that a given RTC does not
-   * directly participate in any execution contexts. Such an RTC is
-   * referred to as passive.  A passive RTC may provide services to
-   * other components upon request. At any other time, it shall not be
-   * required to perform any ongoing activity of its own; therefore,
-   * instances of such an RTC typically exist only as parts (directly
-   * or indirectly) of a containing active RTC.
-   *
-   * @subsection Error Handling
-   *
-   * If an operation fails while the RTC is Active in a given
-   * execution context, the RTC will transition to the Error state
-   * corresponding to that context. While the RTC is in Error, the
-   * ComponentAction::on_error callback will be invoked in place of
-   * those callbacks that would otherwise have been invoked according
-   * to the context’s ExecutionKind. For example, if the kind is
-   * PERIODIC, on_error shall be invoked instead of the pair of
-   * on_execute, and on_state_update.  When an RTC is in Error, it may
-   * be reset. If resetting is successful, the RTC shall return to the
-   * Inactive state. If resetting is unsuccessful, it shall remain in
-   * the Error state.
-   * 
-   * @endif
-   */
-  interface LightweightRTObject
-    : ComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief initialize
-     *
-     * @section Description
-     * Initialize the RTC that realizes this interface.
-     *
-     * @section Semantics
-     * The invocation of this operation shall result in the invocation
-     * of the callback ComponentAction::on_initialize.
-     *
-     * @section Constraints
-     *
-     * - An RTC may be initialized only while it is in the Created
-     *   state. Any attempt to invoke this operation while in another
-     *   state shall fail with ReturnCode_t::PRECONDITION_NOT_MET.
-     * - Application developers are not expected to call this operation
-     *   directly; it exists for use by the RTC infrastructure.
-     *
-     * @endif
-     */
-    ReturnCode_t initialize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief finalize
-     *
-     * @section Description
-     *
-     * Finalize the RTC that realizes this interface, preparing it for
-     * destruction.
-     *
-     * @section Semantics
-     *
-     * This invocation of this operation shall result in the
-     * invocation of the callback ComponentAction::on_finalize
-     *
-     * @section Constraints
-     *
-     * - An RTC may not be finalized while it is participating in any
-     *   execution context. It must first be removed with
-     *   ExecutionContextOperations::remove_component. Otherwise, this
-     *   operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET. See Figure 5.9.
-     *
-     * - An RTC may not be finalized while it is in the Created state. Any
-     *   attempt to invoke this operation while in that state shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - Application developers are not expected to call this operation
-     *   directly; it exists for use by the RTC infrastructure.
-     *
-     * @endif
-     */
-    ReturnCode_t finalize();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief is_alive
-     * 
-     * @section Description
-     *
-     * A component is alive or not regardless of the execution context
-     * from which it is observed. However, whether or not it is
-     * Active, Inactive, or in Error is dependent on the execution
-     * context(s) (see Figure 5.7) in which it is running. That is, it
-     * may be Active in one context but Inactive in
-     * another. Therefore, this operation shall report whether this
-     * RTC is either Active, Inactive, or in Error; which of those
-     * states a component is in with respect to a particular context
-     * may be queried from the context itself.
-     *
-     * @endif
-     *
-     */
-    boolean is_alive(in ExecutionContext exec_context);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief exit
-     *
-     * @section Description
-     *
-     * Stop the RTC’s execution context(s) and finalize it along with
-     * its contents.
-     *
-     * @section Semantics
-     *
-     * Any execution contexts for which the RTC is the owner shall be
-     * stopped.  If the RTC participates in any execution contexts
-     * belonging to another RTC that contains it, directly or
-     * indirectly (i.e., the containing RTC is the owner of the
-     * ExecutionContext), it shall be deactivated in those contexts.
-     * After the RTC is no longer Active in any Running execution
-     * context, it and any RTCs contained transitively within it shall
-     * be finalized.
-     *
-     * @section Constraints
-     *
-     * An RTC cannot be exited if it has not yet been initialized. Any
-     * attempt to exit an RTC that is in the Created state shall fail
-     * with ReturnCode_t::PRECONDITION_NOT_MET.  
-     *
-     * @endif
-     */
-    ReturnCode_t exit();
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief attach_context
-     *
-     * @section Description
-     *
-     * Inform this RTC that it is participating in the given execution
-     * context. Return a handle that represents the association of
-     * this RTC with the context.
-     *
-     * @section Semantics
-     *
-     * This operation is intended to be invoked by
-     * ExecutionContextOperations::add_component (see Section
-     * 5.2.2.6.6). It is not intended for use by other clients.
-     *
-     * @endif
-     */
-    ExecutionContextHandle_t attach_context(in ExecutionContext exec_context);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief detach_context
-     * @section Description
-     * 
-     * Inform this RTC that it is no longer participating in the given
-     * execution context.
-     *
-     * @section Semantics
-     * 
-     * This operation is intended to be invoked by
-     * ExecutionContextOperations::remove_component (see Section
-     * 5.2.2.6.7). It is not intended for use by other clients.
-     *
-     * @section Constraints
-     *
-     * - This operation may not be invoked if this RTC is not already
-     *   participating in the execution context. Such a call shall fail
-     *   with ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - This operation may not be invoked if this RTC is Active in
-     *   the indicated execution context. Otherwise, it shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t detach_context(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_context
-     *
-     * @section Description
-     *
-     * Obtain a reference to the execution context represented by the
-     * given handle.
-     *
-     * @section Semantics
-     *
-     * The mapping from handle to context is specific to a particular
-     * RTC instance. The given handle must have been obtained by a
-     * previous call to attach_context on this RTC.
-     *
-     * @endif
-     */
-    ExecutionContext get_context(in ExecutionContextHandle_t exec_handle);
-
-    /*!
-     * @if jp
-     * @brief get_owned_contexts
-     *
-     * @section Description 
-     *
-     * この RTC が所有する ExecutionContext のリストを取得する。
-     * 
-     * @else
-     * @brief get_owned_contexts
-     *
-     * @section Description 
-     *
-     * This operation returns a list of all execution contexts owned
-     * by this RTC.
-     *
-     * @endif
-     */
-    ExecutionContextList get_owned_contexts();
-
-    /*!
-     * @if jp
-     * @brief get_participating_contexts
-     *  
-     * @section Description
-     *
-     * この RTC が参加しているすべての ExecutionContext のリストを取得する。
-     *
-     * @section Semantics
-     *
-     * このリストに含まれる実行コンテキストは、attach_context が呼び出
-     * されるごとに、リストに追加され、detach_context が呼び出されるご
-     * とに、リストから削除される。
-     *
-     * @else
-     * @brief* get_participating_contexts
-     *
-     * @section Description
-     *
-     * This operation returns a list of all execution contexts in
-     * which this RTC participates.
-     *
-     * @section Semantics
-     *
-     * Each call to attach_context causes the provided context to be
-     * added to this list. Each call to detach_context causes the
-     * provided context to be removed from this list.
-     *
-     * @endif
-     */
-    ExecutionContextList get_participating_contexts();
-    
-    /*!
-     * @if jp
-     * ### [誤植] RTC.idl には含まれていないがPIMには含まれている。
-     * ### PIMが正しい。
-     *
-     * @brief 
-     * @else
-     * @brief get_context_handle
-     *
-     * @section Description
-     * 
-     * This operation returns a handle that is associated with the given
-     * execution context.
-     *
-     * @endif
-     */
-    ExecutionContextHandle_t get_context_handle(in ExecutionContext cxt);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionKind
-   * 
-   * @sectioni Description
-   *
-   * The ExecutionKind enumeration defines the execution semantics
-   * (see Section 5.3) of the RTCs that participate in an execution
-   * context.
-   *
-   * @endif
-   */
-  enum ExecutionKind
-  {
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief PERIODIC
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to periodic
-     * sampled data semantics (see Section 5.3.1).
-     * 
-     * @endif
-     */
-    PERIODIC,
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief EVENT_DRIVEN
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to stimulus
-     * response semantics (see Section 5.3.2).
-     * 
-     * @endif
-     */
-    EVENT_DRIVEN,
-    /*!
-     * @if jp
-     * @brief 
-     *
-     * @else
-     * @brief OTHER
-     *
-     * @section Description
-     *
-     * The participant RTCs are executing according to some semantics
-     * not defined by this specification.
-     * 
-     * @endif
-     */
-    OTHER
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContext
-   *
-   * @section Description
-   *
-   * An ExecutionContext allows the business logic of an RTC to be
-   * decoupled from the thread of control in which it is executed. The
-   * context represents a logical thread of control and is provided to
-   * RTCs at runtime as an argument to various operations, allowing
-   * them to query and modify their own state, and that of other RTCs
-   * executing within the same context, in the lifecycle.  This
-   * separation of concerns is important for two primary reasons:
-   *
-   * - Large number of components may collaborate tightly within a
-   * single node or process. If each component were to run within its
-   * own thread of control, the infrastructure may not be able to
-   * satisfy the timeliness and determinism requirements of real-time
-   * applications due to the large number of threads and the required
-   * synchronization between them.
-   *
-   * - A single application may carry out a number of independent
-   * tasks that require different execution rates. For example, it may
-   * need to sample a sensor periodically at a very high rate and update a
-   * user interface at a much lower rate.
-   *
-   * @section Semantics
-   *
-   * The state machine of an ExecutionContext has two parts. The
-   * behavior of the ExecutionContext itself is defined by the upper
-   * region in the above figure. The behavior of the RTCs that
-   * participate in the context is defined by the lower region. The
-   * contents of that region are displayed in more detail in Figure
-   * 5.5 in Section 5.2.2.2.  Ownership and Participation Each
-   * execution context is owned by a single RTC and may be used to
-   * execute that RTC and the RTCs contained within it, directly or
-   * indirectly. An RTC that owns one or more execution contexts is
-   * known as an autonomous RTC.  An autonomous RTC and some subset of
-   * the RTCs within it (to be defined by the application developer)
-   * shall be executed by the infrastructure according to the context’
-   * s execution kind, which defines when each RTC’s operations will
-   * be invoked when and in which order. These RTCs are said to
-   * participate in the context. The available execution kinds are
-   * described in Section 5.2.2.7.  The relationship between RTCs and
-   * execution contexts may be many-to-many in the general case:
-   * multiple RTCs may be invoked from the same execution context, and
-   * a single RTC may be invoked from multiple contexts. In the case
-   * where multiple RTCs are invoked from the same context, starting
-   * or stopping the context shall result in the corresponding
-   * lifecycle transitions for all of those components.
-   *
-   * @section Logical and Physical Threads
-   *
-   * Although an execution context represents a logical thread of
-   * control, the choice of how it maps to a physical thread shall be
-   * left to the application’s deployment
-   * environment. Implementations may elect to associate contexts with
-   * threads with a one-to-one mapping, to serve multiple contexts
-   * from a single thread, or by any other means. In the case where a
-   * given RTC may be invoked from multiple contexts, concurrency
-   * management is implementation-dependent.
-   *
-   * @endif
-   */
-  interface ExecutionContext
-  {
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief is_running
-     * @section Description
-     *
-     * This operation shall return true if the context is in the
-     * Running state.
-     *
-     * @section Semantics
-     *
-     * While the context is Running, all Active RTCs participating in
-     * the context shall be executed according to the context’s
-     * execution kind.  
-     *
-     * @endif
-     */
-    boolean is_running();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     *
-     * @brief start
-     *
-     * @section Description
-     *
-     * Request that the context enter the Running state. Once the
-     * state transition occurs, the ComponentAction::on_startup
-     * operation (see Section 5.2.2.4.3) will be invoked.  @section *
-     *
-     * @section Semantics
-     *
-     * An execution context may not be started
-     * until the RT components that participate in it have been
-     * initialized. An execution context may be started and stopped
-     * multiple times.
-     *
-     * @section Constraints
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if the context is not in the
-     * Stopped state.
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if any of the participating
-     * components are not in their Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t start();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief stop
-     *
-     * @section Description
-     *
-     * Request that the context enter the Stopped state. Once the
-     * transition occurs, the ComponentAction::on_shutdown operation
-     * (see Section 5.2.2.4.4) will be invoked.
-     *
-     * @section Semantics
-     *
-     * An execution context must be stopped before the RT components
-     * that participate in it are finalized.
-     *
-     * An execution context may be started and stopped multiple times.
-     *
-     * @section Constraints
-     *
-     * - This operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET if the context is not in the
-     * Running state.
-     *
-     * @endif
-     */
-    ReturnCode_t stop();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_rate
-     *
-     * @section Description
-     *
-     * This operation shall return the rate (in hertz) at which its
-     * Active participating RTCs are being invoked.
-     *
-     * @section Semantics
-     *
-     * An implementation is permitted to perform some periodic or
-     * quasi-periodic processing within an execution context with an
-     * ExecutionKind other than PERIODIC. In such a case, the result
-     * of this operation is implementation-defined. If no periodic
-     * processing of any kind is taking place within the context, this
-     * operation shall fail as described in Section 5.2.1.
-     *
-     * @section Constraints
-     *
-     * - If the context has an ExecutionKind of PERIODIC, this
-     *   operation shall return a rate greater than zero.
-     *
-     * @endif
-     */
-    double get_rate();
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_rate
-     *
-     * @section Description
-     *
-     * This operation shall set the rate (in hertz) at which this
-     * context’s Active participating RTCs are being called.
-     *
-     * @section Semantics
-     *
-     * If the execution kind of the context is PERIODIC, a rate change
-     * shall result in the invocation of on_rate_changed on any RTCs
-     * realizing DataFlowComponentAction that are registered with any
-     * RTCs participating in the context.  An implementation is
-     * permitted to perform some periodic or quasi-periodic processing
-     * within an execution context with an ExecutionKind other than
-     * PERIODIC. If such is the case, and the implementation reports a
-     * rate from get_rate, this operation shall set that rate
-     * successfully provided that the given rate is valid. If no
-     * periodic processing of any kind is taking place within the
-     * context, this operation shall fail with
-     * ReturnCode_t::UNSUPPORTED.
-     *
-     * @section Constraints
-     *
-     * - The given rate must be greater than zero. Otherwise, this
-     * operation shall fail with ReturnCode_t::BAD_PARAMETER.
-     *
-     * @endif
-     */
-    ReturnCode_t set_rate(in double rate);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief add_component
-     *
-     * @section Description
-     *
-     * The operation causes the given RTC to begin participating in
-     * the execution context.
-     *
-     * @section Semantics
-     *
-     * The newly added RTC will receive a call to
-     * LightweightRTComponent::attach_context (see Section 5.2.2.2.5)
-     * and then enter the Inactive state. 
-     * 
-     * @section Constraints
-     * 
-     * - If the ExecutionKind of this context is PERIODIC, the RTC
-     * must be a data flow component (see Section 5.3.1.1).
-     * Otherwise, this operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET.
-     * 
-     * - If the ExecutionKind of this context is EVENT_DRIVEN, the RTC
-     * must be an FSM participant (see Section 5.3.2.3).  Otherwise,
-     * this operation shall fail with
-     * ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t add_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief remove_component
-     *
-     * @section Description
-     *
-     * This operation causes a participant RTC to stop participating
-     * in the execution context.
-     *
-     * @section Semantics
-     *
-     * The removed RTC will receive a call to
-     * LightweightRTComponent::detach_context (see Section 5.2.2.2.6).
-     *
-     * @section Constraints
-     *
-     * - If the given RTC is not currently participating in the
-     * execution context, this operation shall fail with
-     * ReturnCode_t::BAD_PARAMETER.
-     * 
-     * - An RTC must be deactivated before it can be removed from an
-     * execution context. If the given RTC is participating in the
-     * execution context but is still in the Active state, this
-     * operation shall fail with ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * @endif
-     */
-    ReturnCode_t remove_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief activate_component
-     *
-     * @section Description
-     *
-     * The given participant RTC is Inactive and is therefore not
-     * being invoked according to the execution context’s execution
-     * kind. This operation shall cause the RTC to transition to the
-     * Active state such that it may subsequently be invoked in this
-     * execution context.
-     *
-     * @section Semantics
-     *
-     * The callback on_activate shall be called as a result of calling
-     * this operation. This operation shall not return until the
-     * callback has returned, and shall result in an error if the
-     * callback does.  The following figure is a non-normative example
-     * sequence diagram for activate_component.
-     *
-     * @section Constraints
-     *
-     * - An execution context can only activate its participant
-     *   components. If the given RTC is not participating in the
-     *   execution context, this operation shall fail with
-     *   ReturnCode_t::BAD_PARAMETER.
-     *
-     * - An RTC that is in the Error state cannot be activated until
-     *   after it has been reset. If the given RTC is in the Error
-     *   state, this operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET.
-     *
-     * - This operation shall fail with ReturnCode_t::BAD_PARAMETER if
-     *   the given component is not in its Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t activate_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief deactivate_component
-     *
-     * @section Description
-     *
-     * The given RTC is Active in the execution context. Cause it to
-     * transition to the Inactive state such that it will not be
-     * subsequently invoked from the context unless and until it is
-     * activated again.
-     *
-     * @section Semantics
-     *
-     * The callback on_deactivate shall be called as a result of
-     * calling this operation. This operation shall not return until
-     * the callback has returned, and shall result in an error if the
-     * callback does.  The following figure is a non-normative example
-     * sequence diagram for deactivate_component.
-     *
-     * @section Constraints
-     *
-     * - An execution context can only deactivate its participant
-     * components. If the given RTC is not participating in the
-     * execution context, this operation shall fail with
-     * ReturnCode_t::BAD_PARAMETER.
-     *
-     * - This operation shall fail with ReturnCode_t::BAD_PARAMETER if
-     * the given component is not in its Alive state.
-     *
-     * @endif
-     */
-    ReturnCode_t deactivate_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief reset_component
-     *
-     * @section Description
-     *
-     * Attempt to recover the RTC when it is in Error.
-     *
-     * @section Semantics
-     *
-     * The ComponentAction::on_reset callback shall be invoked. This
-     * operation shall not return until the callback has returned, and
-     * shall result in an error if the callback does. If possible, the
-     * RTC developer should implement that callback such that the RTC
-     * may be returned to a valid state.  * If this operation fails,
-     * the RTC will remain in Error.
-     *
-     * @section Constraints
-     *
-     * - An RTC may only be reset in an execution context in which it
-     *   is in error. If the RTC is not in Error in the identified
-     *   context, this operation shall fail with
-     *   ReturnCode_t::PRECONDITION_NOT_MET. However, that failure shall
-     *   not cause the RTC to enter the Error state.
-     *
-     * - An RTC may not be reset while in the Created state. Any
-     *   attempt to invoke this operation while the RTC is in that state
-     *   shall fail with ReturnCode_t::PRECONDITION_NOT_MET. However,
-     *   that failure shall not cause the RTC to enter the Error state.
-     *
-     * @endif
-     */
-    ReturnCode_t reset_component(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_component_state
-     *
-     * @section Description
-     *
-     * This operation shall report the LifeCycleState of the given
-     * participant RTC.
-     *
-     * @section Constraints
-     *
-     * - The given RTC must be Alive.
-     *
-     * - The given RTC must be a participant in the target execution context.
-     *
-     * - The LifeCycleState returned by this operation shall be one of
-     *   LifeCycleState::INACTIVE, ACTIVE, or ERROR.
-     *
-     * @endif
-     */
-    LifeCycleState get_component_state(in LightweightRTObject comp);
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_kind
-     *
-     * @section Description
-     *
-     * This operation shall report the execution kind of the execution
-     * context.
-     *
-     * @endif
-     */
-    ExecutionKind get_kind();
-  };
-  
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief DataFlowComponentAction
-   *
-   * @section Description
-   *
-   * DataFlowComponentAction is a companion to ComponentAction (see
-   * Section 5.2.2.4) that provides additional callbacks for
-   * intercepting the two execution passes defined in Section
-   * 5.3.1.1.2.
-   *
-   * @endif
-   */
-  interface DataFlowComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_execute
-     * @section Description
-     *
-     * This operation will be invoked periodically at the rate of the
-     * given execution context as long as the following conditions
-     * hold:
-     *
-     * - The RTC is Active.
-     *
-     * - The given execution context is Running.
-     *
-     * @section Semantics
-     *
-     This callback occurs during the first execution pass.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     * @endif
-     */
-    ReturnCode_t on_execute(in ExecutionContextHandle_t exec_handle);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_state_update
-     *
-     * @section Description
-     *
-     * This operation will be invoked periodically at the rate of the
-     * given execution context as long as the following conditions hold:
-     *
-     * - The RTC is Active.
-     *
-     * - The given execution context is Running.
-     *
-     * @section Semantics
-     *
-     * This callback occurs during the second execution pass.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     *
-     * @endif
-     */
-    ReturnCode_t on_state_update(in ExecutionContextHandle_t exec_handle);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_rate_changed
-     *
-     * @section Description
-     *
-     * This operation is a notification that the rate of the indicated
-     * execution context (see Section 5.2.2.6.4) has changed.
-     *
-     * @section Constraints
-     *
-     * - The execution context of the given context shall be PERIODIC.
-     *
-     *
-     * @endif
-     */
-    ReturnCode_t on_rate_changed(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief dataFlowComponent
-   *
-   * @section Description
-   *
-   * The dataFlowComponent stereotype may be applied to a component
-   * type to indicate that its instances should be executed in sorted
-   * order by a periodic execution context.
-   *
-   * @section Constraints
-   *
-   * - An instance of a component extended by the dataFlowComponent
-   *   stereotype must participate in at least one * execution context
-   *   of kind PERIODIC, which shall also be used for the execution of
-   *   any contained data flow components.
-   *
-   * - A component extended by dataFlowComponent must realize the
-   *   interface DataFlowComponentAction.
-   *
-   *
-   * @endif
-   */
-  interface DataFlowComponent
-    : LightweightRTObject, DataFlowComponentAction
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief fsm
-   *
-   * @section Description
-   *
-   * Applying the fsm stereotype to a component implies the ability to
-   * define component-specific states and transitions.
-   *
-   * @section Semantics
-   *
-   * In creating a state machine such as is depicted in Figure 5.22,
-   * the RTC developer is implicitly defining the Active state to be a
-   * submachine state.  * The BehaviorStateMachines package described
-   * in [UML] is considered the normative definition of a state
-   * machine.
-   *
-   * @endif
-   */
-  interface Fsm
-    : LightweightRTObject
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmParticipantAction
-   *
-   * @section Description
-   *
-   * FsmParticipantAction is companion to ComponentAction (see Section
-   * 5.2.2.4) that is intended for use with FSM participant RTCs. It
-   * adds a callback for the interception of state transitions, state
-   * entries, and state exits.
-   *
-   * @endif
-   */
-  interface FsmParticipantAction
-  {
-    
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_action
-     *
-     * @section Description
-     *
-     * The indicated FSM participant RTC has been invoked as a result
-     * of a transition, state entry, or state exit in its containing
-     * FSM.
-     *
-     * @section Constraints
-     *
-     * - The given execution context shall be of kind EVENT_DRIVEN.
-        *
-     * @endif
-     */
-    ReturnCode_t on_action(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  interface FsmParticipant
-    : LightweightRTObject, FsmParticipantAction
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief Mode
-   *
-   * @section Description
-   *
-   * Each mode defined by a given RTC shall be represented by an
-   * instance of Mode.
-   *
-   * @endif
-   */
-  interface Mode
-  {
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ModeCapable
-   *
-   * @section Description
-   *
-   * The ModeCapable interface provides access to an object’s modes
-   * and a means to set the current mode.
-   *
-   * @section Semantics
-   *
-   * A given RTC may support multiple modes as well as multiple
-   * execution contexts. In such a case, a request for a mode change
-   * (e.g., from "cruise control on" to "cruise control off") may
-   * come asynchronously with respect to one or more of those
-   * execution contexts. The mode of an RTC may therefore be observed
-   * to be different from one execution context to another.  - A mode
-   * is pending in a given execution context when a mode change has
-   * been requested but the new mode has not yet been observed by that
-   * context.
-   *
-   * - The new mode has been committed in a given execution context
-   *   when the context finally observes the new mode.
-   *
-   * - The new mode has stabilized once it has been committed in all
-   *   execution contexts in which the RTC participates.
-   *
-   * Figure 5.26 depicts a state machine that describes mode
-   * changes. Each parallel region in the composite state Mode Pending
-   * represents an execution context. The trigger "sample" within
-   * that state is considered to have occurred: - …just before the
-   * next call to on_execute (see Section 5.3.1.2.1) in the case where
-   * immediate is false and the execution kind is PERIODIC, …
-   *
-   * - …just before the processing of the next stimulus in the case
-   *   where immediate is false and the execution kind is
-   *   EVENT_DRIVEN, or …- …immediately in all other cases.
-   *
-   * @endif
-   */
-  interface ModeCapable
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_default_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the mode in which the RTC shall be
-     * when no other mode has been set.
-     *
-     * @section Constraints
-     *
-     * - This operation shall not return nil.
-     *
-     * @endif
-     */
-    Mode get_default_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_current_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the last mode to have
-     * stabilized. If no mode has been explicitly set, the current
-     * mode shall be the default mode.
-     *
-     * @section Constraints
-     *
-     * - This operation shall never return nil.
-     *
-     * @endif
-     */
-    Mode get_current_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_current_mode_in_context
-     *
-     * @section Description
-     *
-     * This operation returns the current mode of the component as
-     * seen by the indicated execution context.
-     *
-     * @section Semantics
-     *
-     * The manner in which this property changes is described in Figure 5.26.
-     *
-     * @endif
-     */
-    Mode get_current_mode_in_context(in ExecutionContext exec_context);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_pending_mode
-     *
-     * @section Description
-     *
-     * This operation shall return the last mode to have been passed
-     * to set_mode that has not yet stabilized. Once the RTC’s mode
-     * has stabilized, this operation shall return nil.
-     *
-     * @endif
-     */
-    Mode get_pending_mode();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_pending_mode_in_context
-     *
-     * @section Description
-     *
-     * If the last mode to be requested by a call to set_mode is
-     * different than the current mode as seen by the indicated
-     * execution context (see get_current_mode_in_context), this
-     * operation returns the former. If the requested mode has already
-     * been seen in that context, it returns nil.
-     *
-     * @section Semantics
-     *
-     * See Figure 5.26 for a description of how the pending mode
-     * relates to the current mode within a given execution context.
-     *
-     * @endif
-     */
-    Mode get_pending_mode_in_context(in ExecutionContext exec_context);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_mode
-     *
-     * @section Description
-     *
-     * This operation shall request that the RTC change to the indicated mode.
-     *
-     * @section Semantics
-     *
-     * Usually, the new mode will be pending in each execution context
-     * in which the component executes until the next sample period
-     * (if the execution kind is PERIODIC); at that point it will
-     * become the current mode in that context and there will no
-     * longer be a pending mode. However, in some cases it is
-     * important for a mode change to take place immediately; for
-     * example, a serious fault has occurred and the component must
-     * enter an emergency mode to ensure fail-safe behavior in a
-     * safety-critical system. In such a case, immediate should be
-     * true and the mode change will take place in all contexts
-     * without waiting for the next sample period.
-     *
-     * @endif
-     */
-    ReturnCode_t set_mode(in Mode new_mode,
-			  in boolean immediate);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief MultiModeComponentAction
-   *
-   * MultiModeComponentAction is a companion to ComponentAction that
-   is realized by RTCs that support multiple modes.
-   *
-   * @endif
-   */
-  interface MultiModeComponentAction
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief on_mode_changed
-     *
-     * @section Description
-     *
-     * This callback is invoked each time the observed mode of a
-     * component has changed with respect to a particular execution
-     * context.
-     *
-     * @section Semantics
-     *
-     * If the context is PERIODIC, this callback shall come before the
-     * next call to on_execute (see Section 5.3.1.2.1) within that
-     * context.  The new mode can be retrieved with
-     * get_current_mode_in_context. If the result is the same as the
-     * result of get_current_mode, the mode has stabilized.
-     *
-     * @endif
-     */
-    ReturnCode_t on_mode_changed(in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  interface MultiModeObject
-    : LightweightRTObject, ModeCapable, MultiModeComponentAction
-  {
-  };
-  
-  interface RTObject;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortInterfacePolarity
-   *
-   * @section Description
-   *
-   * The PortInterfacePolarity enumeration identifies exposed
-   * interface instances as provided or required.  @endif
-   */
-  enum PortInterfacePolarity
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief PROVIDED
-     *
-     * @section Description
-     *
-     * The target interface is provided as an output by the target
-     * port.
-     *
-     * @endif
-     */
-    PROVIDED,
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief REQUIRED
-     *
-     * @section Description
-     *
-     * The target interface is required as an input by the target port.
-     *
-     * @endif
-     */
-    REQUIRED
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortInterfaceProfile
-   *
-   * @section Description
-   *
-   * PortInterfaceProfile describes an instance of a particular
-   * interface as it is exposed by a particular port. These objects
-   * are referred to below as the "target interface" and "target
-   * port" respectively.
-   *
-   * @endif
-   */
-  struct PortInterfaceProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief instance_name
-     *
-     * @section Description
-     *
-     * This attribute stores the name of the target interface instance.
-     *
-     * @endif
-     */
-    string instance_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief type_name
-     *
-     * @section Description
-     *
-     * This attribute stores the name of the target interface type.
-     *
-     * @endif
-     */
-    string type_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief polarity
-     *
-     * @section Description
-     *
-     * This attribute indicates whether the target interface instance
-     * is provided or required by the RTC.
-     *
-     * @endif
-     */
-    PortInterfacePolarity polarity;
-  };
-  
-  typedef sequence<PortInterfaceProfile> PortInterfaceProfileList;
-  
-  interface PortService;
-  typedef sequence<PortService> PortServiceList;
-  typedef sequence<RTObject> RTCList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ConnectorProfile
-   *
-   * @section Description
-   *
-   * The ConnectorProfile contains information about a connection
-   * between the ports of collaborating RTCs.
-   *
-   * @endif
-   */
-  struct ConnectorProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief name
-     *
-     * @section Description
-     *
-     * This attribute contains the name of this connection.
-     *
-     * @endif
-     */
-    string name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connector_id
-     *
-     * @section Description
-     *
-     * Each connector has a unique identifier that is assigned when
-     * connection is established. This attribute stores that
-     * identifier.
-     *
-     * @endif
-     */
-    UniqueIdentifier connector_id;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief ports
-     *
-     * @section Description
-     *
-     * This field stores references to all ports connected by the
-     * target connector.
-     *
-     * @endif
-     */
-    PortServiceList ports;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the connection.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular connection
-     * that are outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ConnectorProfile> ConnectorProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortProfile
-   *
-   * @section Description
-   *
-   * A PortProfile describes a port of an RTC (referred to as the
-   * "target" RTC). This port is referred to as the "target" port.
-   * From this profile, other components and tools can obtain Port’s
-   * name, type, object reference, and so on.
-   *
-   * @endif
-   */
-  struct PortProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief name
-     *
-     * @section Description
-     *
-     * This attribute contains the name of the target port.
-     *
-     * @section Semantics
-     *
-     * Ports owned by an RTC are distinguished by their
-     * names. Therefore, this name should be unique within the target
-     * RTC.
-     *
-     * @endif
-     */
-    string name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief interfaces
-     *
-     * @section Description
-     *
-     * This attribute contains the name and polarity of each interface
-     * exposed by the target port.
-     *
-     * @endif
-     */
-    PortInterfaceProfileList interfaces;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief port_ref
-     *
-     * @section Description
-     *
-     * This attributes contains a reference to the target port.
-     *
-     * @endif
-     */
-    PortService port_ref;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connector_profiles
-     *
-     * @section Description
-     *
-     * This attribute contains a collection of profiles describing the
-     * connections to the target port.
-     *
-     * @endif
-     */
-    ConnectorProfileList connector_profiles;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief owner
-     *
-     * @section Description
-     *
-     * This attribute contains a reference to the target RTC.
-     *
-     * @endif
-     */
-    RTObject owner;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the port.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular port that
-     * are otherwise outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<PortProfile> PortProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief 
-   * @endif
-   */
-  struct ExecutionContextProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief kind
-     *
-     * @section Description
-     *
-     * This attribute stores the context’s ExecutionKind.
-     *
-     * @endif
-     */
-    ExecutionKind kind;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief rate
-     *
-     * @section Description
-     *
-     * This attribute stores execution rate.
-     *
-     * @section Semantics
-     *
-     * If the execution kind is not PERIODIC, the value here may not
-     * be valid (and should be negative in that case). See
-     * ExecutionContext::get_rate (see Section 5.2.2.6.4) and set_rate
-     * (see Section 5.2.2.6.5) for more information.
-     *
-     * @endif
-     */
-    double rate;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief owner
-     *
-     * @section Description
-     *
-     * This attribute stores a reference to the RTC that owns the context.
-     *
-     * @endif
-     */
-    RTObject owner;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief participants
-     *
-     * @section Description
-     *
-     * This attribute stores references to the context’s participant RTCs.
-     *
-     * @endif
-     */
-    RTCList participants;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the execution
-     * context.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular execution
-     * context that are outside the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ExecutionContextProfile>
-  ExecutionContextProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmObject
-   *
-   * @section Description
-   *
-   * The FsmObject interface allows programs to send stimuli to a
-   * finite state machine, possibly causing it to change states.
-   *
-   * @endif
-   */
-  interface FsmObject
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief send_stimulus
-     *
-     * @section Description
-     *
-     * Send a stimulus to an FSM that realizes this interface.
-     *
-     * @section Semantics
-     *
-     * If the stimulus corresponds to any outgoing transition of the
-     * current state, that transition shall be taken and the state
-     * shall change. Any FSM participants associated with the exit of
-     * the current state, the transition to the new state, or the
-     * entry to the new state shall be invoked. If the stimulus does
-     * not correspond to any such transition, this operation shall
-     * succeed but have no effect.  
-     *
-     * If the given execution context is a non-nil reference to a
-     * context in which this FSM participates, the transition shall be
-     * executed in that context. If the argument is nil, the FSM shall
-     * choose an EVENT_DRIVEN context in which to execute the
-     * transition. If the argument is non-nil, but this FSM does not
-     * participate in the given context, this operation shall fail
-     * with * ReturnCode_t::BAD_PARAMETER.
-     *
-     * @section Constraints
-     *
-     * - The given execution context shall be of kind EVENT_DRIVEN.
-     *
-     * @endif
-     */
-    ReturnCode_t send_stimulus(in string message,
-			       in ExecutionContextHandle_t exec_handle);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmBehaviorProfile
-   *
-   * @section Description
-   *
-   * FsmBehaviorProfile represents the association of an FSM
-   * participant with a transition, state entry, or state exit in an
-   * FSM.
-   *
-   * @section Semantics
-   *
-   * The assignment of identifiers to particular transitions, state
-   * entries, or state exits is implementation-dependent.
-   *
-   * @endif
-   */
-  struct FsmBehaviorProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief action_component
-     *
-     * @section Description
-     *
-     * This attribute stores a reference to the FSM participant that
-     * is invoked when the containing Fsm receives a message
-     * distinguished by id.
-     *
-     * @endif
-     */
-    FsmParticipantAction action_component;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief id
-     *
-     * @section Description
-     *
-     * This attribute stores the message identifier.
-     *
-     * @endif
-     */
-    UniqueIdentifier id;
-  };
-  
-  typedef sequence<FsmBehaviorProfile> FsmBehaviorProfileList;
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmProfile
-   *
-   * @section Description
-   *
-   * The FsmProfile describes the correspondence between an FSM and
-   * its contained FSM participants. This Profile is necessary for
-   * Stimulus Response Processing.
-   *
-   * @endif
-   */
-  struct FsmProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief behavior_profiles
-     *
-     * @section Description
-     *
-     * This attribute lists the correspondences between an FSM and its
-     * contained FSM participants.
-     *
-     * @endif
-     */
-    FsmBehaviorProfileList behavior_profiles;
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief FsmService
-   *
-   * @section Description
-   *
-   * The FsmService interface defines operations necessary for
-   * Stimulus Response Processing as an SDO service.
-   *
-   * @endif
-   */
-  interface FsmService
-    : SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_fsm_profile
-     *
-     * @section Description
-     *
-     * Get the current state of the FSM.
-     *
-     * @section Semantics
-     *
-     * Modifications to the object returned by this operation will not
-     * be reflected in the FSM until and unless set_fsm_profile is
-     * called.
-     *
-     * @endif
-     */
-    FsmProfile get_fsm_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief set_fsm_profile
-     *
-     * @section Description
-     *
-     * This operation will be used to modify the behavior of an FSM as
-     * described in Stimulus Response Processing.
-     *
-     * @endif
-     */
-    ReturnCode_t set_fsm_profile(in FsmProfile fsm_profile);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ComponentProfile
-   *
-   * @section Description
-   *
-   * ComponentProfile represents the static state of an RTC that is
-   * referred to here as the "target" RTC.
-   *
-   * @endif
-   */
-  struct ComponentProfile
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief instance_name
-     *
-     * @section Description
-     *
-     * This attribute shall contain the name of the target RTC instance.
-     *
-     * @section Semantics
-     *
-     * The instance_name should be unique among RTC instances
-     * contained within the same containing component.
-     *
-     * @endif
-     */
-    string instance_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief type_name
-     *
-     * @section Description
-     *
-     * This attribute shall contain the name of the target RTC class.
-     *
-     * @section Semantics
-     *
-     * Each RTC class must have a name that is unique within an
-     * application.
-     *
-     * @endif
-     */
-    string type_name;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief description
-     *
-     * @section Description
-     *
-     * This attribute shall briefly describe the target RTC for the
-     * benefit of a human operator.
-     *
-     * @endif
-     */
-    string description;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief version
-     *
-     * @section Description
-     *
-     * This attribute shall contain the version number of the target
-     * RTC class.
-     *
-     * @section Semantics
-     *
-     * The format of the version number is outside of the scope of
-     * this specification.
-     *
-     * @endif
-     */
-    string version;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief vendor
-     *
-     * @section Description
-     *
-     * The name of the individual or organization that produced the
-     * target RTC class.
-     *
-     * @endif
-     */
-    string vendor;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief category
-     *
-     * @section Description
-     *
-     * This attribute contains the name of a "category" or group to
-     * which the target RTC belongs.
-     *
-     *
-     * @endif
-     */
-    string category;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief port_profiles
-     *
-     * @section Description
-     *
-     * This attribute contains a list of PortProfiles that describe
-     * the ports of the target RTC.
-     *
-     * @section Semantics
-     *
-     * There shall be a one-to-one correspondence between the members
-     * of this list and the ports of the target RTC.
-     *
-     *
-     * @endif
-     */
-    PortProfileList port_profiles;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief parent
-     *
-     * @section Description
-     *
-     * This attribute contains a reference to the RTC that contains
-     * the target RTC instance. If the target RTC instance is not
-     * owned by any other RTC, this field stores a nil reference.
-     *
-     * @endif
-     */
-    RTObject parent;
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief properties
-     *
-     * @section Description
-     *
-     * This attribute contains additional properties of the target RTC.
-     *
-     * @section Semantics
-     *
-     * This attribute provides implementations the opportunity to
-     * describe additional characteristics of a particular RTC that
-     * are otherwise outside of the scope of this specification.
-     *
-     * @endif
-     */
-    NVList properties;
-  };
-  
-  typedef sequence<ComponentProfile> ComponentProfileList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief PortService
-   *
-   * @section Description
-   *
-   * An instance of the PortService interface represents a port (i.e.,
-   * UML::Composite Structures::Ports::Port) of an RTC. It provides
-   * operations that allow it to be connected to and disconnected from
-   * other ports.
-   *
-   * @section Semantics
-   *
-   * A port service can support unidirectional or bidirectional
-   * communication.  A port service may allow for a service-oriented
-   * connection, in which other connected ports, invoke methods on
-   * it. It may also allow for a data-centric connection, in which
-   * data values are streamed in or out. In either case, the
-   * connection is described by an instance of
-   * ConnectorProfile. However, the behavioral contracts of such
-   * connections are dependent on the interfaces exposed by the ports
-   * and are not described normatively by this specification.
-   *
-   * @endif
-   */
-  interface PortService
-    : SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_port_profile
-     *
-     * @section Description
-     *
-     * This operation returns the PortProfile of the PortService.
-     *
-     * @endif
-     */
-    PortProfile get_port_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_connector_profiles
-     *
-     * @section Description
-     *
-     * This operation returns a list of the ConnectorProfiles of the
-     * PortService.
-     *
-     * @endif
-     */ 
-    ConnectorProfileList get_connector_profiles();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_connector_profiles
-     *
-     * @section Description
-     *
-     * This operation returns a list of the ConnectorProfiles of the
-     * PortService.
-     *
-     * @endif
-     */
-    ConnectorProfile get_connector_profile(in UniqueIdentifier connector_id);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief connect
-     *
-     * @section Description
-     *
-     * This operation establishes connection between this port and the
-     * peer ports according to given ConnectionProfile.
-     *
-     * @section Semantics
-     *
-     * A ConnectorProfile has a sequence of port references. This port
-     * invokes the notify_connect operation of one of the ports
-     * included in the sequence. It follows that the notification of
-     * connection is propagated by the notify_connect operation with
-     * ConnectorProfile. This operation returns ConnectorProfile
-     * return value and returns ReturnCode_t as return codes.
-     *
-     * @endif
-     */
-    ReturnCode_t connect(inout ConnectorProfile connector_profile);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief disconnect
-     *
-     * @section Description
-     *
-     * This operation destroys the connection between this port and
-     * its peer ports using the ID that was given when the connection
-     * was established.
-     *
-     * @section Semantics
-     *
-     * This port invokes the notify_disconnect operation of one of the
-     * ports included in the sequence of the ConnectorProfile stored
-     * when the connection was established. The notification of
-     * disconnection is propagated by the notify_disconnect operation.
-     *
-     * @endif
-     */
-    ReturnCode_t disconnect(in UniqueIdentifier connector_id);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief disconnect_all
-     *
-     * @section Description
-     *
-     * This operation destroys all connection channels owned by the
-     * PortService.
-     *
-     * @endif
-     */
-    ReturnCode_t disconnect_all();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief notify_connect
-     *
-     * @section Description
-     *
-     * This operation notifies this PortService of the connection
-     * between its corresponding port and the other ports and
-     * propagates the given ConnectionProfile.
-     *
-     * @section Semantics
-     *
-     * A ConnectorProfile has a sequence of port references. This
-     * PortService stores the ConnectorProfile and invokes the
-     * notify_connect operation of the next PortService in the
-     * sequence. As ports are added to the connector, PortService
-     * references are added to the ConnectorProfile and provided to
-     * the caller. In this way, notification of connection is
-     * propagated with the ConnectorProfile.
-     *
-     * @endif
-     */
-    ReturnCode_t notify_connect(inout ConnectorProfile connector_profile);
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief notify_disconnect
-     *
-     * @section Description
-     *
-     * This operation notifies a PortService of a disconnection
-     * between its corresponding port and the other ports. The
-     * disconnected connector is identified by the given ID, which was
-     * given when the connection was established.
-     *
-     * @section Semantics
-     *
-     * This port invokes the notify_disconnect operation of the next
-     * PortService in the sequence of the ConnectorProfile that was
-     * stored when the connection was established. As ports are
-     * disconnected, PortService references are removed from the
-     * ConnectorProfile. In this way, the notification of
-     * disconnection is propagated by the notify_disconnect operation.
-     *
-     * @endif
-     */
-    ReturnCode_t notify_disconnect(in UniqueIdentifier connector_id);
-  };
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief ExecutionContextService
-   *
-   * @section Description
-   *
-   * An ExecutionContextService exposes an ExecutionContext as an SDO
-   * service such that the context may be controlled remotely.
-   *
-   * @section Semantics
-   *
-   * Depending on the implementation, this interface may itself be an
-   * execution context (that is, it may be passed to the operations of
-   * ComponentAction) or it may represent a remote execution context
-   * that is not of type ExecutionContextService.  @endif
-   */
-  interface ExecutionContextService
-    : ExecutionContext, SDOPackage::SDOService
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_profile
-     *
-     * @section Description
-     *
-     * This operation provides a profile "descriptor" for the
-     * execution context.
-     *
-     * @endif
-     */
-    ExecutionContextProfile get_profile();
-  };
-  
-  typedef sequence<ExecutionContextService>
-  ExecutionContextServiceList;
-  
-  /*!
-   * @if jp
-   * @brief 
-   * @else
-   * @brief RTObject
-   *
-   * @section Description
-   *
-   * The RTObject interface defines the operations that all SDO-based
-   * RTCs must provide. It is required by the rtComponent stereotype.
-   *
-   * @endif
-   */
-  interface RTObject
-    : LightweightRTObject, SDOPackage::SDO
-  {
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_component_profile
-     *
-     * @section Description
-     *
-     * This operation returns the ComponentProfile of the RTC.
-     *
-     * @endif
-     */
-    ComponentProfile get_component_profile();
-    /*!
-     * @if jp
-     * @brief 
-     * @else
-     * @brief get_ports
-     *
-     * @section Description
-     *
-     * This operation returns a list of the RTCs ports.
-     *
-     * @endif
-     */
-    PortServiceList get_ports();
-  };
-};
-

Deleted: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/SDOPackage.idl
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/SDOPackage.idl	2011-08-04 07:19:10 UTC (rev 436)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/SDOPackage.idl	2011-08-04 07:52:39 UTC (rev 437)
@@ -1,294 +0,0 @@
-//Platform Independent Model (PIM) and Platform Specific Model (PSM)
-//for Super Distributed Objects (SDO) Specification, v1.1 - OMG IDL Summary File
-//Object Management Group, Inc.
-//Copyright (c) 2003, Fraunhofer FOKUS
-//Copyright (c) 2003, Hitachi, Ltd.
-//The companies listed above have granted to the Object Management Group, Inc. 
-//(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and 
-//distribute this document and to modify this document and distribute copies of 
-//the modified version. Each of the copyright holders listed above has agreed 
-//that no person shall be deemed to have infringed the copyright in the included 
-//material of any such copyright holder by reason of having used the 
-//specification set forth herein or having conformed any computer software to 
-//the specification. 
-//
-//This file contains OMG IDL from the Naming Service Specification, v1.2.
-//OMG regularly publishes a summary file that contains all the "code" parts of 
-//an OMG formal document. Every formal document line that is IDL, PIDL, or 
-//language code is included in the summary file. The reason for such a listing 
-//is to give readers an electronic version of the "code" so that they can 
-//extract pieces of it. Readers might want to test an example, include it in 
-//their own code, or use it for documentation purposes. Having the code lines 
-//available electronically means there is less likelihood of a transcription 
-//error. 
-//
-// ver 1.0  formal/2004-11-02
-// ver 1.1  (RTF report: dtc/2008-03-05)
-//
-//SDOPackage.idl
-
-#ifndef    _SDO_PACKAGE_IDL_
-#define    _SDO_PACKAGE_IDL_
-
-#ifdef TAO_IDL
-#include <orb.idl>
-#endif
-#ifdef USE_MONITORING
-#include <CosNotifyComm.idl>
-#endif
-#ifndef ORBIT2_IDL
-#define TypeCode CORBA::TypeCode
-#endif
-/** CORBA specific model for SDOs */
-
-#pragma prefix "org.omg"
-#define exception_body { string description; }
-
-module SDOPackage
-{
-  interface SDO;
-  interface SDOService;
-  interface SDOSystemElement;
-  interface Configuration;
-  interface Monitoring;
-  interface Organization;
-  
-  /** ------- Data Types -------*/
-  typedef sequence<string>       StringList;
-  typedef sequence<SDO>          SDOList;
-  typedef sequence<Organization> OrganizationList;
-  typedef string                 UniqueIdentifier;
-
-  struct NameValue
-  {
-    string name;
-    any value;
-  };
-
-  typedef sequence<NameValue>   NVList;
-
-  enum NumericType
-  {
-    SHORT_TYPE,
-    LONG_TYPE,
-    FLOAT_TYPE,
-    DOUBLE_TYPE
-  };
-
-  union Numeric switch (NumericType)
-  {
-  case SHORT_TYPE:  short short_value;
-  case LONG_TYPE: long long_value;
-  case FLOAT_TYPE: float float_value;
-  case DOUBLE_TYPE: double double_value;
-  };
-
-  struct EnumerationType
-  {
-    StringList enumerated_values;
-  };
-
-  struct RangeType
-  {
-    Numeric min;
-    Numeric max;
-    boolean min_inclusive;
-    boolean max_inclusive;
-  };
-
-  struct IntervalType
-  {
-    Numeric min;
-    Numeric max;
-    boolean min_inclusive;
-    boolean max_inclusive;
-    Numeric step;
-  };
-
-  enum ComplexDataType
-  {
-    ENUMERATION, RANGE, INTERVAL
-  };
-
-  union AllowedValues switch (ComplexDataType)
-  {
-  case ENUMERATION:    EnumerationType allowed_enum;
-  case INTERVAL:       IntervalType allowed_interval;
-  case RANGE:          RangeType   allowed_range;
-  };
-
-  struct Parameter
-  {
-    string         name;
-    TypeCode       type;
-    AllowedValues  allowed_values;
-  };
-
-  typedef sequence<Parameter> ParameterList;
-  struct OrganizationProperty
-  {
-    NVList properties;
-  };
-  enum DependencyType
-  {
-    OWN,
-    OWNED,
-    NO_DEPENDENCY
-  };
-
-  struct DeviceProfile
-  {
-    string device_type;
-    string manufacturer;
-    string model;
-    string version;
-    NVList properties;
-  };
-
-  struct ServiceProfile
-  {
-    string id;
-    string interface_type;
-    NVList properties;
-    SDOService service;
-  };
-
-  typedef sequence <ServiceProfile> ServiceProfileList;
-  struct ConfigurationSet
-  {
-    string id;
-    string description;
-    NVList configuration_data;
-  };
-
-  typedef sequence<ConfigurationSet> ConfigurationSetList;
-
-
-  /** ------- Exceptions -------*/
-  exception NotAvailable             exception_body;
-  exception InterfaceNotImplemented  exception_body;
-  exception InvalidParameter         exception_body;
-  exception InternalError            exception_body;
-  
-  /** ------- Interfaces -------*/
-  interface SDOSystemElement
-  {
-    OrganizationList get_owned_organizations()
-      raises (NotAvailable,InternalError);
-  };
-  interface SDO : SDOSystemElement
-  {
-    UniqueIdentifier get_sdo_id()
-      raises (NotAvailable, InternalError);
-    string get_sdo_type()
-      raises (NotAvailable, InternalError);
-    DeviceProfile get_device_profile ()
-      raises (NotAvailable, InternalError);
-    ServiceProfileList get_service_profiles ()
-      raises (NotAvailable, InternalError);
-    ServiceProfile get_service_profile (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOService get_sdo_service (in UniqueIdentifier id) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    Configuration get_configuration ()
-      raises (InterfaceNotImplemented, NotAvailable, InternalError);
-    Monitoring get_monitoring ()
-      raises (InterfaceNotImplemented, NotAvailable, InternalError);
-    OrganizationList get_organizations ()
-      raises (NotAvailable, InternalError);
-    NVList get_status_list ()
-      raises (NotAvailable, InternalError);
-    any get_status (in string nme)
-      raises (InvalidParameter, NotAvailable, InternalError);
-  };
-
-
-  interface Configuration
-  {
-    boolean set_device_profile (in DeviceProfile dProfile)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_service_profile (in ServiceProfile sProfile)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_organization (in Organization organization_object)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_service_profile (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_organization (in UniqueIdentifier organization_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ParameterList get_configuration_parameters ()
-      raises (NotAvailable, InternalError);
-    NVList get_configuration_parameter_values ()
-      raises (NotAvailable, InternalError);
-    any get_configuration_parameter_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean set_configuration_parameter (in string name,
-                                         in any value)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ConfigurationSetList get_configuration_sets ()
-      raises (NotAvailable, InternalError);
-    ConfigurationSet get_configuration_set (in UniqueIdentifier config_id)
-      raises (NotAvailable, InternalError);
-    boolean set_configuration_set_values (in ConfigurationSet configuration_set)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ConfigurationSet get_active_configuration_set ()
-      raises (NotAvailable, InternalError);
-    boolean add_configuration_set (in ConfigurationSet configuration_set)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_configuration_set (in UniqueIdentifier config_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean activate_configuration_set (in UniqueIdentifier config_id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-  };
-
-
-#ifdef USE_MONITORING
-  interface Monitoring : CosNotifyComm::StructuredPushConsumer,
-    CosNotifyComm::StructuredPushSupplier
-  {
-    any get_monitoring_parameter_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    ParameterList get_monitoring_parameters ()
-      raises (NotAvailable, InternalError);
-    NVList get_monitoring_parameter_values ()
-      raises (NotAvailable, InternalError);
-  };
-#else
-  interface Monitoring {};
-#endif
-
-  interface SDOService {};
-  
-  interface Organization
-  {
-    UniqueIdentifier get_organization_id ()
-      raises (InvalidParameter, NotAvailable, InternalError);
-    OrganizationProperty get_organization_property ()
-      raises (NotAvailable, InternalError);
-    any get_organization_property_value (in string name)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_organization_property (in OrganizationProperty organization_property)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean set_organization_property_value (in string name,
-                                             in any value)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_organization_property ( in string name )
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOSystemElement get_owner ()
-      raises (NotAvailable, InternalError);
-    boolean set_owner (in SDOSystemElement sdo) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    SDOList get_members ()
-      raises (NotAvailable, InternalError);
-    boolean set_members (in SDOList sdos) 
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean add_members ( in SDOList sdo_list)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    boolean remove_member (in UniqueIdentifier id)
-      raises (InvalidParameter, NotAvailable, InternalError);
-    DependencyType get_dependency()
-      raises (NotAvailable, InternalError);
-    boolean set_dependency (in DependencyType dependency) 
-      raises (NotAvailable, InternalError);
-  };
-};
-#endif //_SDO_PACKAGE_IDL_

Added: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.bat
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.bat	                        (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.bat	2011-08-04 07:52:39 UTC (rev 437)
@@ -0,0 +1,17 @@
+ at echo off
+echo "<<< ComponentObserverConsumer Test setup start >>>"
+
+set idlfiles=BasicDataType.idl DataPort.idl OpenRTM.idl RTC.idl SDOPackage.idl
+
+rem # idl file copy
+for %%x in (%idlfiles%) do copy ..\..\..\..\RTM_IDL\%%x .
+
+copy ..\ComponentObserver.idl .
+
+rem # idl file compile
+set idlfiles=%idlfiles% ComponentObserver.idl
+for %%x in (%idlfiles%) do omniidl -I. -bpython %%x
+
+echo "<<< ComponentObserverConsumer Test setup Complete >>>"
+echo ""
+

Added: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.sh
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.sh	                        (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/ext/sdo/observer/test/setup.sh	2011-08-04 07:52:39 UTC (rev 437)
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+echo "<<< ComponentObserverConsumer Test setup start >>>"
+
+# idl file copy
+cp -pf ../../../../RTM_IDL/BasicDataType.idl .
+cp -pf ../../../../RTM_IDL/DataPort.idl .
+cp -pf ../../../../RTM_IDL/OpenRTM.idl .
+cp -pf ../../../../RTM_IDL/RTC.idl .
+cp -pf ../../../../RTM_IDL/SDOPackage.idl .
+cp -pf ../ComponentObserver.idl .
+
+# idl file compile
+omniidl -bpython *.idl
+
+echo "<<< ComponentObserverConsumer Test setup Complete >>>"
+echo ""
+



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