[openrtm-commit:03232] r812 - in trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon: corba model model/component model/component/impl model/component/util ui/propertysource util

openrtm @ openrtm.org openrtm @ openrtm.org
2018年 3月 9日 (金) 15:39:55 JST


Author: ga
Date: 2018-03-09 15:39:54 +0900 (Fri, 09 Mar 2018)
New Revision: 812

Modified:
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/corba/CorbaUtil.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component.ecore
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/Component.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ComponentPackage.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaComponent.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaExecutionContext.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ExecutionContext.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentImpl.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentPackageImpl.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaComponentImpl.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaExecutionContextImpl.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ExecutionContextImpl.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/util/CorbaObjectStore.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/ui/propertysource/ComponentPropertySource.java
   trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/util/RtsProfileHandler.java
Log:
Add ActionOrderView #4442

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/corba/CorbaUtil.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/corba/CorbaUtil.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/corba/CorbaUtil.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -4,8 +4,6 @@
 import java.beans.PropertyChangeListener;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
@@ -42,7 +40,8 @@
 		try {
 			target.list(9999, bindingListHolder, bindingIteratorHolder);
 		} catch (Exception e) {
-			// void 
+			LOGGER.error("Fail to get binding list: nc={}", target);
+			LOGGER.error("ERROR:", e);
 		}
 
 		List<Binding> result = new ArrayList<Binding>();

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/Component.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/Component.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/Component.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -28,6 +28,7 @@
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getOutports <em>Outports</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getServiceports <em>Serviceports</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getComponents <em>Components</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getPrimaryExecutionContext <em>Primary Execution Context</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getExecutionContexts <em>Execution Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getParticipationContexts <em>Participation Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getExecutionContextHandler <em>Execution Context Handler</em>}</li>
@@ -44,6 +45,13 @@
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getCompositeTypeL <em>Composite Type L</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getComponentId <em>Component Id</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#isRequired <em>Required</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getStartUp <em>Start Up</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getShutDown <em>Shut Down</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getActivation <em>Activation</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getDeActivation <em>De Activation</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getResetting <em>Resetting</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getInitialize <em>Initialize</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.Component#getFinalize <em>Finalize</em>}</li>
  * </ul>
  * </p>
  *
@@ -504,6 +512,32 @@
 	EList<Component> getComponents();
 
 	/**
+	 * Returns the value of the '<em><b>Primary Execution Context</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Primary Execution Context</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Primary Execution Context</em>' containment reference.
+	 * @see #setPrimaryExecutionContext(ExecutionContext)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_PrimaryExecutionContext()
+	 * @model containment="true"
+	 * @generated
+	 */
+	ExecutionContext getPrimaryExecutionContext();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getPrimaryExecutionContext <em>Primary Execution Context</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Primary Execution Context</em>' containment reference.
+	 * @see #getPrimaryExecutionContext()
+	 * @generated
+	 */
+	void setPrimaryExecutionContext(ExecutionContext value);
+
+	/**
 	 * Returns the value of the '<em><b>Component Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -559,6 +593,188 @@
 	void setRequired(boolean value);
 
 	/**
+	 * Returns the value of the '<em><b>Start Up</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Start Up</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Start Up</em>' attribute.
+	 * @see #setStartUp(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_StartUp()
+	 * @model
+	 * @generated
+	 */
+	String getStartUp();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getStartUp <em>Start Up</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Start Up</em>' attribute.
+	 * @see #getStartUp()
+	 * @generated
+	 */
+	void setStartUp(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Shut Down</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Shut Down</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Shut Down</em>' attribute.
+	 * @see #setShutDown(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_ShutDown()
+	 * @model
+	 * @generated
+	 */
+	String getShutDown();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getShutDown <em>Shut Down</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Shut Down</em>' attribute.
+	 * @see #getShutDown()
+	 * @generated
+	 */
+	void setShutDown(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Activation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Activation</em>' attribute.
+	 * @see #setActivation(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_Activation()
+	 * @model
+	 * @generated
+	 */
+	String getActivation();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getActivation <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Activation</em>' attribute.
+	 * @see #getActivation()
+	 * @generated
+	 */
+	void setActivation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>De Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>De Activation</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>De Activation</em>' attribute.
+	 * @see #setDeActivation(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_DeActivation()
+	 * @model
+	 * @generated
+	 */
+	String getDeActivation();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getDeActivation <em>De Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>De Activation</em>' attribute.
+	 * @see #getDeActivation()
+	 * @generated
+	 */
+	void setDeActivation(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Resetting</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Resetting</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Resetting</em>' attribute.
+	 * @see #setResetting(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_Resetting()
+	 * @model
+	 * @generated
+	 */
+	String getResetting();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getResetting <em>Resetting</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Resetting</em>' attribute.
+	 * @see #getResetting()
+	 * @generated
+	 */
+	void setResetting(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Initialize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Initialize</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Initialize</em>' attribute.
+	 * @see #setInitialize(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_Initialize()
+	 * @model
+	 * @generated
+	 */
+	String getInitialize();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getInitialize <em>Initialize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Initialize</em>' attribute.
+	 * @see #getInitialize()
+	 * @generated
+	 */
+	void setInitialize(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Finalize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Finalize</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Finalize</em>' attribute.
+	 * @see #setFinalize(String)
+	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getComponent_Finalize()
+	 * @model
+	 * @generated
+	 */
+	String getFinalize();
+
+	/**
+	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getFinalize <em>Finalize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Finalize</em>' attribute.
+	 * @see #getFinalize()
+	 * @generated
+	 */
+	void setFinalize(String value);
+
+	/**
 	 * Returns the value of the '<em><b>Child System Diagram</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <p>

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ComponentPackage.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ComponentPackage.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ComponentPackage.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -246,6 +246,15 @@
 	int COMPONENT__COMPONENTS = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 6;
 
 	/**
+	 * The feature id for the '<em><b>Primary Execution Context</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__PRIMARY_EXECUTION_CONTEXT = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 7;
+
+	/**
 	 * The feature id for the '<em><b>Execution Contexts</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -252,7 +261,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__EXECUTION_CONTEXTS = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 7;
+	int COMPONENT__EXECUTION_CONTEXTS = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Participation Contexts</b></em>' reference list.
@@ -261,7 +270,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__PARTICIPATION_CONTEXTS = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 8;
+	int COMPONENT__PARTICIPATION_CONTEXTS = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 9;
 
 	/**
 	 * The feature id for the '<em><b>Execution Context Handler</b></em>' containment reference.
@@ -270,7 +279,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__EXECUTION_CONTEXT_HANDLER = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 9;
+	int COMPONENT__EXECUTION_CONTEXT_HANDLER = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 10;
 
 	/**
 	 * The feature id for the '<em><b>Participation Context Handler</b></em>' containment reference.
@@ -279,7 +288,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__PARTICIPATION_CONTEXT_HANDLER = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 10;
+	int COMPONENT__PARTICIPATION_CONTEXT_HANDLER = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 11;
 
 	/**
 	 * The feature id for the '<em><b>Child System Diagram</b></em>' reference.
@@ -288,7 +297,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__CHILD_SYSTEM_DIAGRAM = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 11;
+	int COMPONENT__CHILD_SYSTEM_DIAGRAM = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 12;
 
 	/**
 	 * The feature id for the '<em><b>Instance Name L</b></em>' attribute.
@@ -297,7 +306,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__INSTANCE_NAME_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 12;
+	int COMPONENT__INSTANCE_NAME_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 13;
 
 	/**
 	 * The feature id for the '<em><b>Vender L</b></em>' attribute.
@@ -306,7 +315,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__VENDER_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 13;
+	int COMPONENT__VENDER_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 14;
 
 	/**
 	 * The feature id for the '<em><b>Description L</b></em>' attribute.
@@ -315,7 +324,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__DESCRIPTION_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 14;
+	int COMPONENT__DESCRIPTION_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 15;
 
 	/**
 	 * The feature id for the '<em><b>Category L</b></em>' attribute.
@@ -324,7 +333,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__CATEGORY_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 15;
+	int COMPONENT__CATEGORY_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 16;
 
 	/**
 	 * The feature id for the '<em><b>Type Name L</b></em>' attribute.
@@ -333,7 +342,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__TYPE_NAME_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 16;
+	int COMPONENT__TYPE_NAME_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 17;
 
 	/**
 	 * The feature id for the '<em><b>Version L</b></em>' attribute.
@@ -342,7 +351,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__VERSION_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 17;
+	int COMPONENT__VERSION_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 18;
 
 	/**
 	 * The feature id for the '<em><b>Path Id</b></em>' attribute.
@@ -351,7 +360,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__PATH_ID = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 18;
+	int COMPONENT__PATH_ID = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 19;
 
 	/**
 	 * The feature id for the '<em><b>Outport Direction</b></em>' attribute.
@@ -360,7 +369,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__OUTPORT_DIRECTION = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 19;
+	int COMPONENT__OUTPORT_DIRECTION = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 20;
 
 	/**
 	 * The feature id for the '<em><b>Composite Type L</b></em>' attribute.
@@ -369,7 +378,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__COMPOSITE_TYPE_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 20;
+	int COMPONENT__COMPOSITE_TYPE_L = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 21;
 
 	/**
 	 * The feature id for the '<em><b>Component Id</b></em>' attribute.
@@ -378,7 +387,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__COMPONENT_ID = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 21;
+	int COMPONENT__COMPONENT_ID = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 22;
 
 	/**
 	 * The feature id for the '<em><b>Required</b></em>' attribute.
@@ -387,9 +396,72 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT__REQUIRED = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 22;
+	int COMPONENT__REQUIRED = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 23;
 
 	/**
+	 * The feature id for the '<em><b>Start Up</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__START_UP = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 24;
+
+	/**
+	 * The feature id for the '<em><b>Shut Down</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__SHUT_DOWN = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 25;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__ACTIVATION = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 26;
+
+	/**
+	 * The feature id for the '<em><b>De Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__DE_ACTIVATION = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 27;
+
+	/**
+	 * The feature id for the '<em><b>Resetting</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__RESETTING = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 28;
+
+	/**
+	 * The feature id for the '<em><b>Initialize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__INITIALIZE = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 29;
+
+	/**
+	 * The feature id for the '<em><b>Finalize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT__FINALIZE = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 30;
+
+	/**
 	 * The number of structural features of the '<em>Component</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -396,7 +468,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT_FEATURE_COUNT = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 23;
+	int COMPONENT_FEATURE_COUNT = CorePackage.WRAPPER_OBJECT_FEATURE_COUNT + 31;
 
 	/**
 	 * The meta object id for the '{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl <em>Corba Component</em>}' class.
@@ -491,6 +563,15 @@
 	int COMPONENT_SPECIFICATION__COMPONENTS = COMPONENT__COMPONENTS;
 
 	/**
+	 * The feature id for the '<em><b>Primary Execution Context</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__PRIMARY_EXECUTION_CONTEXT = COMPONENT__PRIMARY_EXECUTION_CONTEXT;
+
+	/**
 	 * The feature id for the '<em><b>Execution Contexts</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -635,6 +716,69 @@
 	int COMPONENT_SPECIFICATION__REQUIRED = COMPONENT__REQUIRED;
 
 	/**
+	 * The feature id for the '<em><b>Start Up</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__START_UP = COMPONENT__START_UP;
+
+	/**
+	 * The feature id for the '<em><b>Shut Down</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__SHUT_DOWN = COMPONENT__SHUT_DOWN;
+
+	/**
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__ACTIVATION = COMPONENT__ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>De Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__DE_ACTIVATION = COMPONENT__DE_ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Resetting</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__RESETTING = COMPONENT__RESETTING;
+
+	/**
+	 * The feature id for the '<em><b>Initialize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__INITIALIZE = COMPONENT__INITIALIZE;
+
+	/**
+	 * The feature id for the '<em><b>Finalize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_SPECIFICATION__FINALIZE = COMPONENT__FINALIZE;
+
+	/**
 	 * The feature id for the '<em><b>Alias Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1926,6 +2070,15 @@
 	int CORBA_COMPONENT__COMPONENTS = COMPONENT__COMPONENTS;
 
 	/**
+	 * The feature id for the '<em><b>Primary Execution Context</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__PRIMARY_EXECUTION_CONTEXT = COMPONENT__PRIMARY_EXECUTION_CONTEXT;
+
+	/**
 	 * The feature id for the '<em><b>Execution Contexts</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2070,33 +2223,78 @@
 	int CORBA_COMPONENT__REQUIRED = COMPONENT__REQUIRED;
 
 	/**
-	 * The feature id for the '<em><b>Corba Object</b></em>' attribute.
+	 * The feature id for the '<em><b>Start Up</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__CORBA_OBJECT = COMPONENT_FEATURE_COUNT + 0;
+	int CORBA_COMPONENT__START_UP = COMPONENT__START_UP;
 
 	/**
-	 * The feature id for the '<em><b>Execution Context State</b></em>' attribute.
+	 * The feature id for the '<em><b>Shut Down</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__EXECUTION_CONTEXT_STATE = COMPONENT_FEATURE_COUNT + 1;
+	int CORBA_COMPONENT__SHUT_DOWN = COMPONENT__SHUT_DOWN;
 
 	/**
-	 * The feature id for the '<em><b>Component State</b></em>' attribute.
+	 * The feature id for the '<em><b>Activation</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__COMPONENT_STATE = COMPONENT_FEATURE_COUNT + 2;
+	int CORBA_COMPONENT__ACTIVATION = COMPONENT__ACTIVATION;
 
 	/**
+	 * The feature id for the '<em><b>De Activation</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__DE_ACTIVATION = COMPONENT__DE_ACTIVATION;
+
+	/**
+	 * The feature id for the '<em><b>Resetting</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__RESETTING = COMPONENT__RESETTING;
+
+	/**
+	 * The feature id for the '<em><b>Initialize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__INITIALIZE = COMPONENT__INITIALIZE;
+
+	/**
+	 * The feature id for the '<em><b>Finalize</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__FINALIZE = COMPONENT__FINALIZE;
+
+	/**
+	 * The feature id for the '<em><b>Corba Object</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CORBA_COMPONENT__CORBA_OBJECT = COMPONENT_FEATURE_COUNT + 0;
+
+	/**
 	 * The feature id for the '<em><b>RTC Component Profile</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2103,7 +2301,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__RTC_COMPONENT_PROFILE = COMPONENT_FEATURE_COUNT + 3;
+	int CORBA_COMPONENT__RTC_COMPONENT_PROFILE = COMPONENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>RTC Execution Contexts</b></em>' attribute list.
@@ -2112,7 +2310,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__RTC_EXECUTION_CONTEXTS = COMPONENT_FEATURE_COUNT + 4;
+	int CORBA_COMPONENT__RTC_EXECUTION_CONTEXTS = COMPONENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>RTC Participation Contexts</b></em>' attribute list.
@@ -2121,7 +2319,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__RTC_PARTICIPATION_CONTEXTS = COMPONENT_FEATURE_COUNT + 5;
+	int CORBA_COMPONENT__RTC_PARTICIPATION_CONTEXTS = COMPONENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>SDO Configuration</b></em>' attribute.
@@ -2130,7 +2328,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__SDO_CONFIGURATION = COMPONENT_FEATURE_COUNT + 6;
+	int CORBA_COMPONENT__SDO_CONFIGURATION = COMPONENT_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>SDO Organization</b></em>' attribute.
@@ -2139,7 +2337,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__SDO_ORGANIZATION = COMPONENT_FEATURE_COUNT + 7;
+	int CORBA_COMPONENT__SDO_ORGANIZATION = COMPONENT_FEATURE_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>RTCRT Objects</b></em>' attribute list.
@@ -2148,7 +2346,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__RTCRT_OBJECTS = COMPONENT_FEATURE_COUNT + 8;
+	int CORBA_COMPONENT__RTCRT_OBJECTS = COMPONENT_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Ior</b></em>' attribute.
@@ -2157,7 +2355,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__IOR = COMPONENT_FEATURE_COUNT + 9;
+	int CORBA_COMPONENT__IOR = COMPONENT_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Status Observer</b></em>' reference.
@@ -2166,7 +2364,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__STATUS_OBSERVER = COMPONENT_FEATURE_COUNT + 10;
+	int CORBA_COMPONENT__STATUS_OBSERVER = COMPONENT_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Log Observer</b></em>' reference.
@@ -2175,7 +2373,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT__LOG_OBSERVER = COMPONENT_FEATURE_COUNT + 11;
+	int CORBA_COMPONENT__LOG_OBSERVER = COMPONENT_FEATURE_COUNT + 9;
 
 	/**
 	 * The number of structural features of the '<em>Corba Component</em>' class.
@@ -2184,7 +2382,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CORBA_COMPONENT_FEATURE_COUNT = COMPONENT_FEATURE_COUNT + 12;
+	int CORBA_COMPONENT_FEATURE_COUNT = COMPONENT_FEATURE_COUNT + 10;
 
 	/**
 	 * The meta object id for the '{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaPortSynchronizerImpl <em>Corba Port Synchronizer</em>}' class.
@@ -3270,6 +3468,17 @@
 	EReference getComponent_Components();
 
 	/**
+	 * Returns the meta object for the containment reference '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getPrimaryExecutionContext <em>Primary Execution Context</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Primary Execution Context</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getPrimaryExecutionContext()
+	 * @see #getComponent()
+	 * @generated
+	 */
+	EReference getComponent_PrimaryExecutionContext();
+
+	/**
 	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getComponentId <em>Component Id</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3292,49 +3501,104 @@
 	EAttribute getComponent_Required();
 
 	/**
-	 * Returns the meta object for the reference '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getChildSystemDiagram <em>Child System Diagram</em>}'.
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getStartUp <em>Start Up</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Child System Diagram</em>'.
-	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getChildSystemDiagram()
+	 * @return the meta object for the attribute '<em>Start Up</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getStartUp()
 	 * @see #getComponent()
 	 * @generated
 	 */
-	EReference getComponent_ChildSystemDiagram();
+	EAttribute getComponent_StartUp();
 
 	/**
-	 * Returns the meta object for class '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent <em>Corba Component</em>}'.
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getShutDown <em>Shut Down</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Corba Component</em>'.
-	 * @see jp.go.aist.rtm.toolscommon.model.component.CorbaComponent
+	 * @return the meta object for the attribute '<em>Shut Down</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getShutDown()
+	 * @see #getComponent()
 	 * @generated
 	 */
-	EClass getCorbaComponent();
+	EAttribute getComponent_ShutDown();
 
 	/**
-	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getExecutionContextState <em>Execution Context State</em>}'.
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getActivation <em>Activation</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Execution Context State</em>'.
-	 * @see jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getExecutionContextState()
-	 * @see #getCorbaComponent()
+	 * @return the meta object for the attribute '<em>Activation</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getActivation()
+	 * @see #getComponent()
 	 * @generated
 	 */
-	EAttribute getCorbaComponent_ExecutionContextState();
+	EAttribute getComponent_Activation();
 
 	/**
-	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getComponentState <em>Component State</em>}'.
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getDeActivation <em>De Activation</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Component State</em>'.
-	 * @see jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getComponentState()
-	 * @see #getCorbaComponent()
+	 * @return the meta object for the attribute '<em>De Activation</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getDeActivation()
+	 * @see #getComponent()
 	 * @generated
 	 */
-	EAttribute getCorbaComponent_ComponentState();
+	EAttribute getComponent_DeActivation();
 
 	/**
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getResetting <em>Resetting</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Resetting</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getResetting()
+	 * @see #getComponent()
+	 * @generated
+	 */
+	EAttribute getComponent_Resetting();
+
+	/**
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getInitialize <em>Initialize</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Initialize</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getInitialize()
+	 * @see #getComponent()
+	 * @generated
+	 */
+	EAttribute getComponent_Initialize();
+
+	/**
+	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getFinalize <em>Finalize</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Finalize</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getFinalize()
+	 * @see #getComponent()
+	 * @generated
+	 */
+	EAttribute getComponent_Finalize();
+
+	/**
+	 * Returns the meta object for the reference '{@link jp.go.aist.rtm.toolscommon.model.component.Component#getChildSystemDiagram <em>Child System Diagram</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Child System Diagram</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.Component#getChildSystemDiagram()
+	 * @see #getComponent()
+	 * @generated
+	 */
+	EReference getComponent_ChildSystemDiagram();
+
+	/**
+	 * Returns the meta object for class '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent <em>Corba Component</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Corba Component</em>'.
+	 * @see jp.go.aist.rtm.toolscommon.model.component.CorbaComponent
+	 * @generated
+	 */
+	EClass getCorbaComponent();
+
+	/**
 	 * Returns the meta object for the attribute '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getSDOConfiguration <em>SDO Configuration</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4801,6 +5065,14 @@
 		EReference COMPONENT__COMPONENTS = eINSTANCE.getComponent_Components();
 
 		/**
+		 * The meta object literal for the '<em><b>Primary Execution Context</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPONENT__PRIMARY_EXECUTION_CONTEXT = eINSTANCE.getComponent_PrimaryExecutionContext();
+
+		/**
 		 * The meta object literal for the '<em><b>Component Id</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -4817,40 +5089,80 @@
 		EAttribute COMPONENT__REQUIRED = eINSTANCE.getComponent_Required();
 
 		/**
-		 * The meta object literal for the '<em><b>Child System Diagram</b></em>' reference feature.
+		 * The meta object literal for the '<em><b>Start Up</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference COMPONENT__CHILD_SYSTEM_DIAGRAM = eINSTANCE.getComponent_ChildSystemDiagram();
+		EAttribute COMPONENT__START_UP = eINSTANCE.getComponent_StartUp();
 
 		/**
-		 * The meta object literal for the '{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl <em>Corba Component</em>}' class.
+		 * The meta object literal for the '<em><b>Shut Down</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
-		 * @see jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl
-		 * @see jp.go.aist.rtm.toolscommon.model.component.impl.ComponentPackageImpl#getCorbaComponent()
 		 * @generated
 		 */
-		EClass CORBA_COMPONENT = eINSTANCE.getCorbaComponent();
+		EAttribute COMPONENT__SHUT_DOWN = eINSTANCE.getComponent_ShutDown();
 
 		/**
-		 * The meta object literal for the '<em><b>Execution Context State</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>Activation</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute CORBA_COMPONENT__EXECUTION_CONTEXT_STATE = eINSTANCE.getCorbaComponent_ExecutionContextState();
+		EAttribute COMPONENT__ACTIVATION = eINSTANCE.getComponent_Activation();
 
 		/**
-		 * The meta object literal for the '<em><b>Component State</b></em>' attribute feature.
+		 * The meta object literal for the '<em><b>De Activation</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute CORBA_COMPONENT__COMPONENT_STATE = eINSTANCE.getCorbaComponent_ComponentState();
+		EAttribute COMPONENT__DE_ACTIVATION = eINSTANCE.getComponent_DeActivation();
 
 		/**
+		 * The meta object literal for the '<em><b>Resetting</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT__RESETTING = eINSTANCE.getComponent_Resetting();
+
+		/**
+		 * The meta object literal for the '<em><b>Initialize</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT__INITIALIZE = eINSTANCE.getComponent_Initialize();
+
+		/**
+		 * The meta object literal for the '<em><b>Finalize</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute COMPONENT__FINALIZE = eINSTANCE.getComponent_Finalize();
+
+		/**
+		 * The meta object literal for the '<em><b>Child System Diagram</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference COMPONENT__CHILD_SYSTEM_DIAGRAM = eINSTANCE.getComponent_ChildSystemDiagram();
+
+		/**
+		 * The meta object literal for the '{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl <em>Corba Component</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl
+		 * @see jp.go.aist.rtm.toolscommon.model.component.impl.ComponentPackageImpl#getCorbaComponent()
+		 * @generated
+		 */
+		EClass CORBA_COMPONENT = eINSTANCE.getCorbaComponent();
+
+		/**
 		 * The meta object literal for the '<em><b>SDO Configuration</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaComponent.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaComponent.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaComponent.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -25,8 +25,6 @@
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getExecutionContextState <em>Execution Context State</em>}</li>
- *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getComponentState <em>Component State</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getRTCComponentProfile <em>RTC Component Profile</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getRTCExecutionContexts <em>RTC Execution Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getRTCParticipationContexts <em>RTC Participation Contexts</em>}</li>
@@ -56,60 +54,6 @@
 	public static final int RETURNCODE_PRECONDITION_NOT_MET = ReturnCode_t.PRECONDITION_NOT_MET.value();
 	
 	/**
-	 * Returns the value of the '<em><b>Execution Context State</b></em>' attribute.
-	 * The default value is <code>"0"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Execution Context State</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Execution Context State</em>' attribute.
-	 * @see #setExecutionContextState(int)
-	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getCorbaComponent_ExecutionContextState()
-	 * @model default="0" transient="true"
-	 * @generated
-	 */
-	int getExecutionContextState();
-
-	/**
-	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getExecutionContextState <em>Execution Context State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Execution Context State</em>' attribute.
-	 * @see #getExecutionContextState()
-	 * @generated
-	 */
-	void setExecutionContextState(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Component State</b></em>' attribute.
-	 * The default value is <code>"1"</code>.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Component State</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Component State</em>' attribute.
-	 * @see #setComponentState(int)
-	 * @see jp.go.aist.rtm.toolscommon.model.component.ComponentPackage#getCorbaComponent_ComponentState()
-	 * @model default="1" transient="true"
-	 * @generated
-	 */
-	int getComponentState();
-
-	/**
-	 * Sets the value of the '{@link jp.go.aist.rtm.toolscommon.model.component.CorbaComponent#getComponentState <em>Component State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Component State</em>' attribute.
-	 * @see #getComponentState()
-	 * @generated
-	 */
-	void setComponentState(int value);
-
-	/**
 	 * Returns the value of the '<em><b>SDO Configuration</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -373,6 +317,54 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	int getExecutionContextState();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	int getExecutionContextState(jp.go.aist.rtm.toolscommon.model.component.ExecutionContext ec);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	String getExecutionContextStateName();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	String getExecutionContextStateName(jp.go.aist.rtm.toolscommon.model.component.ExecutionContext ec);
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	int getComponentState();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	String getComponentStateName();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @model kind="operation" dataType="jp.go.aist.rtm.toolscommon.model.component.RTCRTObject"
 	 * @generated
 	 */
@@ -386,11 +378,36 @@
 	 */
 	boolean supportedCorbaObserver();
 
-	RTC.ExecutionContext getPrimaryRTCExecutionContext();
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
+	void activateAll();
 
-	void activateAll();
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
 	void deactivateAll();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
 	void startAll();
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model
+	 * @generated
+	 */
 	void stopAll();
 
 } // CorbaComponent

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaExecutionContext.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaExecutionContext.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/CorbaExecutionContext.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -78,14 +78,6 @@
 	 * @model
 	 * @generated
 	 */
-	int getComponentStateR(Component comp);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model
-	 * @generated
-	 */
 	int getComponentState(Component comp);
 
 	/**
@@ -94,14 +86,6 @@
 	 * @model
 	 * @generated
 	 */
-	void setComponentState(Component comp, int state);
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @model
-	 * @generated
-	 */
 	String getComponentStateName(Component comp);
 
 	RTC.ExecutionContext getCorbaObjectInterface();

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ExecutionContext.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ExecutionContext.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/ExecutionContext.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -10,6 +10,7 @@
  * @model
  */
 public interface ExecutionContext extends WrapperObject, IPropertyMap {
+
 	public static final int STATE_UNKNOWN = (0);
 	public static final int STATE_STOPPED = (1);
 	public static final int STATE_RUNNING = (2);
@@ -19,7 +20,7 @@
 	public static final int KIND_EVENT_DRIVEN = ExecutionKind.EVENT_DRIVEN
 			.value();
 	public static final int KIND_OTHER = ExecutionKind.OTHER.value();
-	
+
 	public static final int RTC_UNCERTAIN = -2;
 	public static final int RTC_UNKNOWN = -1;
 	public static final int RTC_CREATED = RTC.LifeCycleState._CREATED_STATE;
@@ -117,6 +118,14 @@
 
 	/**
 	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @model kind="operation"
+	 * @generated
+	 */
+	String getId();
+
+	/**
+	 * <!-- begin-user-doc -->
 	 * ExecutionContextの種類を表す文字列を返します。(UNKNOWN/PERIODIC/EVENT_DRIVEN/OTHER)
 	 * <!-- end-user-doc -->
 	 * @model kind="operation"

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentImpl.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentImpl.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentImpl.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -57,6 +57,7 @@
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getOutports <em>Outports</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getServiceports <em>Serviceports</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getComponents <em>Components</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getPrimaryExecutionContext <em>Primary Execution Context</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getExecutionContexts <em>Execution Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getParticipationContexts <em>Participation Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getExecutionContextHandler <em>Execution Context Handler</em>}</li>
@@ -73,6 +74,13 @@
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getCompositeTypeL <em>Composite Type L</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getComponentId <em>Component Id</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#isRequired <em>Required</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getStartUp <em>Start Up</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getShutDown <em>Shut Down</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getActivation <em>Activation</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getDeActivation <em>De Activation</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getResetting <em>Resetting</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getInitialize <em>Initialize</em>}</li>
+ *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.ComponentImpl#getFinalize <em>Finalize</em>}</li>
  * </ul>
  * </p>
  *
@@ -124,6 +132,16 @@
 	protected EList<Component> components;
 
 	/**
+	 * The cached value of the '{@link #getPrimaryExecutionContext() <em>Primary Execution Context</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getPrimaryExecutionContext()
+	 * @generated
+	 * @ordered
+	 */
+	protected ExecutionContext primaryExecutionContext;
+
+	/**
 	 * The cached value of the '{@link #getExecutionContexts() <em>Execution Contexts</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -394,10 +412,150 @@
 	protected boolean required = REQUIRED_EDEFAULT;
 
 	/**
+	 * The default value of the '{@link #getStartUp() <em>Start Up</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see #getStartUp()
 	 * @generated
+	 * @ordered
 	 */
+	protected static final String START_UP_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getStartUp() <em>Start Up</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStartUp()
+	 * @generated
+	 * @ordered
+	 */
+	protected String startUp = START_UP_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getShutDown() <em>Shut Down</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getShutDown()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String SHUT_DOWN_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getShutDown() <em>Shut Down</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getShutDown()
+	 * @generated
+	 * @ordered
+	 */
+	protected String shutDown = SHUT_DOWN_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ACTIVATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getActivation() <em>Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String activation = ACTIVATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDeActivation() <em>De Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DE_ACTIVATION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDeActivation() <em>De Activation</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDeActivation()
+	 * @generated
+	 * @ordered
+	 */
+	protected String deActivation = DE_ACTIVATION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getResetting() <em>Resetting</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResetting()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String RESETTING_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getResetting() <em>Resetting</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getResetting()
+	 * @generated
+	 * @ordered
+	 */
+	protected String resetting = RESETTING_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInitialize() <em>Initialize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitialize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String INITIALIZE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getInitialize() <em>Initialize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInitialize()
+	 * @generated
+	 * @ordered
+	 */
+	protected String initialize = INITIALIZE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getFinalize() <em>Finalize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinalize()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String FINALIZE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getFinalize() <em>Finalize</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getFinalize()
+	 * @generated
+	 * @ordered
+	 */
+	protected String finalize = FINALIZE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	protected ComponentImpl() {
 		super();
 	}
@@ -844,6 +1002,49 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public ExecutionContext getPrimaryExecutionContext() {
+		return primaryExecutionContext;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetPrimaryExecutionContext(ExecutionContext newPrimaryExecutionContext, NotificationChain msgs) {
+		ExecutionContext oldPrimaryExecutionContext = primaryExecutionContext;
+		primaryExecutionContext = newPrimaryExecutionContext;
+		if (eNotificationRequired()) {
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT, oldPrimaryExecutionContext, newPrimaryExecutionContext);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setPrimaryExecutionContext(ExecutionContext newPrimaryExecutionContext) {
+		if (newPrimaryExecutionContext != primaryExecutionContext) {
+			NotificationChain msgs = null;
+			if (primaryExecutionContext != null)
+				msgs = ((InternalEObject)primaryExecutionContext).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT, null, msgs);
+			if (newPrimaryExecutionContext != null)
+				msgs = ((InternalEObject)newPrimaryExecutionContext).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT, null, msgs);
+			msgs = basicSetPrimaryExecutionContext(newPrimaryExecutionContext, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT, newPrimaryExecutionContext, newPrimaryExecutionContext));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public String getComponentId() {
 		return componentId;
 	}
@@ -886,6 +1087,153 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public String getStartUp() {
+		return startUp;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setStartUp(String newStartUp) {
+		String oldStartUp = startUp;
+		startUp = newStartUp;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__START_UP, oldStartUp, startUp));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getShutDown() {
+		return shutDown;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setShutDown(String newShutDown) {
+		String oldShutDown = shutDown;
+		shutDown = newShutDown;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__SHUT_DOWN, oldShutDown, shutDown));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getActivation() {
+		return activation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setActivation(String newActivation) {
+		String oldActivation = activation;
+		activation = newActivation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__ACTIVATION, oldActivation, activation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getDeActivation() {
+		return deActivation;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setDeActivation(String newDeActivation) {
+		String oldDeActivation = deActivation;
+		deActivation = newDeActivation;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__DE_ACTIVATION, oldDeActivation, deActivation));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getResetting() {
+		return resetting;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setResetting(String newResetting) {
+		String oldResetting = resetting;
+		resetting = newResetting;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__RESETTING, oldResetting, resetting));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getInitialize() {
+		return initialize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setInitialize(String newInitialize) {
+		String oldInitialize = initialize;
+		initialize = newInitialize;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__INITIALIZE, oldInitialize, initialize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public String getFinalize() {
+		return finalize;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setFinalize(String newFinalize) {
+		String oldFinalize = finalize;
+		finalize = newFinalize;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.COMPONENT__FINALIZE, oldFinalize, finalize));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public SystemDiagram getChildSystemDiagram() {
 		if (childSystemDiagram != null && childSystemDiagram.eIsProxy()) {
 			InternalEObject oldChildSystemDiagram = (InternalEObject)childSystemDiagram;
@@ -1163,6 +1511,8 @@
 				return ((InternalEList<?>)getConfigurationSets()).basicRemove(otherEnd, msgs);
 			case ComponentPackage.COMPONENT__PORTS:
 				return ((InternalEList<?>)getPorts()).basicRemove(otherEnd, msgs);
+			case ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT:
+				return basicSetPrimaryExecutionContext(null, msgs);
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXTS:
 				return ((InternalEList<?>)getExecutionContexts()).basicRemove(otherEnd, msgs);
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXT_HANDLER:
@@ -1196,6 +1546,8 @@
 				return getServiceports();
 			case ComponentPackage.COMPONENT__COMPONENTS:
 				return getComponents();
+			case ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT:
+				return getPrimaryExecutionContext();
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXTS:
 				return getExecutionContexts();
 			case ComponentPackage.COMPONENT__PARTICIPATION_CONTEXTS:
@@ -1229,6 +1581,20 @@
 				return getComponentId();
 			case ComponentPackage.COMPONENT__REQUIRED:
 				return isRequired();
+			case ComponentPackage.COMPONENT__START_UP:
+				return getStartUp();
+			case ComponentPackage.COMPONENT__SHUT_DOWN:
+				return getShutDown();
+			case ComponentPackage.COMPONENT__ACTIVATION:
+				return getActivation();
+			case ComponentPackage.COMPONENT__DE_ACTIVATION:
+				return getDeActivation();
+			case ComponentPackage.COMPONENT__RESETTING:
+				return getResetting();
+			case ComponentPackage.COMPONENT__INITIALIZE:
+				return getInitialize();
+			case ComponentPackage.COMPONENT__FINALIZE:
+				return getFinalize();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -1257,6 +1623,9 @@
 				getComponents().clear();
 				getComponents().addAll((Collection<? extends Component>)newValue);
 				return;
+			case ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT:
+				setPrimaryExecutionContext((ExecutionContext)newValue);
+				return;
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXTS:
 				getExecutionContexts().clear();
 				getExecutionContexts().addAll((Collection<? extends ExecutionContext>)newValue);
@@ -1304,6 +1673,27 @@
 			case ComponentPackage.COMPONENT__REQUIRED:
 				setRequired((Boolean)newValue);
 				return;
+			case ComponentPackage.COMPONENT__START_UP:
+				setStartUp((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__SHUT_DOWN:
+				setShutDown((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__ACTIVATION:
+				setActivation((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__DE_ACTIVATION:
+				setDeActivation((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__RESETTING:
+				setResetting((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__INITIALIZE:
+				setInitialize((String)newValue);
+				return;
+			case ComponentPackage.COMPONENT__FINALIZE:
+				setFinalize((String)newValue);
+				return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -1328,6 +1718,9 @@
 			case ComponentPackage.COMPONENT__COMPONENTS:
 				getComponents().clear();
 				return;
+			case ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT:
+				setPrimaryExecutionContext((ExecutionContext)null);
+				return;
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXTS:
 				getExecutionContexts().clear();
 				return;
@@ -1373,6 +1766,27 @@
 			case ComponentPackage.COMPONENT__REQUIRED:
 				setRequired(REQUIRED_EDEFAULT);
 				return;
+			case ComponentPackage.COMPONENT__START_UP:
+				setStartUp(START_UP_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__SHUT_DOWN:
+				setShutDown(SHUT_DOWN_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__ACTIVATION:
+				setActivation(ACTIVATION_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__DE_ACTIVATION:
+				setDeActivation(DE_ACTIVATION_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__RESETTING:
+				setResetting(RESETTING_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__INITIALIZE:
+				setInitialize(INITIALIZE_EDEFAULT);
+				return;
+			case ComponentPackage.COMPONENT__FINALIZE:
+				setFinalize(FINALIZE_EDEFAULT);
+				return;
 		}
 		super.eUnset(featureID);
 	}
@@ -1399,6 +1813,8 @@
 				return !getServiceports().isEmpty();
 			case ComponentPackage.COMPONENT__COMPONENTS:
 				return components != null && !components.isEmpty();
+			case ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT:
+				return primaryExecutionContext != null;
 			case ComponentPackage.COMPONENT__EXECUTION_CONTEXTS:
 				return executionContexts != null && !executionContexts.isEmpty();
 			case ComponentPackage.COMPONENT__PARTICIPATION_CONTEXTS:
@@ -1431,6 +1847,20 @@
 				return COMPONENT_ID_EDEFAULT == null ? componentId != null : !COMPONENT_ID_EDEFAULT.equals(componentId);
 			case ComponentPackage.COMPONENT__REQUIRED:
 				return required != REQUIRED_EDEFAULT;
+			case ComponentPackage.COMPONENT__START_UP:
+				return START_UP_EDEFAULT == null ? startUp != null : !START_UP_EDEFAULT.equals(startUp);
+			case ComponentPackage.COMPONENT__SHUT_DOWN:
+				return SHUT_DOWN_EDEFAULT == null ? shutDown != null : !SHUT_DOWN_EDEFAULT.equals(shutDown);
+			case ComponentPackage.COMPONENT__ACTIVATION:
+				return ACTIVATION_EDEFAULT == null ? activation != null : !ACTIVATION_EDEFAULT.equals(activation);
+			case ComponentPackage.COMPONENT__DE_ACTIVATION:
+				return DE_ACTIVATION_EDEFAULT == null ? deActivation != null : !DE_ACTIVATION_EDEFAULT.equals(deActivation);
+			case ComponentPackage.COMPONENT__RESETTING:
+				return RESETTING_EDEFAULT == null ? resetting != null : !RESETTING_EDEFAULT.equals(resetting);
+			case ComponentPackage.COMPONENT__INITIALIZE:
+				return INITIALIZE_EDEFAULT == null ? initialize != null : !INITIALIZE_EDEFAULT.equals(initialize);
+			case ComponentPackage.COMPONENT__FINALIZE:
+				return FINALIZE_EDEFAULT == null ? finalize != null : !FINALIZE_EDEFAULT.equals(finalize);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -1467,6 +1897,20 @@
 		result.append(componentId);
 		result.append(", required: ");
 		result.append(required);
+		result.append(", startUp: ");
+		result.append(startUp);
+		result.append(", shutDown: ");
+		result.append(shutDown);
+		result.append(", activation: ");
+		result.append(activation);
+		result.append(", deActivation: ");
+		result.append(deActivation);
+		result.append(", resetting: ");
+		result.append(resetting);
+		result.append(", initialize: ");
+		result.append(initialize);
+		result.append(", finalize: ");
+		result.append(finalize);
 		result.append(')');
 		return result.toString();
 	}

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentPackageImpl.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentPackageImpl.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ComponentPackageImpl.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -487,7 +487,7 @@
 	 * @generated
 	 */
 	public EReference getComponent_ExecutionContexts() {
-		return (EReference)componentEClass.getEStructuralFeatures().get(7);
+		return (EReference)componentEClass.getEStructuralFeatures().get(8);
 	}
 
 	/**
@@ -496,7 +496,7 @@
 	 * @generated
 	 */
 	public EReference getComponent_ParticipationContexts() {
-		return (EReference)componentEClass.getEStructuralFeatures().get(8);
+		return (EReference)componentEClass.getEStructuralFeatures().get(9);
 	}
 
 	/**
@@ -505,7 +505,7 @@
 	 * @generated
 	 */
 	public EReference getComponent_ExecutionContextHandler() {
-		return (EReference)componentEClass.getEStructuralFeatures().get(9);
+		return (EReference)componentEClass.getEStructuralFeatures().get(10);
 	}
 
 	/**
@@ -514,7 +514,7 @@
 	 * @generated
 	 */
 	public EReference getComponent_ParticipationContextHandler() {
-		return (EReference)componentEClass.getEStructuralFeatures().get(10);
+		return (EReference)componentEClass.getEStructuralFeatures().get(11);
 	}
 
 	/**
@@ -523,7 +523,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_InstanceNameL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(12);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(13);
 	}
 
 	/**
@@ -532,7 +532,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_VenderL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(13);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(14);
 	}
 
 	/**
@@ -541,7 +541,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_DescriptionL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(14);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(15);
 	}
 
 	/**
@@ -550,7 +550,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_CategoryL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(15);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(16);
 	}
 
 	/**
@@ -559,7 +559,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_TypeNameL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(16);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(17);
 	}
 
 	/**
@@ -568,7 +568,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_VersionL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(17);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(18);
 	}
 
 	/**
@@ -577,7 +577,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_PathId() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(18);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(19);
 	}
 
 	/**
@@ -586,7 +586,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_OutportDirection() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(19);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(20);
 	}
 
 	/**
@@ -595,7 +595,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_CompositeTypeL() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(20);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(21);
 	}
 
 	/**
@@ -612,8 +612,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EReference getComponent_PrimaryExecutionContext() {
+		return (EReference)componentEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EAttribute getComponent_ComponentId() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(21);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(22);
 	}
 
 	/**
@@ -622,7 +631,7 @@
 	 * @generated
 	 */
 	public EAttribute getComponent_Required() {
-		return (EAttribute)componentEClass.getEStructuralFeatures().get(22);
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(23);
 	}
 
 	/**
@@ -630,8 +639,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getComponent_ChildSystemDiagram() {
-		return (EReference)componentEClass.getEStructuralFeatures().get(11);
+	public EAttribute getComponent_StartUp() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(24);
 	}
 
 	/**
@@ -639,8 +648,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getCorbaComponent() {
-		return corbaComponentEClass;
+	public EAttribute getComponent_ShutDown() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(25);
 	}
 
 	/**
@@ -648,8 +657,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getCorbaComponent_ExecutionContextState() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(0);
+	public EAttribute getComponent_Activation() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(26);
 	}
 
 	/**
@@ -657,8 +666,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EAttribute getCorbaComponent_ComponentState() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(1);
+	public EAttribute getComponent_DeActivation() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(27);
 	}
 
 	/**
@@ -666,8 +675,53 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EAttribute getComponent_Resetting() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(28);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getComponent_Initialize() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(29);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getComponent_Finalize() {
+		return (EAttribute)componentEClass.getEStructuralFeatures().get(30);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getComponent_ChildSystemDiagram() {
+		return (EReference)componentEClass.getEStructuralFeatures().get(12);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getCorbaComponent() {
+		return corbaComponentEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EAttribute getCorbaComponent_SDOConfiguration() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(5);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -676,7 +730,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_RTCComponentProfile() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(2);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -685,7 +739,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_RTCExecutionContexts() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(3);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -694,7 +748,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_RTCParticipationContexts() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(4);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -703,7 +757,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_SDOOrganization() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(6);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -712,7 +766,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_RTCRTObjects() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(7);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -721,7 +775,7 @@
 	 * @generated
 	 */
 	public EAttribute getCorbaComponent_Ior() {
-		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(8);
+		return (EAttribute)corbaComponentEClass.getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -730,7 +784,7 @@
 	 * @generated
 	 */
 	public EReference getCorbaComponent_StatusObserver() {
-		return (EReference)corbaComponentEClass.getEStructuralFeatures().get(9);
+		return (EReference)corbaComponentEClass.getEStructuralFeatures().get(7);
 	}
 
 	/**
@@ -739,7 +793,7 @@
 	 * @generated
 	 */
 	public EReference getCorbaComponent_LogObserver() {
-		return (EReference)corbaComponentEClass.getEStructuralFeatures().get(10);
+		return (EReference)corbaComponentEClass.getEStructuralFeatures().get(8);
 	}
 
 	/**
@@ -1787,6 +1841,7 @@
 		createEReference(componentEClass, COMPONENT__OUTPORTS);
 		createEReference(componentEClass, COMPONENT__SERVICEPORTS);
 		createEReference(componentEClass, COMPONENT__COMPONENTS);
+		createEReference(componentEClass, COMPONENT__PRIMARY_EXECUTION_CONTEXT);
 		createEReference(componentEClass, COMPONENT__EXECUTION_CONTEXTS);
 		createEReference(componentEClass, COMPONENT__PARTICIPATION_CONTEXTS);
 		createEReference(componentEClass, COMPONENT__EXECUTION_CONTEXT_HANDLER);
@@ -1803,6 +1858,13 @@
 		createEAttribute(componentEClass, COMPONENT__COMPOSITE_TYPE_L);
 		createEAttribute(componentEClass, COMPONENT__COMPONENT_ID);
 		createEAttribute(componentEClass, COMPONENT__REQUIRED);
+		createEAttribute(componentEClass, COMPONENT__START_UP);
+		createEAttribute(componentEClass, COMPONENT__SHUT_DOWN);
+		createEAttribute(componentEClass, COMPONENT__ACTIVATION);
+		createEAttribute(componentEClass, COMPONENT__DE_ACTIVATION);
+		createEAttribute(componentEClass, COMPONENT__RESETTING);
+		createEAttribute(componentEClass, COMPONENT__INITIALIZE);
+		createEAttribute(componentEClass, COMPONENT__FINALIZE);
 
 		componentSpecificationEClass = createEClass(COMPONENT_SPECIFICATION);
 		createEAttribute(componentSpecificationEClass, COMPONENT_SPECIFICATION__ALIAS_NAME);
@@ -1892,8 +1954,6 @@
 		iPropertyMapEClass = createEClass(IPROPERTY_MAP);
 
 		corbaComponentEClass = createEClass(CORBA_COMPONENT);
-		createEAttribute(corbaComponentEClass, CORBA_COMPONENT__EXECUTION_CONTEXT_STATE);
-		createEAttribute(corbaComponentEClass, CORBA_COMPONENT__COMPONENT_STATE);
 		createEAttribute(corbaComponentEClass, CORBA_COMPONENT__RTC_COMPONENT_PROFILE);
 		createEAttribute(corbaComponentEClass, CORBA_COMPONENT__RTC_EXECUTION_CONTEXTS);
 		createEAttribute(corbaComponentEClass, CORBA_COMPONENT__RTC_PARTICIPATION_CONTEXTS);
@@ -2038,6 +2098,7 @@
 		initEReference(getComponent_Outports(), this.getOutPort(), null, "outports", null, 0, -1, Component.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getComponent_Serviceports(), this.getServicePort(), null, "serviceports", null, 0, -1, Component.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getComponent_Components(), this.getComponent(), null, "components", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getComponent_PrimaryExecutionContext(), this.getExecutionContext(), null, "primaryExecutionContext", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getComponent_ExecutionContexts(), this.getExecutionContext(), null, "executionContexts", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getComponent_ParticipationContexts(), this.getExecutionContext(), null, "participationContexts", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getComponent_ExecutionContextHandler(), this.getContextHandler(), null, "executionContextHandler", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2054,6 +2115,13 @@
 		initEAttribute(getComponent_CompositeTypeL(), ecorePackage.getEString(), "compositeTypeL", null, 0, 1, Component.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getComponent_ComponentId(), ecorePackage.getEString(), "componentId", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getComponent_Required(), ecorePackage.getEBoolean(), "required", "false", 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_StartUp(), ecorePackage.getEString(), "startUp", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_ShutDown(), ecorePackage.getEString(), "shutDown", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_Activation(), ecorePackage.getEString(), "activation", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_DeActivation(), ecorePackage.getEString(), "deActivation", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_Resetting(), ecorePackage.getEString(), "resetting", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_Initialize(), ecorePackage.getEString(), "initialize", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getComponent_Finalize(), ecorePackage.getEString(), "finalize", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		addEOperation(componentEClass, this.getComponent(), "getAllComponents", 0, -1, IS_UNIQUE, IS_ORDERED);
 
@@ -2100,6 +2168,8 @@
 		initEReference(getExecutionContext_Owner(), this.getComponent(), null, "owner", null, 0, 1, ExecutionContext.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getExecutionContext_Participants(), this.getComponent(), null, "participants", null, 0, -1, ExecutionContext.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		addEOperation(executionContextEClass, ecorePackage.getEString(), "getId", 0, 1, IS_UNIQUE, IS_ORDERED);
+
 		addEOperation(executionContextEClass, ecorePackage.getEString(), "getKindName", 0, 1, IS_UNIQUE, IS_ORDERED);
 
 		addEOperation(executionContextEClass, ecorePackage.getEString(), "getStateName", 0, 1, IS_UNIQUE, IS_ORDERED);
@@ -2255,8 +2325,6 @@
 		addEOperation(iPropertyMapEClass, this.getIPropertyMap(), "getPropertyMap", 0, 1, IS_UNIQUE, IS_ORDERED);
 
 		initEClass(corbaComponentEClass, CorbaComponent.class, "CorbaComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getCorbaComponent_ExecutionContextState(), ecorePackage.getEInt(), "executionContextState", "0", 0, 1, CorbaComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getCorbaComponent_ComponentState(), ecorePackage.getEInt(), "componentState", "1", 0, 1, CorbaComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCorbaComponent_RTCComponentProfile(), this.getRTCComponentProfile(), "rTCComponentProfile", null, 0, 1, CorbaComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCorbaComponent_RTCExecutionContexts(), this.getRTCExecutionContext(), "rTCExecutionContexts", "", 0, -1, CorbaComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getCorbaComponent_RTCParticipationContexts(), this.getRTCExecutionContext(), "rTCParticipationContexts", "", 0, -1, CorbaComponent.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -2281,10 +2349,32 @@
 
 		addEOperation(corbaComponentEClass, ecorePackage.getEInt(), "exitR", 0, 1, IS_UNIQUE, IS_ORDERED);
 
+		addEOperation(corbaComponentEClass, ecorePackage.getEInt(), "getExecutionContextState", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		op = addEOperation(corbaComponentEClass, ecorePackage.getEInt(), "getExecutionContextState", 0, 1, IS_UNIQUE, IS_ORDERED);
+		addEParameter(op, this.getExecutionContext(), "ec", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, ecorePackage.getEString(), "getExecutionContextStateName", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		op = addEOperation(corbaComponentEClass, ecorePackage.getEString(), "getExecutionContextStateName", 0, 1, IS_UNIQUE, IS_ORDERED);
+		addEParameter(op, this.getExecutionContext(), "ec", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, ecorePackage.getEInt(), "getComponentState", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, ecorePackage.getEString(), "getComponentStateName", 0, 1, IS_UNIQUE, IS_ORDERED);
+
 		addEOperation(corbaComponentEClass, this.getRTCRTObject(), "getCorbaObjectInterface", 0, 1, IS_UNIQUE, IS_ORDERED);
 
 		addEOperation(corbaComponentEClass, ecorePackage.getEBoolean(), "supportedCorbaObserver", 0, 1, IS_UNIQUE, IS_ORDERED);
 
+		addEOperation(corbaComponentEClass, null, "activateAll", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, null, "deactivateAll", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, null, "startAll", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+		addEOperation(corbaComponentEClass, null, "stopAll", 0, 1, IS_UNIQUE, IS_ORDERED);
+
 		initEClass(corbaPortSynchronizerEClass, CorbaPortSynchronizer.class, "CorbaPortSynchronizer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getCorbaPortSynchronizer_RTCPortProfile(), this.getRTCPortProfile(), "rTCPortProfile", null, 0, 1, CorbaPortSynchronizer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
@@ -2310,16 +2400,9 @@
 		op = addEOperation(corbaExecutionContextEClass, ecorePackage.getEInt(), "resetR", 0, 1, IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, this.getComponent(), "comp", 0, 1, IS_UNIQUE, IS_ORDERED);
 
-		op = addEOperation(corbaExecutionContextEClass, ecorePackage.getEInt(), "getComponentStateR", 0, 1, IS_UNIQUE, IS_ORDERED);
-		addEParameter(op, this.getComponent(), "comp", 0, 1, IS_UNIQUE, IS_ORDERED);
-
 		op = addEOperation(corbaExecutionContextEClass, ecorePackage.getEInt(), "getComponentState", 0, 1, IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, this.getComponent(), "comp", 0, 1, IS_UNIQUE, IS_ORDERED);
 
-		op = addEOperation(corbaExecutionContextEClass, null, "setComponentState", 0, 1, IS_UNIQUE, IS_ORDERED);
-		addEParameter(op, this.getComponent(), "comp", 0, 1, IS_UNIQUE, IS_ORDERED);
-		addEParameter(op, ecorePackage.getEInt(), "state", 0, 1, IS_UNIQUE, IS_ORDERED);
-
 		op = addEOperation(corbaExecutionContextEClass, ecorePackage.getEString(), "getComponentStateName", 0, 1, IS_UNIQUE, IS_ORDERED);
 		addEParameter(op, this.getComponent(), "comp", 0, 1, IS_UNIQUE, IS_ORDERED);
 

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaComponentImpl.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaComponentImpl.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaComponentImpl.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -6,10 +6,18 @@
  */
 package jp.go.aist.rtm.toolscommon.model.component.impl;
 
+import static jp.go.aist.rtm.toolscommon.model.component.ExecutionContext.RTC_UNKNOWN;
+import static jp.go.aist.rtm.toolscommon.model.component.impl.ExecutionContextImpl.EC_STATUS_LABEL;
+import static jp.go.aist.rtm.toolscommon.model.component.impl.ExecutionContextImpl.RTC_STATUS;
+import static jp.go.aist.rtm.toolscommon.model.component.impl.ExecutionContextImpl.RTC_STATUS_LABEL;
+import static jp.go.aist.rtm.toolscommon.util.RTMixin.eql;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import jp.go.aist.rtm.toolscommon.factory.CorbaWrapperFactory;
 import jp.go.aist.rtm.toolscommon.model.component.Component;
@@ -60,6 +68,7 @@
 
 import RTC.ComponentProfile;
 import RTC.RTObject;
+import RTC.ReturnCode_t;
 import _SDOPackage.Configuration;
 import _SDOPackage.InternalError;
 import _SDOPackage.InvalidParameter;
@@ -67,9 +76,6 @@
 import _SDOPackage.Organization;
 import _SDOPackage.SDO;
 
-import static jp.go.aist.rtm.toolscommon.model.component.impl.CorbaExecutionContextImpl.RTC_STATUS;
-import static jp.go.aist.rtm.toolscommon.util.RTMixin.*;
-
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Corba Component</b></em>'.
@@ -78,8 +84,6 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getCorbaObject <em>Corba Object</em>}</li>
- *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getExecutionContextState <em>Execution Context State</em>}</li>
- *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getComponentState <em>Component State</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getRTCComponentProfile <em>RTC Component Profile</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getRTCExecutionContexts <em>RTC Execution Contexts</em>}</li>
  *   <li>{@link jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl#getRTCParticipationContexts <em>RTC Participation Contexts</em>}</li>
@@ -120,46 +124,6 @@
 	protected org.omg.CORBA.Object corbaObject = CORBA_OBJECT_EDEFAULT;
 
 	/**
-	 * The default value of the '{@link #getExecutionContextState() <em>Execution Context State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExecutionContextState()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int EXECUTION_CONTEXT_STATE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getExecutionContextState() <em>Execution Context State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getExecutionContextState()
-	 * @generated
-	 * @ordered
-	 */
-	protected int executionContextState = EXECUTION_CONTEXT_STATE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getComponentState() <em>Component State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentState()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int COMPONENT_STATE_EDEFAULT = 1;
-
-	/**
-	 * The cached value of the '{@link #getComponentState() <em>Component State</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getComponentState()
-	 * @generated
-	 * @ordered
-	 */
-	protected int componentState = COMPONENT_STATE_EDEFAULT;
-
-	/**
 	 * The default value of the '{@link #getRTCComponentProfile() <em>RTC Component Profile</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -350,52 +314,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getExecutionContextState() {
-		return executionContextState;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setExecutionContextState(int newExecutionContextState) {
-		int oldExecutionContextState = executionContextState;
-		executionContextState = newExecutionContextState;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.CORBA_COMPONENT__EXECUTION_CONTEXT_STATE, oldExecutionContextState, executionContextState));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public int getComponentState() {
-		return componentState;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setComponentState(int newComponentState) {
-		int oldComponentState = componentState;
-		componentState = newComponentState;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, ComponentPackage.CORBA_COMPONENT__COMPONENT_STATE, oldComponentState, componentState));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
 	 * @generated NOT
 	 */
 	@Override
@@ -623,13 +541,6 @@
 	}
 
 	@Override
-	public RTC.ExecutionContext getPrimaryRTCExecutionContext() {
-		if (getRTCExecutionContexts().size() > 0)
-			return getRTCExecutionContexts().get(0);
-		return null;
-	}
-
-	@Override
 	public ContextHandler getExecutionContextHandler() {
 		if (executionContextHandler == null) {
 			setExecutionContextHandler(new CorbaContextHandlerImpl());
@@ -652,8 +563,10 @@
 	 */
 	@Override
 	public int startR() {
-		if (getPrimaryRTCExecutionContext() != null) {
-			return getPrimaryRTCExecutionContext().start().value();
+		ExecutionContext pec = getPrimaryExecutionContext();
+		if (pec != null && pec instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) pec;
+			return cec.getCorbaObjectInterface().start().value();
 		}
 		return RETURNCODE_ERROR;
 	}
@@ -672,8 +585,10 @@
 	 */
 	@Override
 	public int stopR() {
-		if (getPrimaryRTCExecutionContext() != null) {
-			return getPrimaryRTCExecutionContext().stop().value();
+		ExecutionContext pec = getPrimaryExecutionContext();
+		if (pec != null && pec instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) pec;
+			return cec.getCorbaObjectInterface().stop().value();
 		}
 		return RETURNCODE_ERROR;
 	}
@@ -692,9 +607,11 @@
 	 */
 	@Override
 	public int activateR() {
-		if (getPrimaryRTCExecutionContext() != null) {
-			return getPrimaryRTCExecutionContext().activate_component(
-					getCorbaObjectInterface()).value();
+		ExecutionContext pec = getPrimaryExecutionContext();
+		if (pec != null && pec instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) pec;
+			return cec.getCorbaObjectInterface()
+					.activate_component(getCorbaObjectInterface()).value();
 		}
 		return RETURNCODE_ERROR;
 	}
@@ -713,9 +630,11 @@
 	 */
 	@Override
 	public int deactivateR() {
-		if (getPrimaryRTCExecutionContext() != null) {
-			return getPrimaryRTCExecutionContext().deactivate_component(
-					getCorbaObjectInterface()).value();
+		ExecutionContext pec = getPrimaryExecutionContext();
+		if (pec != null && pec instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) pec;
+			return cec.getCorbaObjectInterface()
+					.deactivate_component(getCorbaObjectInterface()).value();
 		}
 		return RETURNCODE_ERROR;
 	}
@@ -723,7 +642,10 @@
 	@Override
 	public void deactivateAll() {
 		for (RTC.ExecutionContext ec : getRTCExecutionContexts()) {
-			ec.deactivate_component(getCorbaObjectInterface());
+			ReturnCode_t ret = ec.deactivate_component(getCorbaObjectInterface());
+			if(ret == ReturnCode_t.RTC_ERROR) {
+				ec.reset_component(getCorbaObjectInterface());
+			}
 		}
 	}
 
@@ -734,9 +656,11 @@
 	 */
 	@Override
 	public int resetR() {
-		if (getPrimaryRTCExecutionContext() != null) {
-			return getPrimaryRTCExecutionContext().reset_component(
-					getCorbaObjectInterface()).value();
+		ExecutionContext pec = getPrimaryExecutionContext();
+		if (pec != null && pec instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) pec;
+			return cec.getCorbaObjectInterface()
+					.reset_component(getCorbaObjectInterface()).value();
 		}
 		return RETURNCODE_ERROR;
 	}
@@ -761,9 +685,130 @@
 		return getCorbaObjectInterface().exit().value();
 	}
 
+	@Override
+	public ExecutionContext getPrimaryExecutionContext() {
+		RTC.ExecutionContext rec = CorbaObjectStore.eINSTANCE
+				.findPrimaryContext(getCorbaObjectInterface());
+		if (rec == null) {
+			return null;
+		}
+		for (ExecutionContext ec : getExecutionContexts()) {
+			if (ec instanceof CorbaExecutionContext) {
+				CorbaExecutionContext cec = (CorbaExecutionContext) ec;
+				if (rec.equals(cec.getCorbaObjectInterface())) {
+					return cec;
+				}
+			}
+		}
+		return null;
+	}
+
+	@Override
+	public void setPrimaryExecutionContext(
+			ExecutionContext newPrimaryExecutionContext) {
+		ExecutionContext oldPrimaryExecutionContext = getPrimaryExecutionContext();
+		if (oldPrimaryExecutionContext == newPrimaryExecutionContext) {
+			return;
+		}
+		if (newPrimaryExecutionContext == null) {
+			CorbaObjectStore.eINSTANCE
+					.removePrimaryContext(getCorbaObjectInterface());
+			if (eNotificationRequired()) {
+				eNotify(new ENotificationImpl(this, Notification.REMOVE,
+						ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT,
+						newPrimaryExecutionContext, newPrimaryExecutionContext));
+			}
+		}
+		if (newPrimaryExecutionContext instanceof CorbaExecutionContext) {
+			CorbaExecutionContext cec = (CorbaExecutionContext) newPrimaryExecutionContext;
+			RTC.ExecutionContext rec = cec.getCorbaObjectInterface();
+			CorbaObjectStore.eINSTANCE.registPrimaryContext(
+					getCorbaObjectInterface(), rec);
+			if (eNotificationRequired()) {
+				eNotify(new ENotificationImpl(this, Notification.SET,
+						ComponentPackage.COMPONENT__PRIMARY_EXECUTION_CONTEXT,
+						oldPrimaryExecutionContext, newPrimaryExecutionContext));
+			}
+		}
+	}
+
 	/**
+	 * <!-- begin-user-doc --> <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public int getExecutionContextState() {
+		return getExecutionContextState(getPrimaryExecutionContext());
+	}
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public int getExecutionContextState(ExecutionContext ec) {
+		CorbaExecutionContext cec = (CorbaExecutionContext) ec;
+		if (cec != null) {
+			return cec.getStateL();
+		}
+		return STATE_UNKNOWN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public String getExecutionContextStateName() {
+		return EC_STATUS_LABEL(getExecutionContextState());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public String getExecutionContextStateName(ExecutionContext ec) {
+		return EC_STATUS_LABEL(getExecutionContextState(ec));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public int getComponentState() {
+		CorbaExecutionContext cec = (CorbaExecutionContext) getPrimaryExecutionContext();
+		if (cec != null) {
+			Integer state = this.componentStateCache.get(cec.getCorbaObjectInterface());
+			if (state != null) {
+				return state;
+			}
+		}
+//		if (cec != null) {
+//			return cec.getComponentState(this);
+//		}
+		return RTC_UNKNOWN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	@Override
+	public String getComponentStateName() {
+		return RTC_STATUS_LABEL(getComponentState());
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
@@ -771,10 +816,6 @@
 		switch (featureID) {
 			case ComponentPackage.CORBA_COMPONENT__CORBA_OBJECT:
 				return getCorbaObject();
-			case ComponentPackage.CORBA_COMPONENT__EXECUTION_CONTEXT_STATE:
-				return getExecutionContextState();
-			case ComponentPackage.CORBA_COMPONENT__COMPONENT_STATE:
-				return getComponentState();
 			case ComponentPackage.CORBA_COMPONENT__RTC_COMPONENT_PROFILE:
 				return getRTCComponentProfile();
 			case ComponentPackage.CORBA_COMPONENT__RTC_EXECUTION_CONTEXTS:
@@ -811,12 +852,6 @@
 			case ComponentPackage.CORBA_COMPONENT__CORBA_OBJECT:
 				setCorbaObject((org.omg.CORBA.Object)newValue);
 				return;
-			case ComponentPackage.CORBA_COMPONENT__EXECUTION_CONTEXT_STATE:
-				setExecutionContextState((Integer)newValue);
-				return;
-			case ComponentPackage.CORBA_COMPONENT__COMPONENT_STATE:
-				setComponentState((Integer)newValue);
-				return;
 			case ComponentPackage.CORBA_COMPONENT__RTC_COMPONENT_PROFILE:
 				setRTCComponentProfile((ComponentProfile)newValue);
 				return;
@@ -862,12 +897,6 @@
 			case ComponentPackage.CORBA_COMPONENT__CORBA_OBJECT:
 				setCorbaObject(CORBA_OBJECT_EDEFAULT);
 				return;
-			case ComponentPackage.CORBA_COMPONENT__EXECUTION_CONTEXT_STATE:
-				setExecutionContextState(EXECUTION_CONTEXT_STATE_EDEFAULT);
-				return;
-			case ComponentPackage.CORBA_COMPONENT__COMPONENT_STATE:
-				setComponentState(COMPONENT_STATE_EDEFAULT);
-				return;
 			case ComponentPackage.CORBA_COMPONENT__RTC_COMPONENT_PROFILE:
 				setRTCComponentProfile(RTC_COMPONENT_PROFILE_EDEFAULT);
 				return;
@@ -909,10 +938,6 @@
 		switch (featureID) {
 			case ComponentPackage.CORBA_COMPONENT__CORBA_OBJECT:
 				return CORBA_OBJECT_EDEFAULT == null ? corbaObject != null : !CORBA_OBJECT_EDEFAULT.equals(corbaObject);
-			case ComponentPackage.CORBA_COMPONENT__EXECUTION_CONTEXT_STATE:
-				return executionContextState != EXECUTION_CONTEXT_STATE_EDEFAULT;
-			case ComponentPackage.CORBA_COMPONENT__COMPONENT_STATE:
-				return componentState != COMPONENT_STATE_EDEFAULT;
 			case ComponentPackage.CORBA_COMPONENT__RTC_COMPONENT_PROFILE:
 				return RTC_COMPONENT_PROFILE_EDEFAULT == null ? rTCComponentProfile != null : !RTC_COMPONENT_PROFILE_EDEFAULT.equals(rTCComponentProfile);
 			case ComponentPackage.CORBA_COMPONENT__RTC_EXECUTION_CONTEXTS:
@@ -979,10 +1004,6 @@
 		StringBuffer result = new StringBuffer(super.toString());
 		result.append(" (corbaObject: ");
 		result.append(corbaObject);
-		result.append(", executionContextState: ");
-		result.append(executionContextState);
-		result.append(", componentState: ");
-		result.append(componentState);
 		result.append(", rTCComponentProfile: ");
 		result.append(rTCComponentProfile);
 		result.append(", rTCExecutionContexts: ");
@@ -1419,11 +1440,14 @@
 	}
 
 	public static void synchronizeRemote_RTCComponentProfile(RTC.RTObject ro) {
+		// LOGGER.debug("synchronizeRemote_RTCComponentProfile: ro={}", ro);
 		try {
 			RTC.ComponentProfile prof = ro.get_component_profile();
 			CorbaObjectStore.eINSTANCE.registRTCProfile(ro, prof);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeRTCProfile(ro);
+			LOGGER.error("Fail to sync RTC.ComponentProfile: rtc={}", ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
@@ -1435,6 +1459,8 @@
 
 	public static void synchronizeRemote_RTCPortProfile(RTC.RTObject ro,
 			String name) {
+		// LOGGER.debug("synchronizeRemote_RTCPortProfile: name={} ro={}", name,
+		// ro);
 		RTC.PortProfile prof = CorbaObjectStore.eINSTANCE.findRTCPortProfile(
 				ro, name);
 		if (prof != null) {
@@ -1443,7 +1469,9 @@
 				CorbaObjectStore.eINSTANCE
 						.registRTCPortProfile(ro, name, pprof);
 			} catch (Exception e) {
-				// void
+				LOGGER.error("Fail to sync RTC.PortProfile: name={} rtc={}",
+						name, ro);
+				LOGGER.error("ERROR:", e);
 			}
 		}
 	}
@@ -1465,6 +1493,7 @@
 	}
 
 	public static void synchronizeRemote_RTCExecutionContexts(RTC.RTObject ro) {
+		// LOGGER.debug("synchronizeRemote_RTCExecutionContexts: ro={}", ro);
 		boolean update = false;
 		try {
 			// owned context
@@ -1488,13 +1517,13 @@
 				CorbaObjectStore.eINSTANCE.clearContext(ro);
 				for (RTC.ExecutionContext ec : oec) {
 					int handle = ro.get_context_handle(ec);
-					CorbaObjectStore.eINSTANCE.registContext(ro, Integer
-							.toString(handle), ec);
+					CorbaObjectStore.eINSTANCE.registContext(ro,
+							Integer.toString(handle), ec);
 				}
 				for (RTC.ExecutionContext ec : pec) {
 					int handle = ro.get_context_handle(ec);
-					CorbaObjectStore.eINSTANCE.registContext(ro, Integer
-							.toString(handle), ec);
+					CorbaObjectStore.eINSTANCE.registContext(ro,
+							Integer.toString(handle), ec);
 				}
 			}
 		} catch (Exception e) {
@@ -1501,6 +1530,8 @@
 			CorbaObjectStore.eINSTANCE.removeOwnedContexts(ro);
 			CorbaObjectStore.eINSTANCE.removeParticipatingContexts(ro);
 			CorbaObjectStore.eINSTANCE.clearContext(ro);
+			LOGGER.error("Fail to sync RTC.ExecutionContext: rtc={}", ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
@@ -1512,6 +1543,7 @@
 
 	public static void synchronizeRemote_EC_ComponentState(RTC.RTObject ro,
 			RTC.ExecutionContext ec) {
+		// LOGGER.debug("synchronizeRemote_EC_ComponentState: ro={}", ro);
 		try {
 			RTC.LifeCycleState state = ec.get_component_state(ro);
 			int stateValue = RTC_STATUS(state);
@@ -1518,11 +1550,14 @@
 			CorbaObjectStore.eINSTANCE.registComponentState(ec, ro, stateValue);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeComponentStateMap(ec);
+			LOGGER.error("Fail to sync RTC status: ec={} rtc={}", ec, ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
 	/** RTC.ExecutionContextの同期(ec_state) (CORBA=>オブジェクトDB) */
 	public static void synchronizeRemote_EC_ECState(RTC.ExecutionContext ec) {
+		// LOGGER.debug("synchronizeRemote_EC_ECState: ec={}", ec);
 		try {
 			int ecStateValue = ExecutionContext.STATE_UNKNOWN;
 			if (ec.is_running()) {
@@ -1533,11 +1568,14 @@
 			CorbaObjectStore.eINSTANCE.registECState(ec, ecStateValue);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeECState(ec);
+			LOGGER.error("Fail to sync EC status: ec={}", ec);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
 	/** RTC.ExecutionContextの同期(ec_profile) (CORBA=>オブジェクトDB) */
 	public static void synchronizeRemote_EC_ECProfile(RTC.ExecutionContext ec) {
+		// LOGGER.debug("synchronizeRemote_EC_ECProfile: ec={}", ec);
 		try {
 			RTC.ExecutionContextProfile prof;
 			if (ec._is_a(RTC.ExecutionContextServiceHelper.id())) {
@@ -1549,12 +1587,22 @@
 				prof.rate = ec.get_rate();
 				prof.kind = ec.get_kind();
 			}
+			if (prof.owner == null) {
+				RTObject owner = CorbaObjectStore.eINSTANCE.findContextOwner(ec);
+				if (owner != null) {
+					prof.owner = owner;
+				}
+			}
 			CorbaObjectStore.eINSTANCE.registECProfile(ec, prof);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeECProfile(ec);
+			LOGGER.error("Fail to sync RTC.ExecutionContextProfile: ec={}", ec);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
+	private Map<RTC.ExecutionContext, Integer> componentStateCache = new HashMap<>();
+	
 	/** RTC.ExecutionContextの同期 (オブジェクトDB=>モデル) */
 	public void synchronizeLocal_RTCExecutionContexts() {
 		RTC.RTObject ro = getCorbaObjectInterface();
@@ -1564,28 +1612,32 @@
 		if (oec == null) {
 			getRTCExecutionContexts().clear();
 		} else {
-			if (!eql(getRTCExecutionContexts().toArray(
-					new RTC.ExecutionContext[0]), oec)) {
+			if (!eql(
+					getRTCExecutionContexts().toArray(
+							new RTC.ExecutionContext[0]), oec)) {
 				getRTCExecutionContexts().clear();
 				for (RTC.ExecutionContext ec : oec) {
 					getRTCExecutionContexts().add(ec);
 				}
 			}
-			for (RTC.ExecutionContext ec : oec) {
-				if (!eql(ec, getPrimaryRTCExecutionContext())) {
-					continue;
-				}
-				Integer stateValue = CorbaObjectStore.eINSTANCE
+			// プライマリEC からコンポーネント状態を判定
+			CorbaExecutionContext pec = (CorbaExecutionContext) getPrimaryExecutionContext();
+			if (pec != null) {
+				RTC.ExecutionContext ec = pec.getCorbaObjectInterface();
+				Integer newState = CorbaObjectStore.eINSTANCE
 						.findComponentState(ec, ro);
-				Integer ecStateValue = CorbaObjectStore.eINSTANCE
-						.findECState(ec);
-				if (stateValue != null && stateValue != getComponentState()) {
-					setComponentState(stateValue);
+				Integer oldState = this.componentStateCache.get(ec);
+				if (!eql(oldState, newState)) {
+					this.componentStateCache.put(ec, newState);
+					if (eNotificationRequired()) {
+						// コンポーネントの状態通知 (featureは仮)
+						eNotify(new ENotificationImpl(
+								this,
+								Notification.SET,
+								ComponentPackage.CORBA_COMPONENT__RTC_COMPONENT_PROFILE,
+								oldState, newState));
+					}
 				}
-				if (ecStateValue != null
-						&& ecStateValue != getExecutionContextState()) {
-					setExecutionContextState(ecStateValue);
-				}
 			}
 		}
 		// participating context
@@ -1594,8 +1646,9 @@
 		if (pec == null) {
 			getRTCParticipationContexts().clear();
 		} else {
-			if (!eql(getRTCParticipationContexts().toArray(
-					new RTC.ExecutionContext[0]), pec)) {
+			if (!eql(
+					getRTCParticipationContexts().toArray(
+							new RTC.ExecutionContext[0]), pec)) {
 				getRTCParticipationContexts().clear();
 				for (RTC.ExecutionContext ec : pec) {
 					getRTCParticipationContexts().add(ec);
@@ -1611,6 +1664,7 @@
 	}
 
 	public static void synchronizeRemote_ConfigurationSets(RTC.RTObject ro) {
+		// LOGGER.debug("synchronizeRemote_ConfigurationSets: ro={}", ro);
 		try {
 			_SDOPackage.Configuration conf = ro.get_configuration();
 			_SDOPackage.ConfigurationSet[] cs = conf.get_configuration_sets();
@@ -1617,6 +1671,8 @@
 			CorbaObjectStore.eINSTANCE.registConfigSet(ro, cs);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeConfigSet(ro);
+			LOGGER.error("Fail to sync SDO.ConfigurationSet: rtc={}", ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
@@ -1663,6 +1719,7 @@
 	}
 
 	public static void synchronizeRemote_ActiveConfigurationSet(RTC.RTObject ro) {
+		// LOGGER.debug("synchronizeRemote_ActiveConfigurationSet: ro={}", ro);
 		try {
 			_SDOPackage.Configuration conf = ro.get_configuration();
 			_SDOPackage.ConfigurationSet cs = conf
@@ -1670,6 +1727,8 @@
 			CorbaObjectStore.eINSTANCE.registActiveConfigSet(ro, cs);
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeActiveConfigSet(ro);
+			LOGGER.error("Fail to sync active SDO.ConfigurationSet: rtc={}", ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
@@ -1713,6 +1772,7 @@
 	}
 
 	public static void synchronizeRemote_RTCRTObjects(RTC.RTObject ro) {
+		// LOGGER.debug("synchronizeRemote_RTCRTObjects: ro={}", ro);
 		List<RTC.RTObject> list = CorbaObjectStore.eINSTANCE
 				.getCompositeMemberList(ro);
 		try {
@@ -1733,6 +1793,8 @@
 			}
 		} catch (Exception e) {
 			CorbaObjectStore.eINSTANCE.removeCompositeMemberList(ro);
+			LOGGER.error("Fail to sync RTC members: rtc={}", ro);
+			LOGGER.error("ERROR:", e);
 		}
 	}
 
@@ -1848,7 +1910,7 @@
 					@SuppressWarnings("unchecked")
 					@Override
 					public List getOldRemoteLinkList(LocalObject localObject) {
-						List<org.omg.CORBA.Object> result = new ArrayList<org.omg.CORBA.Object>();
+						List<org.omg.CORBA.Object> result = new ArrayList<>();
 						CorbaComponent component = (CorbaComponent) localObject;
 						for (Object obj : component.getExecutionContexts()) {
 							CorbaExecutionContext ec = (CorbaExecutionContext) obj;
@@ -1863,6 +1925,19 @@
 					public void postSynchronizeLocal(LocalObject localObject) {
 						CorbaComponent component = (CorbaComponent) localObject;
 						component.getExecutionContextHandler().sync();
+						//
+						CorbaExecutionContext cec = (CorbaExecutionContext) component
+								.getPrimaryExecutionContext();
+						if (cec == null
+								|| !component.getExecutionContexts().contains(
+										cec)) {
+							// プライマリEC が未設定/無効な場合は1つ目の ECを割り当てる
+							component.setPrimaryExecutionContext(component
+									.getExecutionContexts().get(0));
+							LOGGER.info(
+									"postSynchronizeLocal: set primary ec={}",
+									component.getPrimaryExecutionContext());
+						}
 					}
 				},
 				new ManyReferenceMapping(ComponentPackage.eINSTANCE
@@ -1891,7 +1966,9 @@
 					@Override
 					public void postSynchronizeLocal(LocalObject localObject) {
 						CorbaComponent component = (CorbaComponent) localObject;
+						LOGGER.info("postSynchronizeLocal:[part] before sync: {}", component.getParticipationContexts());
 						component.getParticipationContextHandler().sync();
+						LOGGER.info("postSynchronizeLocal:[part] after  sync: {}", component.getParticipationContexts());
 					}
 				},
 				new ManyReferenceMapping(ComponentPackage.eINSTANCE

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaExecutionContextImpl.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaExecutionContextImpl.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/CorbaExecutionContextImpl.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -6,8 +6,12 @@
  */
 package jp.go.aist.rtm.toolscommon.model.component.impl;
 
-import RTC.ExecutionContextProfile;
+import static jp.go.aist.rtm.toolscommon.model.component.impl.CorbaComponentImpl.synchronizeRemote_EC_ComponentState;
+import static jp.go.aist.rtm.toolscommon.util.RTMixin.eql;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import jp.go.aist.rtm.toolscommon.model.component.Component;
 import jp.go.aist.rtm.toolscommon.model.component.ComponentFactory;
 import jp.go.aist.rtm.toolscommon.model.component.ComponentPackage;
@@ -16,27 +20,23 @@
 import jp.go.aist.rtm.toolscommon.model.component.ExecutionContext;
 import jp.go.aist.rtm.toolscommon.model.component.util.CorbaObjectStore;
 import jp.go.aist.rtm.toolscommon.model.component.util.CorbaPropertyMap;
-
 import jp.go.aist.rtm.toolscommon.model.core.CorbaWrapperObject;
 import jp.go.aist.rtm.toolscommon.model.core.CorePackage;
 import jp.go.aist.rtm.toolscommon.synchronizationframework.LocalObject;
+import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.AttributeMapping;
 import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.ClassMapping;
 import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.ConstructorParamMapping;
 import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.MappingRule;
-import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.AttributeMapping;
 import jp.go.aist.rtm.toolscommon.synchronizationframework.mapping.ReferenceMapping;
 
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.common.util.EList;
-
 import org.eclipse.emf.ecore.EClass;
-
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 
+import RTC.ExecutionContextProfile;
 import _SDOPackage.NameValue;
 
-import static jp.go.aist.rtm.toolscommon.util.RTMixin.*;
-
 /**
  * <!-- begin-user-doc -->
  * An implementation of the model object '<em><b>Corba Execution Context</b></em>'.
@@ -92,18 +92,6 @@
 	 */
 	protected ExecutionContextProfile rtcExecutionContextProfile = RTC_EXECUTION_CONTEXT_PROFILE_EDEFAULT;
 
-	public static int RTC_STATUS(RTC.LifeCycleState state) {
-		if (state == null) {
-			return RTC_UNKNOWN;
-		}
-		if (state == RTC.LifeCycleState.ACTIVE_STATE
-				|| state == RTC.LifeCycleState.INACTIVE_STATE
-				|| state == RTC.LifeCycleState.ERROR_STATE) {
-			return state.value();
-		}
-		return RTC_UNKNOWN;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -233,7 +221,8 @@
 	public int activateR(Component comp) {
 		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
 		RTC.ReturnCode_t ret = getCorbaObjectInterface().activate_component(ro);
-		getComponentStateR(comp);
+		//
+		synchronizeRemote_EC_ComponentState(ro, getCorbaObjectInterface());
 		return ret.value();
 	}
 
@@ -246,7 +235,8 @@
 	public int deactivateR(Component comp) {
 		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
 		RTC.ReturnCode_t ret = getCorbaObjectInterface().deactivate_component(ro);
-		getComponentStateR(comp);
+		//
+		synchronizeRemote_EC_ComponentState(ro, getCorbaObjectInterface());
 		return ret.value();
 	}
 
@@ -259,25 +249,30 @@
 	public int resetR(Component comp) {
 		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
 		RTC.ReturnCode_t ret = getCorbaObjectInterface().reset_component(ro);
-		getComponentStateR(comp);
+		//
+		synchronizeRemote_EC_ComponentState(ro, getCorbaObjectInterface());
 		return ret.value();
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	@Override
-	public int getComponentStateR(Component comp) {
+	private Map<RTC.RTObject, Integer> componentStateMap = new HashMap<>();
+
+	// コンポーネント状態の設定(仮)
+	void setComponentState(Component comp, Integer state) {
+		if (comp == null || !(comp instanceof CorbaComponent)) {
+			return;
+		}
 		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
-		RTC.ExecutionContext ec = getCorbaObjectInterface();
-		RTC.LifeCycleState state = ec.get_component_state(ro);
-		int stateValue = CorbaObjectStore.eINSTANCE.registComponentState(ec,
-				ro, RTC_STATUS(state));
-		return stateValue;
+		Integer oldState = this.componentStateMap.get(ro);
+		if (!eql(oldState, state)) {
+			this.componentStateMap.put(ro, state);
+			if (eNotificationRequired()) {
+				eNotify(new ENotificationImpl(this, Notification.SET,
+						ComponentPackage.EXECUTION_CONTEXT__STATE_L, oldState,
+						state));
+			}
+		}
 	}
-
+	
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -285,9 +280,11 @@
 	 */
 	@Override
 	public int getComponentState(Component comp) {
+		if (comp == null || !(comp instanceof CorbaComponent)) {
+			return ExecutionContext.RTC_UNKNOWN;
+		}
 		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
-		RTC.ExecutionContext ec = getCorbaObjectInterface();
-		Integer state = CorbaObjectStore.eINSTANCE.findComponentState(ec, ro);
+		Integer state = this.componentStateMap.get(ro);
 		if (state == null) {
 			return ExecutionContext.RTC_UNKNOWN;
 		}
@@ -300,28 +297,8 @@
 	 * @generated NOT
 	 */
 	@Override
-	public void setComponentState(Component comp, int state) {
-		RTC.RTObject ro = ((CorbaComponent) comp).getCorbaObjectInterface();
-		RTC.ExecutionContext ec = getCorbaObjectInterface();
-		CorbaObjectStore.eINSTANCE.registComponentState(ec, ro, state);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	@Override
 	public String getComponentStateName(Component comp) {
-		int state = getComponentState(comp);
-		if (state == RTC.LifeCycleState.ACTIVE_STATE.value()) {
-			return "ACTIVE";
-		} else if (state == RTC.LifeCycleState.INACTIVE_STATE.value()) {
-			return "INACTIVE";
-		} else if (state == RTC.LifeCycleState.ERROR_STATE.value()) {
-			return "ERROR";
-		}
-		return "UNKNOWN";
+		return RTC_STATUS_LABEL(getComponentState(comp));
 	}
 
 	@Override
@@ -346,10 +323,12 @@
 				|| rtcExecutionContextProfile.participants == null) {
 			return participants;
 		}
-		participants.clear();
-		for (RTC.RTObject ro : rtcExecutionContextProfile.participants) {
-			CorbaComponent c = toCorbaComponent(ro);
-			participants.add(c);
+		if (participants.size() != rtcExecutionContextProfile.participants.length) {
+			participants.clear();
+			for (RTC.RTObject ro : rtcExecutionContextProfile.participants) {
+				CorbaComponent c = toCorbaComponent(ro);
+				participants.add(c);
+			}
 		}
 		return participants;
 	}
@@ -593,6 +572,17 @@
 							if (state != null && cec.getStateL() != state) {
 								cec.setStateL(state);
 							}
+							//
+							Component owner = cec.getOwner();
+							if (owner != null
+									&& owner instanceof CorbaComponent) {
+								RTC.RTObject ro = ((CorbaComponent) owner)
+										.getCorbaObjectInterface();
+								Integer compState = CorbaObjectStore.eINSTANCE
+										.findComponentState(ec, ro);
+								((CorbaExecutionContextImpl) cec)
+										.setComponentState(owner, compState);
+							}
 						}
 					}, }, new ReferenceMapping[] {});
 

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ExecutionContextImpl.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ExecutionContextImpl.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/impl/ExecutionContextImpl.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -7,14 +7,13 @@
 package jp.go.aist.rtm.toolscommon.model.component.impl;
 
 import java.util.Collection;
+
 import jp.go.aist.rtm.toolscommon.model.component.Component;
 import jp.go.aist.rtm.toolscommon.model.component.ComponentPackage;
 import jp.go.aist.rtm.toolscommon.model.component.ExecutionContext;
-
 import jp.go.aist.rtm.toolscommon.model.component.IPropertyMap;
 import jp.go.aist.rtm.toolscommon.model.component.util.PropertyMap;
 import jp.go.aist.rtm.toolscommon.model.core.impl.WrapperObjectImpl;
-
 import jp.go.aist.rtm.toolscommon.ui.propertysource.ExecutionContextPropertySource;
 
 import org.eclipse.emf.common.notify.Notification;
@@ -43,6 +42,54 @@
  */
 public class ExecutionContextImpl extends WrapperObjectImpl implements
 		ExecutionContext {
+
+	/** RTC.LifeCycleStateを内部値へ変換します。 */
+	public static int RTC_STATUS(RTC.LifeCycleState state) {
+		if (state == null) {
+			return RTC_UNKNOWN;
+		}
+		if (state == RTC.LifeCycleState.ACTIVE_STATE
+				|| state == RTC.LifeCycleState.INACTIVE_STATE
+				|| state == RTC.LifeCycleState.ERROR_STATE) {
+			return state.value();
+		}
+		return RTC_UNKNOWN;
+	}
+
+	/** EC種別をラベルへ変換します。 */
+	public static String EC_KIND_LABEL(int kind) {
+		if (kind == KIND_PERIODIC) {
+			return "PERIODIC";
+		} else if (kind == KIND_EVENT_DRIVEN) {
+			return "EVENT_DRIVEN";
+		} else if (kind == KIND_OTHER) {
+			return "OTHER";
+		}
+		return "UNKNOWN";
+	}
+
+	/** EC状態をラベルへ変換します。 */
+	public static String EC_STATUS_LABEL(int state) {
+		if (state == STATE_STOPPED) {
+			return "STOPPED";
+		} else if (state == STATE_RUNNING) {
+			return "RUNNING";
+		}
+		return "UNKNOWN";
+	}
+
+	/** コンポーネント状態をラベルへ変換します。 */
+	public static String RTC_STATUS_LABEL(int state) {
+		if (state == RTC_ACTIVE) {
+			return "ACTIVE";
+		} else if (state == RTC_INACTIVE) {
+			return "INACTIVE";
+		} else if (state == RTC_ERROR) {
+			return "ERROR";
+		}
+		return "UNKNOWN";
+	}
+
 	/**
 	 * The default value of the '{@link #getKindL() <em>Kind L</em>}' attribute.
 	 * <!-- begin-user-doc -->
@@ -272,16 +319,18 @@
 	 * <!-- end-user-doc -->
 	 * @generated NOT
 	 */
-	public String getKindName() {
-		if (kindL == KIND_PERIODIC) {
-			return "PERIODIC";
-		} else if (kindL == KIND_EVENT_DRIVEN) {
-			return "EVENT_DRIVEN";
-		} else if (kindL == KIND_OTHER) {
-			return "OTHER";
-		} else {
-			return "UNKNOWN";
+	public String getId() {
+		Component comp = (Component) eContainer();
+		if (comp != null) {
+			String id = comp.getExecutionContextHandler().getId(this);
+			if (id == null) {
+				id = comp.getParticipationContextHandler().getId(this);
+			}
+			if (id != null) {
+				return id;
+			}
 		}
+		return "";
 	}
 
 	/**
@@ -289,14 +338,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated NOT
 	 */
+	public String getKindName() {
+		return EC_KIND_LABEL(this.kindL);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
 	public String getStateName() {
-		if (stateL == STATE_STOPPED) {
-			return "STOPPED";
-		} else if (stateL == STATE_RUNNING) {
-			return "RUNNING";
-		} else {
-			return "UNKNOWN";
-		}
+		return EC_STATUS_LABEL(this.stateL);
 	}
 
 	/**

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/util/CorbaObjectStore.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/util/CorbaObjectStore.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component/util/CorbaObjectStore.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -1,12 +1,12 @@
 package jp.go.aist.rtm.toolscommon.model.component.util;
 
+import static jp.go.aist.rtm.toolscommon.util.RTMixin.eql;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static jp.go.aist.rtm.toolscommon.util.RTMixin.*;
-
 public class CorbaObjectStore {
 
 	public static CorbaObjectStore eINSTANCE = new CorbaObjectStore();
@@ -19,6 +19,8 @@
 	Map<RTC.RTObject, RTC.ExecutionContext[]> eOwnedContextCache;
 	// RTC.RTObj => RTC.EC(participating)[]
 	Map<RTC.RTObject, RTC.ExecutionContext[]> eParticipatingContextCache;
+	// RTC.RTObj => RTC.EC
+	Map<RTC.RTObject, RTC.ExecutionContext> ePrimaryContextCache;
 	// RTC.RTObj => SDO.ConfigurationSet[]
 	Map<RTC.RTObject, _SDOPackage.ConfigurationSet[]> configSetCache;
 	// RTC.RTObj => SDO.ConfigurationSet(active)
@@ -32,6 +34,8 @@
 	Map<RTC.ExecutionContext, Integer> eContextStateCache;
 	// RTC.EC => { RTC.RTObj => State }
 	Map<RTC.ExecutionContext, Map<RTC.RTObject, Integer>> eContextCompStateMap;
+	// RTC.EC => RTC.RTObj
+	Map<RTC.ExecutionContext, RTC.RTObject> eContextOwnerCache;
 
 	public CorbaObjectStore() {
 		//
@@ -39,6 +43,7 @@
 		this.eContextIdMap = new HashMap<RTC.RTObject, Map<String, RTC.ExecutionContext>>();
 		this.eOwnedContextCache = new HashMap<RTC.RTObject, RTC.ExecutionContext[]>();
 		this.eParticipatingContextCache = new HashMap<RTC.RTObject, RTC.ExecutionContext[]>();
+		this.ePrimaryContextCache = new HashMap<>();
 		this.configSetCache = new HashMap<RTC.RTObject, _SDOPackage.ConfigurationSet[]>();
 		this.activeConfigSetCache = new HashMap<RTC.RTObject, _SDOPackage.ConfigurationSet>();
 		this.compositeMemberList = new HashMap<RTC.RTObject, List<RTC.RTObject>>();
@@ -46,6 +51,7 @@
 		this.eContextProfileCache = new HashMap<RTC.ExecutionContext, RTC.ExecutionContextProfile>();
 		this.eContextStateCache = new HashMap<RTC.ExecutionContext, Integer>();
 		this.eContextCompStateMap = new HashMap<RTC.ExecutionContext, Map<RTC.RTObject, Integer>>();
+		this.eContextOwnerCache = new HashMap<>();
 	}
 
 	/**
@@ -166,10 +172,22 @@
 	}
 
 	/**
+	 * RTC.ExecutionContextをキーに RTC.RTObject(owner)を検索します。
+	 */
+	public RTC.RTObject findContextOwner(RTC.ExecutionContext ec) {
+		return eContextOwnerCache.get(ec);
+	}
+
+	/**
 	 * RTC.RTObjectをキーに RTC.ExecutionContextの一覧(owned)を保存します。
 	 */
 	public synchronized RTC.ExecutionContext[] registOwnedContexts(
 			RTC.RTObject ro, RTC.ExecutionContext[] ec) {
+		if (ec != null) {
+			for (RTC.ExecutionContext re : ec) {
+				this.eContextOwnerCache.put(re, ro);
+			}
+		}
 		return eOwnedContextCache.put(ro, ec);
 	}
 
@@ -178,7 +196,13 @@
 	 */
 	public synchronized RTC.ExecutionContext[] removeOwnedContexts(
 			RTC.RTObject ro) {
-		return eOwnedContextCache.remove(ro);
+		RTC.ExecutionContext[] removed = eOwnedContextCache.remove(ro);
+		if (removed != null) {
+			for (RTC.ExecutionContext ec : removed) {
+				this.eContextOwnerCache.remove(ec);
+			}
+		}
+		return removed;
 	}
 
 	/**
@@ -205,6 +229,29 @@
 	}
 
 	/**
+	 * RTC.RTObjectをキーにプライマリ RTC.ExecutionContextを検索します。
+	 */
+	public RTC.ExecutionContext findPrimaryContext(RTC.RTObject ro) {
+		return ePrimaryContextCache.get(ro);
+	}
+
+	/**
+	 * RTC.RTObjectをキーにプライマリ RTC.ExecutionContextを保存します。
+	 */
+	public synchronized RTC.ExecutionContext registPrimaryContext(
+			RTC.RTObject ro, RTC.ExecutionContext ec) {
+		return ePrimaryContextCache.put(ro, ec);
+	}
+
+	/**
+	 * RTC.RTObjectをキーにプライマリ RTC.ExecutionContextを削除します。
+	 */
+	public synchronized RTC.ExecutionContext removePrimaryContext(
+			RTC.RTObject ro) {
+		return ePrimaryContextCache.remove(ro);
+	}
+
+	/**
 	 * RTC.RTObjectをキーに SDO.ConfigurationSetの一覧を検索します。
 	 */
 	public _SDOPackage.ConfigurationSet[] findConfigSet(RTC.RTObject ro) {

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component.ecore
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component.ecore	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/model/component.ecore	2018-03-09 06:39:54 UTC (rev 812)
@@ -64,6 +64,8 @@
         eType="#//ServicePort" changeable="false" volatile="true" transient="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1"
         eType="#//Component"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="primaryExecutionContext"
+        eType="#//ExecutionContext" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="executionContexts" upperBound="-1"
         eType="#//ExecutionContext" containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="participationContexts"
@@ -93,6 +95,13 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="required" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
         defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="startUp" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="shutDown" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="activation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deActivation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="resetting" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="initialize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="finalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ComponentSpecification" eSuperTypes="#//Component">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="aliasName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -101,6 +110,7 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rtcType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExecutionContext" eSuperTypes="core.ecore#//WrapperObject #//IPropertyMap">
+    <eOperations name="getId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eOperations name="getKindName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eOperations name="getStateName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eOperations name="setRateR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
@@ -301,13 +311,22 @@
     <eOperations name="resetR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
     <eOperations name="finalizeR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
     <eOperations name="exitR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eOperations name="getExecutionContextState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eOperations name="getExecutionContextState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+      <eParameters name="ec" eType="#//ExecutionContext"/>
+    </eOperations>
+    <eOperations name="getExecutionContextStateName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eOperations name="getExecutionContextStateName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eParameters name="ec" eType="#//ExecutionContext"/>
+    </eOperations>
+    <eOperations name="getComponentState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eOperations name="getComponentStateName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eOperations name="getCorbaObjectInterface" eType="#//RTCRTObject"/>
     <eOperations name="supportedCorbaObserver" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionContextState"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true"
-        defaultValueLiteral="0"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="componentState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
-        transient="true" defaultValueLiteral="1"/>
+    <eOperations name="activateAll"/>
+    <eOperations name="deactivateAll"/>
+    <eOperations name="startAll"/>
+    <eOperations name="stopAll"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rTCComponentProfile" eType="#//RTCComponentProfile"
         transient="true"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="rTCExecutionContexts" upperBound="-1"
@@ -347,16 +366,9 @@
     <eOperations name="resetR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
       <eParameters name="comp" eType="#//Component"/>
     </eOperations>
-    <eOperations name="getComponentStateR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
-      <eParameters name="comp" eType="#//Component"/>
-    </eOperations>
     <eOperations name="getComponentState" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
       <eParameters name="comp" eType="#//Component"/>
     </eOperations>
-    <eOperations name="setComponentState">
-      <eParameters name="comp" eType="#//Component"/>
-      <eParameters name="state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    </eOperations>
     <eOperations name="getComponentStateName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eParameters name="comp" eType="#//Component"/>
     </eOperations>

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/ui/propertysource/ComponentPropertySource.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/ui/propertysource/ComponentPropertySource.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/ui/propertysource/ComponentPropertySource.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -5,7 +5,6 @@
 
 import jp.go.aist.rtm.toolscommon.model.component.Component;
 import jp.go.aist.rtm.toolscommon.model.component.CorbaComponent;
-import jp.go.aist.rtm.toolscommon.model.component.ExecutionContext;
 import jp.go.aist.rtm.toolscommon.nl.Messages;
 
 import org.eclipse.ui.views.properties.IPropertyDescriptor;
@@ -93,17 +92,7 @@
 			} else if (Component.STATE.equals(id)) {
 				if (component instanceof CorbaComponent) {
 					CorbaComponent c = (CorbaComponent) component;
-					if (c.getComponentState() == ExecutionContext.RTC_UNKNOWN) {
-						return STATE_UNKNOWN_VIEWSTRING;
-					} else if (c.getComponentState() == ExecutionContext.RTC_CREATED) {
-						return STATE_CREATED_VIEWSTRING;
-					} else if (c.getComponentState() == ExecutionContext.RTC_INACTIVE) {
-						return STATE_INACTIVE_VIEWSTRING;
-					} else if (c.getComponentState() == ExecutionContext.RTC_ACTIVE) {
-						return STATE_ACTIVE_VIEWSTRING;
-					} else if (c.getComponentState() == ExecutionContext.RTC_ERROR) {
-						return STATE_ERROR_VIEWSTRING;
-					}
+					return c.getComponentStateName();
 				}
 			}
 		} catch (Exception e) {

Modified: trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/util/RtsProfileHandler.java
===================================================================
--- trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/util/RtsProfileHandler.java	2018-03-08 08:14:45 UTC (rev 811)
+++ trunk/rtmtools/jp.go.aist.rtm.toolscommon/src/jp/go/aist/rtm/toolscommon/util/RtsProfileHandler.java	2018-03-09 06:39:54 UTC (rev 812)
@@ -37,6 +37,17 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.eclipse.emf.common.util.EList;
+import org.openrtp.namespaces.rts.version02.Activation;
+import org.openrtp.namespaces.rts.version02.Condition;
+import org.openrtp.namespaces.rts.version02.Deactivation;
+import org.openrtp.namespaces.rts.version02.Finalize;
+import org.openrtp.namespaces.rts.version02.Initialize;
+import org.openrtp.namespaces.rts.version02.MessageSending;
+import org.openrtp.namespaces.rts.version02.Resetting;
+import org.openrtp.namespaces.rts.version02.Shutdown;
+import org.openrtp.namespaces.rts.version02.Startup;
+import org.openrtp.namespaces.rts.version02.TargetComponent;
+import org.openrtp.namespaces.rts.version02.TargetComponentExt;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -313,6 +324,15 @@
 			SystemDiagram eDiagram,
 			org.openrtp.namespaces.rts.version02.RtsProfileExt rtsProfile) {
 		List<org.openrtp.namespaces.rts.version02.Component> components = rtsProfile.getComponents();
+		/////
+		org.openrtp.namespaces.rts.version02.Startup startUp = factory.createStartup();
+		org.openrtp.namespaces.rts.version02.Shutdown shutDown = factory.createShutdown();
+		org.openrtp.namespaces.rts.version02.Activation activation = factory.createActivation();
+		org.openrtp.namespaces.rts.version02.Deactivation deActivation = factory.createDeactivation();
+		org.openrtp.namespaces.rts.version02.Resetting resetting = factory.createResetting();
+		org.openrtp.namespaces.rts.version02.Initialize initialize = factory.createInitialize();
+		org.openrtp.namespaces.rts.version02.Finalize finalize = factory.createFinalize();
+		/////
 		for (Component eComp : eDiagram.getRegisteredComponents()) {
 			org.openrtp.namespaces.rts.version02.ComponentExt target = factory.createComponentExt();
 			target.setId(eComp.getComponentId());
@@ -320,7 +340,29 @@
 			target.setInstanceName(eComp.getInstanceNameL());
 			target.setCompositeType(eComp.getCompositeTypeL());
 			target.setIsRequired(eComp.isRequired());
-
+			/////
+			if( eComp.getStartUp() !=null && 0 < eComp.getStartUp().length() ) {
+				startUp.getTargets().add(createTargets(target, eComp.getStartUp()));
+			}
+			if( eComp.getShutDown() !=null && 0 < eComp.getShutDown().length() ) {
+				shutDown.getTargets().add(createTargets(target, eComp.getShutDown()));
+			}
+			if( eComp.getActivation() != null && 0 < eComp.getActivation().length() ) {
+				activation.getTargets().add(createTargets(target, eComp.getActivation()));
+			}
+			if( eComp.getDeActivation() != null && 0 < eComp.getDeActivation().length() ) {
+				deActivation.getTargets().add(createTargets(target, eComp.getDeActivation()));
+			}
+			if( eComp.getResetting() != null && 0 < eComp.getResetting().length() ) {
+				resetting.getTargets().add(createTargets(target, eComp.getResetting()));
+			}
+			if( eComp.getInitialize() != null && 0 < eComp.getInitialize().length() ) {
+				initialize.getTargets().add(createTargets(target, eComp.getInitialize()));
+			}
+			if( eComp.getFinalize() != null && 0 < eComp.getFinalize().length() ) {
+				finalize.getTargets().add(createTargets(target, eComp.getFinalize()));
+			}
+			/////
 			org.openrtp.namespaces.rts.version02.Component original = findOriginalComponent(eComp);
 
 			populateExecutionContext(eComp, target, original);			
@@ -333,8 +375,43 @@
 			populateFromProfileOnly(target, original);
 			components.add(target);
 		}
+		//
+		if( 0 < startUp.getTargets().size() ) {
+			rtsProfile.setStartUp(startUp);
+		}
+		if( 0 < shutDown.getTargets().size()) {
+			rtsProfile.setShutDown(shutDown);
+		}
+		if( 0 < activation.getTargets().size() ) {
+			rtsProfile.setActivation(activation);
+		}
+		if( 0 < deActivation.getTargets().size() ) {
+			rtsProfile.setDeactivation(deActivation);
+		}
+		if( 0 < resetting.getTargets().size() ) {
+			rtsProfile.setResetting(resetting);
+		}
+		if( 0 < initialize.getTargets().size() ) {
+			rtsProfile.setInitializing(initialize);
+		}
+		if( 0 < finalize.getTargets().size() ) {
+			rtsProfile.setFinalizing(finalize);
+		}
 	}
 
+	private org.openrtp.namespaces.rts.version02.Condition createTargets(
+			org.openrtp.namespaces.rts.version02.ComponentExt target, String strSeq) {
+		org.openrtp.namespaces.rts.version02.TargetExecutioncontext targetComp = factory.createTargetExecutioncontext();
+		targetComp.setComponentId(target.getId());
+		targetComp.setInstanceName(target.getInstanceName());
+		//
+		org.openrtp.namespaces.rts.version02.Condition targetCond = factory.createCondition();
+		targetCond.setSequence(BigInteger.valueOf(Integer.parseInt(strSeq)));
+		targetCond.setTargetComponent(targetComp);
+		return targetCond;
+		
+	}
+
 	// Save時にシステムダイアログ内に含まれるデータポートとそれらの接続をRTSプロファイル内にセットする
 	// Save時にダイアグラム内に含まれるサービスポート(とその接続)の情報をRTSプロファイル内にセットする
 	private void populatePorts(
@@ -802,13 +879,6 @@
 		if (originalProfile == null) return;
 		target.setAbstract(originalProfile.getAbstract());
 		target.getGroups().addAll(originalProfile.getGroups());
-		target.setStartUp(originalProfile.getStartUp());
-		target.setShutDown(originalProfile.getShutDown());
-		target.setActivation(originalProfile.getActivation());
-		target.setDeactivation(originalProfile.getDeactivation());
-		target.setResetting(originalProfile.getResetting());
-		target.setInitializing(originalProfile.getInitializing());
-		target.setFinalizing(originalProfile.getFinalizing());
 		target.setComment(originalProfile.getComment());
 		target.getVersionUpLogs().addAll(originalProfile.getVersionUpLogs());
 	}
@@ -924,6 +994,15 @@
 			}
 			eComps.add(eComp);
 		}
+		//
+		populateOrder(eComps, profile.getStartUp());
+		populateOrder(eComps, profile.getShutDown());
+		populateOrder(eComps, profile.getActivation());
+		populateOrder(eComps, profile.getDeactivation());
+		populateOrder(eComps, profile.getResetting());
+		populateOrder(eComps, profile.getInitializing());
+		populateOrder(eComps, profile.getFinalizing());
+		//
 		for (Component eComp : eComps) {
 			if (isShown(eComp, eComps, profile.getComponents()))
 				target.add(eComp);
@@ -930,6 +1009,43 @@
 		}
 	}
 
+	private void populateOrder(List<Component> eComps, MessageSending ordering) {
+		if(ordering == null || ordering.getTargets().size()==0 ) return;
+		for(Condition targetCond : ordering.getTargets() ) {
+			TargetComponent targetComp = targetCond.getTargetComponent();
+			if(targetComp == null ) continue;
+			String id = targetComp.getComponentId();
+			String instName = targetComp.getInstanceName();
+			Component comp = getTargetComp(id, instName, eComps);
+			if(comp != null) {
+				if(ordering instanceof Startup) {
+					comp.setStartUp(targetCond.getSequence().toString());
+				} else if(ordering instanceof Shutdown) {
+					comp.setShutDown(targetCond.getSequence().toString());
+				} else if(ordering instanceof Activation) {
+					comp.setActivation(targetCond.getSequence().toString());
+				} else if(ordering instanceof Deactivation) {
+					comp.setDeActivation(targetCond.getSequence().toString());
+				} else if(ordering instanceof Resetting) {
+					comp.setResetting(targetCond.getSequence().toString());
+				} else if(ordering instanceof Initialize) {
+					comp.setInitialize(targetCond.getSequence().toString());
+				} else if(ordering instanceof Finalize) {
+					comp.setFinalize(targetCond.getSequence().toString());
+				}
+			}
+		}
+	}
+	
+	private Component getTargetComp(String id, String instName, List<Component> compList) {
+		for(Component target : compList) {
+			if(target.getComponentId().equals(id) && target.getInstanceNameL().equals(instName)) {
+				return target;
+			}
+		}
+		return null;
+	}
+
 	void populateDataPortProperty(
 			Port ePort,
 			List<org.openrtp.namespaces.rts.version02.Dataport> ports) {



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